设计一个智能家居模型
李敦勇 刘正云
智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术等将与家居生活有关的设施集成,构建高效的住宅設施与家庭日程事务的管理系统。
设计一个智能家居模型的学习课题源于学生对智能家居的好奇,智能家居作为一个新兴事物,其内部原理、技术实现等大家都不太了解。因此,本项目试图从门禁系统这一“小斑”的设计与实现去引导学生知“全豹”。该项目不仅可以帮助学生理解和应用所学的软硬件知识和技术,而且还渗透了物联网技术的运用,真正培养了学生自主探究学习的意识和能力。
● 门禁系统的工作原理
在设计门禁系统之前,首先得理清门禁系统的工作原理。门禁系统兼具传统与智能两种家居功能,简单来说它既可以通过手动开关来实现门的开关功能(传统的),也可以通过SIoT服务器平台来实现手机远程读取门的状态以及控制门的开关的功能(智能的)。门禁系统工作原理如图1所示。
● 门禁系统的硬件实现
本项目所需硬件清单如下表所示。
第一步:设计并使用废弃的纸板制作智能家具的外观模型。
第二步:将掌控板插在掌控板扩展板上,将三个按钮分别连在掌控板扩展板的P8、P13、P16针脚上,将舵机接在P1针脚,连接电源给本套装置供电。
第三步:在软件实现成功之后,将外观模型进行组装,并将掌控板+扩展板、电池盒、按钮和舵机等固定在房子内部。
● 门禁系统的软件实现
门禁系统的软件实现主要包含三个部分:一是MQTT服务器的架设,为后期消息的发送及订阅提供保障;二是掌控板端的程序编写,实现掌控板与SIoT平台的消息互通;三是手机APP的部署,完成手机的远程控制。
1.架设SIoT服务器
下载SIoT软件压缩包,解压后双击运行。在整个实验过程中服务器保持运行状态。从运行界面可知该服务器的IP地址为192.168.8.112。在手机部署阶段可通过访问该服务器的IP地址(如http://192.168.8.112:8080)实现消息的查阅及发送。
2.编写掌控板端程序
(1)编程实现单纯按钮控制门禁开关
根据门的位置及连接的方式,确定舵机安装方式。使用Mind+编程,实现P8针脚连接的按钮被按下时,舵机转动到10度,门打开;P16针脚连接的按钮被按下时,舵机转动90度,门关闭。
(2)编程实现SIoT平台控制门禁开关
在简单控制程序的基础上加入MQTT服务器的内容,使掌控板端通过无线,连接上之前一直打开着的SIoT平台,需要注意的是,程序中的Wi-Fi应与SIoT处于同一个局域网之内。
3.部署手机APP
通过访问http://app.gzjkw.net进行APP inventor的在线编程。
(1)组件设计
整个界面主要由1个标签(设置其文本为“读取状态……”)、2个按钮(开门、关门)、2个非可视组件Web客户端和计时器组成。
(2)逻辑设计
根据SIoT的WebAPI功能,首先,每隔1秒订阅一次最新消息。使用计时器指令实现访问SIoT服务器网址,并获得文本,将返回的数据存放在“响应内容”中。其次,通过对“响应内容”的处理,提取所需内容,进行逻辑判断,程序如图2所示。最后,编程实现APP通过“开门”“关门”按钮完成消息的发送,具体编程如图3所示。
● 拓展提升
完成硬件和代码后,就可以开始测试了:按下智能家居模型以及手机APP上的相应按钮,门可以实现打开、关闭功能;手机APP上也可以及时传回门禁系统的开闭状态。该模型利用SIoT物联网平台实现了远程控制,也让学生了解到了智能家居的基本原理及实现方法。
当然对于这个项目,个人觉得还可以作一些拓展:
第一,项目的SIoT物联网平台是建立在局域网内的,其实也可以建立在整个广域网中,那将实现跨网访问与交互,其应用领域也将会更广阔。
第二,手机端的控制是利用SIoT服务器的WebAPI功能,通过手机APP的Web客户端发起请求来实现手机的远程控制。除此之外,也可以利用计算机的网页端等其他多种方式来实现。
● 结语
设计智能家居模型是一个非常适合中小学的研究项目,其价值是将传统开关门方式与现代科技结合,通过动手造物的形式,让学生深入理解现代门禁系统可能的实现方法,进而对智能家居有深刻而又具体的认识。SIoT的出现与普及,让物联网平台的学习门槛越来越低,学生利用掌控板和MQTT协议,完全能够做出可以真正应用于生活中的智能装置,如将学校创客空间的某些设备改造为远程控制。