基于ARM 和ZIGBEE 的智能家居系统设计
2019-12-02于川皓
文/于川皓
1 引言
出门忘记带钥匙,不确定到底有没有锁门?不想半夜起床抹黑开灯?突遇降雨忘记关家里窗户?相信不少人都有过类似的困扰,而智能家居正是为了解决所有不便而生。
智能家居主要凸显了其智能化程度,充分发挥了现代电子计算机、网络通信、自动控制等前沿科技的作用,结合家庭生活应用场景,把所有家用设备都接入到一个统一的平台进行管理,以提高家庭生活的舒适性、安全性和环保性。智能家居除了为人们提供传统的居住功能之外,更是在舒适安全、高效节能等方面给予了用户更广泛的享受空间;家居设备经过智能化改造后将成为会“思考”的工具,根据预设的参数自动作出相应的调整,使用户无论身在何处,都能随时监视和控制家庭的智能设备,大大提升了人们的生活质量,节约了时间,降低了风险,节省了能源。
室内生活环境中湿度过大,会造成家具受潮、墙壁发霉,滋生细菌,对人体的健康造成危害,如湿疹、风湿性关节炎等。在长江中下游地区的梅雨季节,这种现象尤为严重。而室内环境过于干燥,会造成地板、墙壁开裂,人体皮肤干燥、咽痛等。实验测定,最宜人的室内温湿度是冬天温度为18 至25℃,湿度为30%至80%;夏天温度为23 至28℃,湿度为30%至60%。智能家居系统可以根据预设好的人体最舒适的温湿度,智能判断是否需要自动开启中央空调、加湿器等设备。舒适、健康的居住环境有利于家人身体健康,同时提升生活品质。智能家居系统构建高效的住宅设施,提升家居生活的舒适性,倡导极简生活,除了安全、便捷和健康以外,将全方位实现“以人为本”的全新家居体验。
2 家居内智能化实现途径
关于串口通信编程部分,本文采用了简单高效的数据传输技术,通过对若干个关键参数进行识别对比即可完成串口通信。当串口开启之后,应用程序会自动开启一个专用线程用于数据的接收和发送。为了保证数据的完整性,在每次接收到数据包之后都会对其进行有效性校验,防止数据丢失。具体方法是通过bytesAvailable()函数处理接收到的数据,满足条件后再返回。家居内智能化实现途径主要有以下三个方面:
(1)智能家居环境气候系统;
(2)智能化照明系统;
(3)无线火灾报警系统。
3 ZigBee无线传输模块
根据系统的特点,综合考虑成本和性能等因素,本文选用了DHT11 数字温湿度传感器。该传感器具备自校准功能,可以同时输出温度和温度;DATA 的主要功能是与微处理器进行通讯和同步,通过单总线形式在4ms 内完成数据传输。数据传输格式分两部分组成,分别为小数部分和整数部分。考虑到小数部分目前尚用不到,因此可以作为后期的数据扩展。整个数据处理流程为:以高位在前、低位在后的方式完成一次数据传输,数据量为固定40bit,其中温度、湿度的整数位和小数位均各自占用8bit 长度,最后再加上8bit 校验位,采用各检验方式对数据正确性进行校验。
主要参数:
(1)工作电压范围:3.3V-5.5V
(2)工作电流:平均0.5mA
(3)输出:单总线数字信号
(4)测量范围:湿度20~90%RH,温度0~50℃
(5)精度:湿度±5%,温度±2℃
(6)分辨率:湿度1%,温度1℃
DHT11 通信方式也是属于单总线,和DS18B20 类似。
4 结论
本文通过设计分为硬件部分和软件部分基于ARM 和ZIGBEE 的智能家居系统,采用了目前最先进的人工智能技术,借助计算机系统或嵌入式系统、网络通信技术完成了基于ARM 和ZIGBEE 的智能家居系统设计。系统以STM32 单片机为核心,实现了对多个传感器模块的控制和数据采集,然后由统一汇总至ZigBee 通信终端上,最后由ZigBee 通信终高速传输给协调器。通过将ARM 开发板和协调器相互连接,使得ARM 开发板可以快速接收并处理来自于协调器的原始数据,经进一步分析后由终端显示器展现出来。在编程语言的选择上,ARM 开发板采用Qt 环境进行C++编程,将交叉编译成功后的代码直接移植到ARM 上。