基于树莓皮的智能家居系统总体设计方案
作者: 来源: 2021-08-18 19:30:10
为什么树莓Pi智能家居系统现在如此频繁地进入大众的视野?因为树莓Pi智能家居系统的整体设计是结合了当今社会更加系统化、兼容化、智能化和可扩展的人机交互需求。
该方案采用树莓Pi作为中心网关,替代家庭无线宽带路由器配置路由功能,并提供Web服务器功能,即经过消息分析和协议转换后,直接传输到服务器进行软件显示,不需要额外的服务器,大大降低了设计成本。与单一系统相比,它最大限度地具备了多网络、多通信协议的功能。
1整体系统设计
该系统支持WiFi网络和ZigBee网络传输协议,使用树莓Pi代替家庭无线宽带路由器作为中心网关,将树莓Pi配置为外部网络可访问的Web服务器。在此基础上,可以实现对室内环境和安全的实时监控,也可以实时控制家用电器和设备。
该系统由感知控制层、网络通信层和应用层三部分组成。
(1)感应控制层主要由各种室内终端节点组成,包括各种传感器。各节点采集的数据通过WiFi或ZigBee网络传输到网关,接收网关发送的各种命令。与执行器连接的终端节点可以根据网关接收到的命令执行相应的操作,包括窗帘开关和电气开关定时。
(2)网络通信层解决感应控制层获取的数据传输问题,一般通过无线网络进行通信,如WiFi网络、ZigBee网络。
(3)应用层智能管理和控制数据,解决人机界面问题。手机等终端通过连接Web服务器,可以远程管理系统中的受控节点。当其离开家庭内网时,通过外部网络由APP或网页登录控制,从而实时监控智能家居系统。
2系统硬件设计
2.1网关设计
智能家居系统的中央控制设备是网关,它控制整个网络数据,起到连接内外网信号的作用,控制命令的转发和解析。家用设备通过ZigBee网络内部连接WiFi网络,外部连接互联网。由于网关是整个系统的核心,所以必须可靠稳定。本设计以开源硬件树莓Pi为主要设备,基于Linux操作系统,硬件集成度高,运行速度快。包含丰富的外设接口,方便功能扩展。支持Python、C、Java等语言,内置WiFi模块实现无线热点功能,降低设计成本。
2.2终端节点设计
针对不同场合的终端节点设计了具体的应用功能。环境检测终端节点主要检测室内环境数据,包括室内温度、湿度、光照强度等。安全监控包括人体红外探测、门窗监控等。一旦出现安全情况,报警装置将启动;家居控制包括灯光、电器、窗帘、家用电器的开关控制和定时功能;传感器模块是智能家居系统的底层,属于传感层,要求功耗低、体积小,因此选择集成度高、网络容量大、功耗低的芯片。
3系统软件设计
树莓Pi运行Linux操作系统,软件开源,易于开发。系统软件分为网关软件和终端软件,包括初始化模块、ZigBee无线组网通信模块、WiFi通信模块、Web服务器软件模块、终端节点消息处理模块等。
3.1网关软件设计
网关开始工作后,首先进行初始化操作,包括各个通信模块、TCP/IP协议栈、ZigBee协议栈等。树莓Pi完成了路由器和Web服务器软件的建立、数据的存储和处理,保证了基于TCP的WiFi传输线程和基于ZigBee协议的多模传输过程的正常运行。
(1)协议分析和转换。ZigBee协议与TCP/IP不兼容
(3)网络服务器软件。该系统选用了轻量级、高性能的服务器框架,利用数据库Nginx、Sqlite和PHP构建了树莓Pi中的Web服务器。将终端节点消息发送到网关,分析消息含义,转换协议并传输到服务器软件进行显示。当用户通过终端发送查询或控制消息时,Web服务器分析用户的操作并发送给网关,再将控制指令发送给终端节点。
(4)ZigBee网络的管理和维护。网关中的协调器是ZigBee网络的核心,完成组网、监控和管理网络中各个节点、存储和处理数据信息等功能,负责整个网络的管理和维护。
(5)路由功能。树莓Pi系统基于Linux,板上有无线网卡和陶瓷天线。树莓Pi的无线路由功能可以通过开启无线网卡的AP功能、设置静态IP、安装Hostapd、配置DHCP服务、开启IP路由转发来实现,从而实现高速数据访问。网关程序流程如图5所示。
3.2 ZigBee无线组网通信模块
启动协调器后初始化协议栈,根据预先编写的协议规则发起特定频段的监控网络信息,等待节点加入;协调器收到信道请求时,给应用节点分配一个地址,节点收到地址后回复给ZigBee协调器。当加入节点的数量大于1时,协调器成功建立网络。
3.3 WiFi通信模块
初始化WiFi射频模块,配置网络参数,传感器节点进入网络形成网络。为了节能,网络节点进入睡眠模式,不进行数据传输;当控制器发出信号时,WiFi模块开始进入通信状态,与家庭无线路由器连接,接入互联网,实现无线数据传输。
3.4终端节点消息处理
(1)ZigBee节点消息处理。系统初始化后,ZigBee协调器存储每个节点的信息。网关检测到收到的消息后,将其存储在缓存中,解析后的代码通过串口发送到相应的节点,完成相应的控制。当终端节点执行信息传输时,通过串口将节点信息传输给协调器;当网关检测到消息时,它将被处理并发送出去[13]。ZigBee节点的消息处理流程如图7所示。
(2)WiFi节点消息处理。节点信息通过串口发送到WiFi控制器。控制器内置在树莓Pi系统中成为数据中心,通过WiFi模块将数据信息传输给服务器软件。类似地,服务器端软件分析用户操作并将其传输到控制器,根据通信协议处理数据,然后将处理后的指令信息传输到节点进行中继切换操作。
- 上一篇:基于嵌入式网络的智能家居系统设计方案
- 下一篇:面向移动互联网的智能家居网络分析