前言:想要写出一篇引人入胜的文章?我们特意为您整理了移动端光照度采集程序设计范文,希望能给你带来灵感和参考,敬请阅读。
关键词:无线传感网络;光敏传感器
1引言
随着Zigbee无线传感网络技术和WIFI无线通信技术在各行各业中的应用不断扩大,人们对智能设备现场中传感器数据采集和控制提出了更高的要求,通过常规有线通信方式实现对现场传感器数据采集和执行机构控制,就会产生一定的弊端,同时维护成本也较高,而智能设备采用WIFI无线通信方式与移动终端进行交互,可以方便快捷地实现对现场设备的无线局域网采集控制[1]。因此,本文提出一种基于ZigBee无线传感模块和ESP8266WiFI通信模块,利用JAVA语言在Androidstudio开发平台上编程,实现无线局域网光照度信息采集和步进电机控制设计方案。首先构建一个ZigBee无线传感网络,然后可以将采集的数据通过智能网关中ESP8266的WIFI模块传输至移动端App中实时显示,另一方面可以通过移动端发送控制命令至智能网关,并最终到达ZigBee终端模块,以完成无线控制功能。
2总体设计
为了提高移动终端通过WIFI通信方式对现场设备采集和控制的灵活性和可扩展性,使采集控制设备更加智能化[2],首先将带有传感器和执行机构的Zigbee终端模块与智能网关中ZigBee协调器模块组成无线传感网络,当Zigbee终端模块将数据采集到之后,通过无线传感网络传输至智能网关中的ZigBee协调器模块,然后通过ESP8266串口转WIFI模块可以将采集到信息通过WIFI方式无线传输至移动端设备上,反之,通过移动端设备APP界面发送控制指令至智能网关WIFI模块,继而再通过ZigBee协调器模块,最后通过无线传感网络到达Zigbee终端模块控制步进电机设备。
3系统的硬件设计
3.1智能网关硬件设计
智能网关模块主要包括Zigbee协调器模块和ESP8266WIFI无线通信模块组成,其中Zigbee协调器模块采用德州仪器公司的CC2530芯片,芯片内部已固化了ZigBee协议栈的物理层和MAC层[3],这样CC2530芯片通过运行Zigbee协议栈建立无线传感网络之后,能够构建适应超低功耗要求的系统。另外ESP8266WIFI无线通信模块是一款超低功耗的UART转WIFI的无线通信模块,其硬件接口丰富,可支持STA/AP/STA+AP三种通信模式[4],本文主要使用UART转WIFI的RX和TX引脚接入CC2530芯片的P0.3和P0.2引脚,这样就使得Zigbee协调器和ESP8266模块进行双向数据传输通信,另外WIFI无线通信方式采用AP热点模式,即智能网关作为WIFI服务器,移动端作为客户端连接通过ESP8266模块,这样就可以实现局域网无线采集和控制现场设备。
3.2Zigbee终端采集控制模块硬件设计
Zigbee终端采集控制模块有Zigbee模块、光敏电阻传感模块以及步进电机控制模块组成。光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低[5],这里光敏电阻传感模块接入Zigbee模块的P1_2引脚,通过检测P1_2引脚的高低电平,可以判断当前环境是有无光照信息。
步进电机控制模块采用24BYJ48五线四相减速步进电机+ULN2003驱动芯片,这里以ULN2003为例用来驱动步进电机,只需要选择Zigbee模块的四个GPIO引脚P0.0、P0.1、P0.2和P0.3分别连接驱动板的IN1、IN2、IN3、IN4,再用外置电源连接驱动板的5V接口,并把电源和Zigbee模块的地(GND)与驱动板的(-)共线即可[6],上述线路连接完成之后,就完成了整个步进电机的硬件电路搭建。
4系统的软件设计
4.1Zigbee无线传感层设计
无线传感网络系统的核心为Zigbee协调器,其上电启动之后负责建立网络,当Zigbee终端采集控制模块上电启动之后加入Zigbee协调器网络,一旦组网成功之后,一方面可以将采集到光照度信息通过无线传感网络发送至智能网关中的Zigbee协调器模块,另一方面可以通过Zigbee协调器模块发送控制步进电机命令给Zigbee终端采集控制模块,从而可以控制步进电机正转或者反转。
4.2Android移动端程序设计
移动端通过Androidstudio开发平台,利用JAVA语言编程实现光照度信息采集,以及步进电机控制[7]。一方面Zigbee采集终端控制模块周期性的采集光照度信息,通过Zigbee无线传感网络发送至智能网关中Zigbee协调器,然后经过ESP8266WIFI模块以WIFI方式至移动端,另一方面移动端发送控制命令给智能网关,在经过Zigbee网络到达Zigbee采集终端控制模块,这里可以选择手动方式和联动方式进行控制步进电机正转或者反转。
移动端App客户端程序通过编程实现Socket套接字对象连接服务器端智能网关ESP8266WIFI模块Socket套接字对象,一旦连接成功之后,开启接收线程,实现光照度信息数据在receiveThread线程中实时接收。这里通过自定义AutoControl函数实现联动控制,如果检测到当前环境有光照,ESP8266WIFI模块向Zigbee协调器模块自动发送“297”字符串命令,并通过Zigbee无线传感网络到达Zigbee终端模块控制步进电机反转,反之发送“2A7”字符串命令控制步进电机正转。
5系统测试
为了验证Android移动端运行界面能够正常采集光照度信息和控制步进电机设备,首先将带有光敏电阻传感器和步进电机控制设备的Zigbee终端节点与智能网关中Zigbee协调器组成一个星型无线传感网络[8],然后将移动端WIFI网络连接到智能网关ESP8266WIFI模块的AP热点中,最后运行光照度采集控制程序,如图6所示,在界面上通过WIFI网络无线通信实现现场设备的光照度信息采集和无线控制步进电机设备[9]。通过验证和测试,性能稳定,功能符合要求。
6结论
文中基于Zigbee无线传感网络技术和ESP8266WIFI平台,提出了一种光照度采集控制系统解决方案,设计了Zigbee协调器模块和ESP8266WIFI无线通信模块组成智能网关模块,结合Zigbee节点之间通信,实现Android智能终端进行无线光照度采集控制功能。运行试验表明:基于Zigbee无线传感技术和ESP8266WIFI平台的移动端光照度采集控制系统具有通信可靠、抗干扰性好等优点。
参考文献:
[1]王浩,王伟旗.物联网信息技术应用[M].北京:中国水利水电出版社,2018:110-115.
[2]何福贵.Android物联网开发[M].北京:电子工业出版社2017:137-140.
[3]陈志德.安卓编程指南及物联网开发实践[M].北京:电子工业出版社,2016:121-130.
[4]范兴隆.ESP8266在智能家居监控系统中的应用[J].单片机与嵌入式系统应用,2016,16(9):47-50.
[5]唐远鸿,李岩.基于WiFi环境下LED照明智能化控制系统的设计与实现[J].单片机与嵌入式系统应用,2016,16(8):20-24.
[6]林若玺.基于ESP8266平台的汽车蓄电池电量远程监控系统设计[J].电脑编程技巧与维护,2016,16(24):36-39
作者:王浩 单位:苏州健雄职业技术学院软件与服务外包学院