文/张启扬
相对于蓝牙技术,ZigBee作为新兴的短距离、低功耗无线通信技术,更加适用于能耗要求低、安全要求高、短距离无线连接稳定性要求高的设备与设备之间的通信。文章通过对面向短距离低功耗物联网应用的无线ZigBee系统设计与实现进行分析,对于推动ZigBee技术在物联网中实现更深入应用具有重要的意义。
在短距离通信方面,最为人们所熟知的当属蓝牙技术,但如今随着智能家居以及工业控制方面的快速发展,传统的蓝牙技术则显得力不从心,ZigBee技术由此应运而生。ZigBee作为一种新兴的短距离、低功耗无线通信技术,采用 IEEE 802.15.4 标准,本身具有低功耗、低速率、低成本、安全性高等特点,非常适合于自动控制及远程控制领域,能够直接嵌入各种设备中进行应用。ZigBee在通信方面采用的是自组网方式,只有在同一个网络范围内,不同ZigBee网络模块终端便能够自动组合在一起,实现互联互通,这种便捷的网络通信方式能够为用户提供更好的无线数据传输功能,因此在物联网领域具有非常强的可应用性。
图1:整体节点模块设计
图2:STM32L151电路原理图
针对于面向短距离低功耗物联网应用的无线ZigBee系统的硬件设计方面,需要结合实际应用需要,本次设计的是基于 Zig Bee 的无线环境监测系统,因此需要以此为依据,做好功能模块确定与分类,然后分析这些功能模块的作用,并确定最终模块数目。在此基础上,通过搜集相关资料,来确定硬件系统所需要的芯片以及芯片类型、型号等,借助进行电路设计与PCB打板,最后进行电路板的测试。本次在硬件系统设计上选择了Altium Designer 13硬件设计平台,借助该平台,完成了无线环境监测系统硬件的原理图及与PCB 制作。具体来说,首先针对节点整体模块,在无线ZigBee系统中,共有两类节点,一类是FFD设备,一类是RFD设备,其中前者作为一个协调器使用,后者则作为一个终端节点,因此在器件选择上,两者基于功能不同,选择也会带有一定差异性,但二者在结构上基本一致,节点功能模块也基本相同。在整体硬件结构上包括通信模块、感知器、微处理器、程序调试下载及串口。整体节点模块设计如图1所示。
从图1中我们可以认识到,对于传感节点与协调器节点而言,主要使用芯片有STM32L151、ZICM2410。终端节点特有模块为DHT11温湿度采集模块,协调器特有模块为SIM900B,主要用于GPRS 通信。在管理中心,接收器在应用上除了要使用具备GPRS 功能的SIM900B,另外还要使用 RS485,用于串口通信。在具体电路设计实现上,文章以STM32L151 芯片微处理模块为例, STM32L151 芯片及外围电路原理图如图二所示,从而图2中我们可以认识到, STM32L151 芯片的 VDD 系列及 VLCD 引脚主要负责向芯片供电,因此VDD必需电压稳定,VDD引脚与 VCC 相连,在两者之间,并联有一个4.7u F的电容,而VSS 系列的引脚全部处于接地状态, VDDA通过13 号引脚,会为 ADC 进行供电。在本次设计中,通过将整个板子铺上一层地线,可以将 VSS 系列引脚间的绝对差值控制在 50m V 以内,确保电压稳定供应。
针对于面向短距离低功耗物联网应用的无线ZigBee系统的软件设计方面,采用的是IAR Embedded Workbench for ARM软件开发平台。与此同时,在WSN 的组网及环境信息的采集及处理方面,为满足高效率计算,需要针对传感器节点及协调器节点,引入微嵌入式操作系统,这种系统包含多种,比如u C/OS-II系统、T-Linux 系统、 Win CE系统等,一般需要结合实际选择,本次设计选择了u C/OS-II系统。在具体设计方面,首先针对Zig Bee,使用API函数应用。通过应用该函数,需要完成以下功能:一是需要将无线信道进行初始化,二是需要对信道、无线发射频率进行设置;三是要控制好外围设备,包括模数转换(ADC)、中断(Interrupt)等。四是电源管理、五是调试功能,六是通信安全方面,其是虚拟计时功能。另一方面,针对管理中心软件设计具体内容如下:管理中心一般由三部组成,其中一部分是具备GPRS 功能的接收设备,能够用于协调器通信,针对接收的所有数据,能够通过 RS485/232,直接发送至 PC 端。在具体运行上,先确定数据帧是否有收到,如果确认收到,则通过分析数据帧类型,完成相关的处理,如果该数据帧为从其他节点接收,尚未进行处理,则需要调用RS485Snd ,将其发送至 PC 端;如果已经确认帧,则对该帧进行标记,证明该帧已发送。如此数据帧表示断开连接,则需要初始化 GPRS;最后,对数据帧是否已经处理完毕加以判断,若已经完毕,则直接结束,反之,则重新进入新的一轮循环。针对于PC 端软件设计,一般分为两部分,第一部分是串口数据接收和存储,第二部分是数据处理和显示。针对串口数据的接收,可以选择采用 Real Term 软件来实现,同时还要选择一些基本参数,即可进行使用。在Real Term的帮助下,能够将接收到的数据进行存储,存储位置一般在本地磁盘,便于后续显示处理。在具体显示方面。可以利用相关的浏览器,直接进行显示图例,其核心代码来源于百度商业前端可视化团队的开源项目 ECharts,在项目的帮助下,能根据用户需要自行定制个性化可视图表。
综上所述,如今随着环境问题日益严峻,对于人们的日常生活也带来一定的干扰影响,因此通过建立基于 Zig Bee 的无线环境监测系统,能够及时发现环境污染问题,降低其对人们身体健康的威胁。在实际进行设计过程中,需要从软硬件两方面着手,实现系统设计,充分发挥系统作用价值,保护人们身体健康。