金启芃
(北京工业大学 软件学院, 北京 100024)
摘要:在智能家居中,环境监测与数据采集是使家居实现“智能”的关键步骤。本文设计的监测系统使用近年来新出现的Microduino系列套件制作,具有体积小、操作方便、功耗低、可随意移动的特点。利用价格便宜、市面上常见的温湿度传感器,结合Microduino套件中的模块,组合成采集节点与汇聚节点,并充分发挥Microduino的优势,使其不同于其他芯片所搭建的数据传输系统。
关键词:物联网;智能家居;Microduino;数据汇聚
0引言
随着智能家居行业的发展,智能化的家居产品越来越多,但是最基础的数据采集技术尚没有根本改变。无论如何智能系统都离不开环境数据的采集[13]。物联网数据采集网络的核心要求是成本低、功耗低、体积小。所以芯片开发板和传感器的选型是决定其性能优劣的关键。每个数据汇聚节点和采集节点都要求功耗低、成本低、体积小,这样才能更方便地铺设,运行时间更长,同时成本更低。
Microduino自面世以来,以其Arduino的兼容性、开源、体积小及模块化的特点等特点,受到了极大的关注。Arduino兼容性和开源的特点使得Microduino系列套件可以方便地使用Arduino既存的库文件进行开发[4],并且创客之间可以方便地进行技术交流。体积小、模块化使得Microduino在应用开发上更加方便,便携性更好,且性能不输于同核心的Arduino开发板,同样它也继承了Arduino的低功耗优势[5]。
本文设计了一种基于Microduino的环境数据监测系统,可通过数据采集节点进行数据收集并通过ZigBee模块传输到数据汇聚节点,用户可随时使用蓝牙连接模块查看环境数据[6]。本文旨在使用Microduino开发板搭建并测试一个包括数据采集节点和数据汇聚节点的数据采集系统。
1系统总体设计
系统分为采集节点和数据汇聚节点两个部分,采集节点通过温湿度传感器采集环境数据并经由MCU处理,通过ZigBee模块将数据传输到数据汇聚节点。数据汇聚节点经过简单处理后将数据通过蓝牙传输到手机端蓝牙串口App,用户即可以随时获取各个节点的环境数据信息。系统总体结构如图1所示。
2硬件设计
2.1数据采集节点
数据采集节点的控制部分由MicroduinoCore、MicroduinoZigBee、MicroduinoBM、MicroduinoSensorhub模块组成。其中Core模块作为MCU主控,ZigBee模块用作数据传输,BM为电源管理模块,连接锂电池供电,Sensorhub用于连接各种传感器。另外,USBTTL可使用USB线连接电脑随时调试修改程序。其结构如图2所示。
MicroduinoCore的PCB如图3所示,模块间通过周围的U27PIN接口相互插接在一起,拼装完成后整个节点很小,可以随身携带并方便移动。
图2数据采集节点组成图3MicroduinoCore开发板PCB图数据采集节点的数据采集部分采用DHT11实现。通过自制连线与MicroduinoSensorhub扩展板连接。DHT11是一款较为常见的温湿度传感器,接口简单,可长期稳定运行,并且功耗低。硬件部分使用自制的连接线与Sensorhub扩展板连接,其连接图如图4所示,提供VCC、GND并留出一个数字口用于接收数据。Microduino可以完全兼容Arduino代码,故可以使用Arduino中的DHT11库,调用库函数并获得温湿度数据。
2.2数据汇聚节点
数据汇聚节点由MicroduinoCore、MicroduinoUSBTTL、MicroduinoBM、MicroduinoZigBee、MicroduinoBT组成。其中Core是MCU模块,对数据进行处理;USBTTL用于下载程序和调试;BM作为电源管理;ZigBee模块用于接收和发送数据;BT为蓝牙模块,通过手机连接,以查看采集到的数据。总体结构如图5所示。
图5数据汇聚节点结构图数据采集节点和数据汇聚节点间的传输使用ZigBee模块。Microduino系列中有U27PIN接口的ZigBee模块,使用CC2530芯片。该模块需要先使用AT命令进行配置才可以使用。本文中将两个节点上的ZigBee模块分别配置为路由器和协调器两种。该模块的数据发送格式为+ZBD=XXXX,所以在接收时需要做好相应的分割才可读取数据。该模块管脚图如图6所示,符合U27PIN标准,可以与各种Microduino模块拼接。
3软件设计
3.1路由节点
路由节点主要功能是负责采集数据并按照设定好的协议格式打包好,使用ZigBee模块传输给协调器节点。路由节点的程序流程如图7所示。路由节点的功能比较简单,进一步的处理交给协调器节点来完成。
3.2协调器节点
协调器节点接收各个路由节点和终端节点的数据并进行整理,同时当用户通过手机的蓝牙串口APP访问时,可即时地将数据传输到手机上。程序流程图如图8所示。
4实验结果
设计完成后将模块插接好,将采集节点布置在距离汇聚节点7~10 m的位置并连接锂电池。数据汇聚节点接收到的数据可以通过蓝牙串口或电脑串口随时监测。串口实时接收到的数据如图9所示。
5结束语
本文使用Microduino系列的开发板进行了数据汇聚节点和数据采集节点的搭建和测试,完成了数据汇聚的功图9通过电脑串口接收到的数据
能。其中数据采集节点和数据汇聚节点的4个模块叠加后,其尺寸为长25.4 mm、宽27.94 mm、高25 mm,锂电池厚度约为4 mm。体积极小,可以将节点放置在家中任意位置进行数据采集和汇聚。电源使用3.7 V-600 mAh的锂电池进行供电,可持续工作7~8个小时。其单个芯片价格略低于Arduino,远低于FPGA开发板。所以使用Microduino搭建智能家居中的环境监测系统具有体积小、方便布置、价格便宜、功耗较低等优势。
参考文献
[1] 刘熙昌 孔祥营,孙景明,等. 基于Arduino的智能照明设计[J].科教导刊,2015(4):132,152.
[2]何中胜,赵红玉,庄燕滨,等.基于单片机的通信机房环境监控系统的开发研究[J].微型机与应用,2013,32(17):6062,68.
[3] 渠淼,牛国锋,冒张霄,等.基于Arduino的智能环境监控系统设计[J].微型机与应用,2014,33(20):8385.
[4] 张强武,唐露新,陈超锋,等.基于Arduino和Machtalk的温棚环境监测系统设[J].单片机与嵌入式系统应用,2014,11(11):7174.
[5] 姚琪,杨立斌.Microduino实战[M].北京:机械工业出版社,2015.
[6] 王胜,基于Android平台家庭智能系统的研究与实现[J].南京:南京邮电大学,2013.