智慧校园框架下的智能宿舍管理产品设计与实现
2018-08-15盛雪丰
盛 雪 丰
(苏州信息职业技术学院 江苏 吴江 215200)
0 引 言
在智慧校园建设的大背景下,智能化的宿舍管理不仅能够在一定程度上预防突发事故的发生,同时也能节省大量的人力和物力。
在宿舍生活中,我们经常会遇到各种各样的困扰。例如当我们在使用大功率电器时,突然出现跳闸的情况,对其他电器会产生一定的伤害。如果此时有智能语音的提醒,我们将免除突然断电的烦恼。再比如睡觉时,忘记关掉风扇/空调的电源,睡醒后,才发现它们还在辛勤地工作。这不仅会引起我们身体的不适,也是一种对能源的极大浪费。同样,宿舍的安全问题也需要被重视。如果我们能通过烟雾探测器对火灾或突发事件信息进行捕捉并提醒,将极大地方便我们的生活。智能宿舍管理产品设计的初衷就是希望能够用手机等移动终端对宿舍的用电、照明、空调等进行管理。
1 智能宿舍管理产品需求分析
智能化的宿舍管理产品主要能够实现对宿舍用电的管理、照明的管理、空调的管理以及消防安全管理等。所谓的智能化就是通过相应的传感器对外界环境变化的参数进行采集,再进行判断。同时采用无线通讯技术,实现移动化控制。从而把整个智能宿舍终端和移动终端紧密联系起来,实时进行数据交互。
在功能设计上,智能化的宿舍管理终端可通过手机APP对所有设备进行管理,同时还提供不同的“场景模式”:自动模式、手动模式,方便用户进行管理。在具体用电管理、照明管理、空调管理以及消防安全等方面上的功能设计如表1-表4所示。
表1 用电管理
表2 照明管理
表3 空调管理
表4 消防安全管理
2 智能宿舍管理产品原型设计
如图1所示,智能宿舍管理产品包括宿舍管理终端和移动控制端,主要分为四层结构,包括传感器层、主控层、执行器层、移动控制终端层。移动控制端为上位机软件+移动终端,WiFi模块负责宿舍管理终端和移动控制端之间的无线通信。
图1 系统架构图
传感器层由光照传感器、温湿度传感器、烟雾探测器和智能插座组成。光照传感器负责探测室内光照强度,温湿度传感器负责探测室内温湿度数据,烟雾探测器负责探测室内险情,智能插座探测当前电器用电功率,各个传感器将探测到的数据实时传送给主控层。
主控层由AVR核心板和接口扩展板组成,负责分析和处理传感器上传的数据,同时接收上位机APP的指令,并下发控制指令控制执行器动作。
执行器层由RGB灯条、开关继电器和5 V直流风扇组成,负责执行AVR核心板的控制指令,达到反馈、响应的目的。RGB灯条模拟宿舍日光灯,5 V直流风扇模拟空调,开关继电器作为控制开关,外接风扇和智能电表,模拟宿舍电源控制和宿舍空调控制。
移动控制终端层由上位机软件(APP)和智能手机组成,上位机软件将收到的消息解析判定是否报警,智能手机提供上位机软件运行环境。
3 智能宿舍管理产品软件设计
本产品还涉及到上位机的APP开发。主控层通过各个传感器定时采集当前环境参数,解析判断后,将环境数据通过WiFi模块无线传输到手机端。手机端接收后显示数据,按预设模式发出控制指令,或手动发出控制指令。APP设计的主要功能是通过UI界面实现各类传感器数据的显示,以及向主控层发出控制指令。传感器数据采集处理程序运行流程及主程序运行流程如图2、图3所示。
图3 主程序运行流程
4 智能宿舍管理产品通信协议设计
智能宿舍管理终端和移动终端上位机APP采用TCP通信协议,通过WiFi进行无线通信。手机APP为Tcp_Client,宿舍管理终端为Tcp_Server。
(1) 宿舍管理终端TCP设置,如表5所示。
表5 宿舍管理终端TCP设置参数
(2) 数据交互协议。
① 上位机APP向宿舍管理终端发出的控制指令格式如表6所示。
表6 上位机APP向宿舍管理终端发出的控制指令格式
指令字段示例如表7所示。
表7 上位机APP向宿舍管理终端发出的控制指令示例
② 宿舍管理终端消息上报指令格式如表8所示。
表8 宿舍管理终端向上位机APP上报消息的指令格式
指令字段示例如表9所示。
表9 宿舍管理终端向上位机APP上报消息的指令示例
(3) 指令调试示例。
① 开关照明灯:
开:01 01 01 FF FF
关:01 01 02 FF FF
② 开关空调:
开:01 02 01 FF FF
关:01 02 02 FF FF
③ 温湿度传感器:
设置阈值:01 03 00 xx xx
//响应:无
读取当前温湿度值:01 03 03 FF FF
//响应:02 03 03 xx xx
④ 总功率:
设置阈值:01 04 00 xx xx
//响应:无
读取当前总功率:01 04 03 FF FF
//响应:02 04 03 xx xx
总功率报警:02 04 02 00 00
总功率恢复正常:02 04 01 00 00
⑤ 烟雾传感器:
烟雾传感器报警:02 05 02 00 00
烟雾传感器恢复正常:02 05 01 00 00
⑥ 光照强度传感器:
设置阈值:01 06 00 xx xx
//响应:无
读取强度值:01 06 03 FF FF
//响应:01 06 03 xx xx
⑦ 小风扇控制
开:01 07 01 FF FF
//响应:无
关:01 07 02 FF FF
//响应:无
5 智能宿舍管理产品核心代码设计
各个传感器定时采集当前环境参数,通过AVR核心板解析判断后,将环境数据通过WiFi模块无线传输至手机端,手机端接收后在UI界面上显示相应的数据。
String Buffer buffer=new StringBuffer(receiveInfoClient);
// 读取光照强度值并显示到控件
if (receiveInfoClient.startsWith(″020603″)) {
String lightStrength=buffer.substring(6, 10);
tvCurrent Light Strength.set Text(Integer.valueOf(lightStrength, 16) + ″″);
}
// 读取温湿度值并显示到控件
if (receiveInfoClient.startsWith(″020303″)) {
String temp=buffer.substring(6, 8);
String humid=buffer.substring(8, 10);
tvCurrentTemp.setText(Integer.valueOf(temp, 16) + ″″);
tvCurrentHumid.setText(Integer.valueOf(humid, 16) + ″″);
}
// 读取总功率值并显示到控件
if (receiveInfoClient.startsWith(″020403″)) {
String totalPower=buffer.substring(6, 10);
tvCurrentTotalPower.setText(Integer.valueOf(totalPower, 16)/ 10.0 + ″″);
}
// 读取开关状态并使控件联动显示
if (receiveInfoClient.startsWith(″0207″)) {
// 关灯状态
if (buffer.substring(4, 6).equals(″00″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_light));
tbLightOnOff.setText(″开光照灯″);
tbLightOnOff.setChecked(false);
}
// 开灯状态
if (buffer.substring(4, 6).equals(″01″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_light));
tbLightOnOff.setText(″关光照灯″);
tbLightOnOff.setChecked(true);
}
// 空调关
if (buffer.substring(6, 8).equals(″00″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_air));
tbAirOnoff.setText(″空调开″);
tbAirOnoff.setChecked(false);
}
// 空调开
if (buffer.substring(6, 8).equals(″01″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_air));
tbAirOnoff.setText(″空调关″);
tbAirOnoff.setChecked(true);
}
// 插座关
if (buffer.substring(8, 10).equals(″00″)) {
imgSocket.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.smartsocket_close));
tbSocketOnoff.setText(″插座开″);
tbSocketOnoff.setChecked(false);
}
// 插座开
if (buffer.substring(8, 10).equals(″01″)) {
imgSocket.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.smartsocket_open));
tbSocketOnoff.setText(″插座关″);
tbSocketOnoff.setChecked(true);
}
}
6 智能宿舍管理产品效果图
智能宿舍管理产品效果图如图4-图7所示。
图4 实时宿舍环境监测
图5 灯光、空调、智能插座控制
图6 用电超预设阈值报警提示
图7 自动模式下设定各个参数的阈值
7 智能宿舍管理产品测试
结合上位机端的手机APP和硬件底层固件,可测试各个模块的功能和质量。测试时硬件端给AVR烧录好产品固件程序,给智能手机安装好手机端软件,AVR核心板上电,手机端运行软件,然后按照表10所列项目进行测试并记录。
表10 功能测试方法和记录
续表10
续表10
8 结 语
本文通过选用光照传感器、温湿度传感器、智能插座、烟雾探测器等常见的传感器,结合AVR核心板以及WiFi无线通信模块,设计并实现了一款基于智慧校园框架下的智能化宿舍管理产品。产品中用RGB灯条代替日光灯,风扇代替空调,实现了用手机等移动终端对宿舍的用电、照明、空调等进行管理。该产品后期还可以在以下几个方面进行功能创新:(1) 通过人体感应实现照明灯的开启;(2) 通过声音实现对灯开关的控制;(3) 将智能灯和空气质量监测报警两种功能的结合。