zigbee技术的物联网智能家居系统设计
2021-03-02茂名职业技术学院吕晓梅
茂名职业技术学院 吕晓梅
随着科学技术不断进步和发展,人们生活质量有了很大提升,越来越多的人追求家庭居住环境的智能化。传统智能家居组件的网络结构过于简洁,连接节点较少,网络稳定性不强。因此,本文根据人们对智能家居系统的实际需求,在zigbee技术的基础上,设计出一种实用性强的智能家居系统,并对单片机、上位机进行设计,用来进行数据信息的采集与控制。zigbee技术具有低功耗、低成本、组网能力强等优点,在智能家居系统设计中应用该技术,可以缩短开发应用时间,减少生产成本。开发该系统设计应用CC2530芯片,能够提高相关硬件系统的拓展性。
1 zigbee技术
zigbee技术运用无线通信模组建立点对点的通信方式,在设备处于休眠状态时,能够进行65000个节点的通信请求与传输。当数据传输时,可以通过身份核对机制,确保传输的安全稳定性。从安全方面分析,zigbee技术主要有密码设置、无线安全管理等方式,适用于不同业务场景,满足人们的实际需求。ZigBee应用在智能家居、楼宇自动化等环境中,可以控制家用电器、集中关机照明、采暖制冷等;应用在工业自动化环境中,可以采集生产过程中产生的数据,并对这些数据进行分析和处理,为工业生产提供安全保障;应用在医学领域,可以监测病人的体温、血压等,为临床治疗提供便利。
ZigBee网络利用无线模组技术实现数据通信,网络节点运用一跳或多跳模式将局域网自动建立起来。zigbee技术具有低功耗、低成本、组网能力强等优点,但是会限制传输速率。与其他通信模式相比,网关运用zigbee协议通信具有低功耗、低成本、安全性高、通信距离近、网络容量大、响应速度快、自动组织与自愈性强等特点。
2 智能家居系统的功能和结构
2.1 系统总体功能结构
物联网智能家居系统设计应当遵循实用性、安全性、便利性、规范性等原则,采用zigbee技术等,实现智能家居系统,从而实现智能家居的灯光、温度、湿度控制以及监控系统、门禁系统等功能。本设计应用的是最新zigbee芯片cc2530,用星型拓扑结构构建组网,并利用各种传感器,实现数据采集与数据传输,设计出实用性强的上位机显示界面,通过PC端与手机端进行合理的控制。基于Zigbee技术对智能家居进行监控与管理,通过网关等设计,结合zigbee技术协议构建传感器与PC。利用该技术实现协调器与节点之间的通信,并与串口连接起来,形成完整的传输链路。在实际应用过程中,智能家居能够对环境中的监测点、数据信息进行监测,在结构中增加传感器单元,形成完好的物联网技术。如果监控区域变大,利用节点复制技术可以实现网络互通。如果监控区域变小,通过减少网关节点,可以减少成本,降低资源损耗。具体见图1。
图1 智能家居结构图
2.2 系统监测内容
基于zigbee技术进行物联网智能家居系统设计,是为了更好的管控监测对象,监测内容主要包括环境内的温度、湿度、气体等。
第一,温度。众所周知人体温度变化非常敏感,当温度在36℃后,每增加一度人体就会产生较大变化。所以,在进行智能家居系统的设计时,应当重点考虑环境温度的影响。一般会在设定区内增设温度传感器来采集温度,并且借助协调器来传送相关信息,最后经过串口将数据信息传输到PC端。所以,PC端可以不按照设置好的参数来控制空调温度,运用自定义模式实现环境内的温度控制。在实际应用中,可以通过加大协调器等对数据进行及时的采集与分析,从而有效提升监测的准确程度。
第二,湿度。虽然与温度相比,人们对湿度的感应不太敏感,但是也会对人体健康造成影响,特别是对智能家居中的老人和孩子。当前人们调节室内湿度,主要是应用加湿器和加热器等设备。这些电器设备需要人工调节,在调节过程中容易出现一些不确定因素,甚至会对人们的身心健康产生威胁。在智能家居系统设计中,可以运用传感器来采集环境内的湿度,并且通过网关实现数据信息的传输,传送到PC端之后,经过自动化、智能化分析,实现相应的控制与管理。
第三,亮度。通过传感器可以获取房间内的光感,根据捕获到的光线强度,将相关数据信息传送至网关,再由网关发送到PC端,通过对比相关设定值,实现对灯开关与亮度的管控。如果房间内的光线较强,可以通过控制灯泡关闭与窗帘合起,进行智能化的节能管理。如果房间内的光线较弱,需要控制灯泡打开或者窗帘折叠,进行智能化管理。
由此可见,智能家居系统可以根据实际需求,结合环境监测,实现对相关数据信息的实际管控,进行智能化管理。
3 系统软硬件设计
3.1 系统硬件设计
智能家居系统的硬件结构主要包括计算机、手机、zigbee网络。本次系统的主控芯片是CC2530,它本身带有UART口。本次物联网智能家居系统设计,运用的转换芯片是USB转串口的CH340G,通过USB与CC2530来通信。终端节点硬件设计除了增加了传感器模块之外,其他的都与协调器硬件设计相同。其中,所用的计算机是微型计算机,所用手机是Android系统手机。
首先是zigbee硬件模块设计。本设计采用的是性能较高、功耗较低的,具备8051微控制器内核、cc2530芯片的zigbee通信芯片,适用的收发器是2.4GHz IEEE 802.15.4,内设非常丰富,主要包含2个UART、12位ADC和21个GPIO。此外,本次设计选用的芯片搭载zigbee协议栈Z-Stack2007(来自TI公司),在很大程度上缩短了设计周期。其次,电源设计。供电选用的是5V电源适配器,由于CC2530在工作时的电压是3.3V,所以需要转换电压,运用ams1117-3.3芯片(来自AMS公司),该芯片是输出电压3.3V的正向低压降稳压器。这种芯片适合小型计算机系统。最后,USB转串口设计。串口转换设计应用的是CH340芯片(来自江苏沁恒股份有限公司),该芯片是USB总线的转接芯片,主要是用来转换USB串口,或者转换USB打印口。在这种方式下,CH340为计算机扩展异步串口提供MODEM信号,或者可以把普通串口设备与USB总线直接连接。
3.2 系统软件设计
系统软件设计主要支持对单品机软件、上位机软件、zigbee网络节点软件以及串口软件等系统进行开发设计。
第一,单片机软件设计。本次单片机运用C52开展程序代码编写工作。等到该程序编写完成后,可以运用仿真软件来调试,通过程序运行来获取仿真结果。如果得出的结果与预期目标相符合,那就可以把生成的HEX文件烧到单片机中。这一项工作完成之后,需要在通电的条件下运行,进行全面测试。在这一过程中,需要设计的程序有温度传感器、湿度传感器、烟雾传感器等,同时还应当编写出相应的无线传输程序。在设计软件节点的过程中,需要对很多环节进行设计,才能完成程序开发工作。具体流程是安装软件平台—编写程序—生成可执行文件—将文件写入可执行文件—进行软件调试。
第二,上位机软件设计。上位机软件可以为智能家居用户提供人机交互界面,对设备终端的参数进行远程控制。该软件可以接收与识别协调器传送的原始数据,也可以将传感器传输的数据显示出来,对相关数据进行读取和存储。上位机界面运用C#语言,利用Microsoft Visual Studio软件进行串口助手的编写。串口助手可以将接收端发送到PC端的数据展示出来,并且将这些数据保存到数据库中。通过Qt编写的GUI图形用户界面,可以将智能家居内部终端设备所监测到的信息实时显示出来,比如温度、湿度等数据信息,通过点击房间执行相关操作进行终端节点的控制。
第三,zigbee网络节点软件设计。在设计时,需要把所有数据全部传送给协调器,因此必须要确保协调器的正常使用。在协调器通电后,板上的软硬件会初始化并构建网络。zigbee协议栈运行是建立在OSAL基础上的,可以通过任务的形式开展相关的管理和调度。通过调用执行API任务,促使多任务机制的形成。同时,要为节点分配网络地址,做好相应的标识。本设计中,协调器节点主要是接收全部节点的数据,并在LCD显示出来,再将这些数据传输给监控主机。
第四,串口软件设计。要想合理应用C++来实现串口通信,需要掌握Qt中的串口操作方法,每一种语言都可以提供相应的串口读写操作。通过Qt提供的API通信函数,可以操作的步骤有:打开串口—得到串口句柄—配置串口参数。