何辉;龚成莹
【摘 要】针对传统物联网网关可移动性差,访问互联网的手段较少的问题,设计并实现一种基于Android智能终端的物联网网关系统。用STC12C5A60S2单片机实现物联网数据汇聚模块,采用Android实现物联网数据与互联网云平台的数据融合,最终将数据存储和显示在Yeelink物联网云。实际应用表明,该方案实现了节点数据从物联网到互联网的有效延伸。%In order to solve the problem of traditional Internet of Things ( IoT ) gateway has poor mobility and the less the means of access to the Internet , a IoT gateway system based on Android was de-signed and implemented . In this system , the IoT data gathering module was implemented by STC12C5A60S2 MCU, IoT and Internet was integrated by Android , and finally data was stored and dis-played using Yeelink IoT cloud .Practical application shows that this system has extended the monitoring data from IoT to the extension of the Internet .
【期刊名称】《工业仪表与自动化装置》 【年(卷),期】2015(000)005 【总页数】3页(P41-43)
【关键词】物联网;Android网关;汇聚模块;Yeelink 【作 者】何辉;龚成莹
【作者单位】兰州工业学院 电子信息工程学院,兰州730050;兰州工业学院 电子信息工程学院,兰州730050 【正文语种】中 文 【中图分类】TN929 0 引言
随着物联网和移动互联网技术的的发展和相互促进,物联网传感数据也成为了互联网的重要组成部分,通过对物联网和互联网的融合,将传感数据的感知、数据传输、数据处理、数据存储和数据显示进行物理上的扩展。同时,借助于互联网云计算平台,可以在云端将物联网数据进行存储、处理和展示。因此,利用物联网网关打通物联网与互联网的数据通道,对环境监控、智能交通、智能家居、公共卫生等多个物联网应用领域有着重要意义[1]。
传统的物联网网关大多使用服务器或者具有支持TCP/IP协议的嵌入式系统来实现,可移动性差,访问互联网的手段较少。该文针对这些问题,采用Android智能终端设计物联网网关系统,利用多种数据通道,将传感数据由物联网通道传递到更大规模的互联网,并实现了传感数据在互联网云平台Yeelink的存储和展示。 1 系统设计
系统采用基于ZigBee的无线传感网络将传感节点采集到的状态数据进行传输,终端传感节点通过路由器节点将数据送入协调器节点,协调器节点再利用串行接口进行数据汇聚,汇聚点是由STC12C60S2双串口单片机实现的控制模块。基于蓝牙串口通信方式,汇聚模块与Android智能终端进行数据交换,在Android智能终端上实现物联网网关功能,通过Android提供的多种数据通道将物联网传感节点采集的数据送入云平台YeeLink进行实时数据处理和状态监控。系统结构如图1
所示。 图1 系统结构 2 数据汇聚
传感数据由无线传感网的协调器节点通过串行通信传送到数据汇聚模块,汇聚模块与Android智能终端按照约定的协议通信,完成数据的处理和转发功能。图1中的汇聚模块由具备双串口的单片机STC12C60S2实现,其与Android智能终端通过蓝牙方式(蓝牙串口)进行通信[2]。
STC12C5A60S2是宏晶科技生产的单时钟/机器周期(1T)的单片机,具有高速、低功耗、超强抗干扰等特点,其指令代码完全兼容传统8051,但速度要快8~12倍[3]。STC12C5A60S2单片机具有双串行接口,串口1与无线传感网的协调器节点连接,获取传感节点的监测数据,串口2外接蓝牙串口模块HC-06,实现串行数据借助蓝牙无线信道的透明传输,借助模块HC-06,程序员无需了解蓝牙通信底层协议即可使用传统串行通信方式将数据发送到Android网关。 图2 汇聚模块处理流程
汇聚模块的程序处理基本流程如图2所示,STC12C5A60S2单片机的串口接收到数据后触发中断处理事件,在验证数据有效性后,将数据接收到缓冲区,组成数据帧,然后由另一个串口(蓝牙串口)送出。 3 Android网关
Android网关由运行在Android智能终端的应用程序实现,负责接收单片机蓝牙串口发送来的数据,进行处理和实现,主要实现以下3个功能: 1)利用蓝牙串口协议SPP与汇聚模块串行方式,进行全双工通信; 2)传感数据的处理、UI显示;
3)将物联网节点采集到的状态信息上传到物联网云服务平台,实现在移动终端和Web页面上的远程监测。
3.1 Android 蓝牙串口通信[4]
Android智能终端以蓝牙客户端的角色主动连接支持SPP协议的蓝牙透传模块HC-06,利用蓝牙适配器对象注册广播接收对象来获取蓝牙状态、搜索设备;在与HC-06模块配对完成后,建立Android服务对象在后台监听蓝牙串口收到的Socket数据,同时可以向连接HC-06模块的汇聚模块发送数据,一旦后台服务接收到蓝牙串口传来的数据,进行相应的数据处理,并显示在Activity界面上,如图3所示。
图3 Android互联网网关 数据处理代码如下:
//在UI界面上显示传感数据
n1Text.setText(\"[节点1] 温度:\"+no[0][0] +\" 湿度:\"+no[1][0]); n2Text.setText(\"[节点2] 温度:\"+no[0][1] +\" 湿度:\"+no[1][1]); n3Text.setText(\"[节点3] 温度:\"+no[0]
3.2 物联网云平台Yeelink
Yeelink是一个通用的物联网开放平台,允许用户将设备接入到网站,提供传感器数据的接入、存储和显示服务,用户不用考虑服务器实现细节和运维情况,即可拥有交付物联网化的电子产品的能力。利用Yeelink提供开发接口,即可将传感数据接入到 Yeelink 平台[5]。
Yeelink的开发接口基于 HTTP协议,使用POST方式将JSON[6]值对格式的数据上传到云端,Yeelink云端显示界面如图4所示。 图4 Yeelink云端显示界面
4 结语
该文针对传统物联网网关可移动性差,访问互联网的手段较少的问题,采用Android智能终端设计物联网网关系统,利用蓝牙等多种无线数据通道,实现STC12C5A60S2汇聚模块与Android互联网网关的数据交换,使用物联网云平台Yeelink的API将监测数据存储和展示在互联网云端。利用Android智能终端的优点,实现了物联网信息感知、信息传输和信息处理,从而实现了从传感节点到物联网,再从物联网到互联网的数据通道。 参考文献:
[1] 郑磊,罗健飞,苏湘,等.一种面向物联网应用的通用网关平台的设计[J].自动化与仪表,2013(9):24-27.
[2] 艾晓晓,张善权.一种仪器远程监控中心的实现与构建[J]. 自动化仪表,2012,33(9):25-28.
[3] 罗乐.基于STC12C60S2单片机的帆板控制系统设计[J].重庆文理学院学报,2012,31(4):30-36.
[4] 张新星,孙志锋,朱春佳.一种基于智能手机的无线电源插座设计[J].工业控制计算机,2013,26(11):42-44.
[5] 黄沃彬,陈本纹,张志伟,等.基于ZigBee与GPRS智能医疗监护网关设计[J].物联网技术,2013(10):34-36.
[6] 龚成莹,邢敬宏.基于JSON的Android移动终端与PHP及MySQL数据通信[J].工业仪表与自动化装置,2013(1):63-65,69.
因篇幅问题不能全部显示,请点此查看更多更全内容