李如平,徐珍玉
(1.安徽工商职业学院,安徽 合肥231131;2.农业部农业物联网技术集成与应用重点实验室,安徽 合肥230088)
物联网系统是基于局域网、互联网把传感器、机器、人和物等联系在一起,形成人物相联和物物相联,所有的元素(设备、资源、通信)都是个性化和私有化,实现信息化、和远程智能控制的网络[1].物联网架构可分为三层:感知层、网络层和应用层.感知层由各种传感器构成,包括温湿度传感器、二维码标签、RFID 标签读写器、摄像头、红外线、GPS 等感知终端,感知层是物联网识别物体、采集信息的来源[3].网络层由各种网络,包括互联网、局域网和云计算平台等组成,是整个物联网的中枢,负责传递和处理感知层获取的信息[4].
目前大多数工厂现有的网络系统是:各个设备通过网络与服务器相连,将设备实时数据发送给服务器,然后有关人员通过工作PC 和网络,登录服务器网址,查看设备状态数据.这样的网络系统有三个问题:1、各个设备之间没有相互通信和控制,设备只是单线程的发数据给服务器,报告自己的状态.2、服务器除了监听设备状态,不能对数据进行智能自动分析,然后得出结果并直接控制设备.3、人员对设备情况的掌握,依赖于PC,如果人员在室外无PC 下情况下,无法知道设备的情况.
为了解决以上问题,本文提出了基于ASP.NET 和移动andriod 平台的物联网系统,以实现设备与设备、设备与服务器、移动终端与服务器的通信交互,赋予系统有智能分析与自动反馈的功能.首先基于ASP.NET 在服务器端开发物联网系统网站,该网站通过局域网和Socket 通信与各个设备相互连接的同时,对设备反馈的状态信息进行智能分析,并进而控制各个设备,各个设备也可以通过该服务器网站向其他相关设备发送数据,达到设备相互间的数据通信与互动.然后在各个设备端的应用软件加入Socket 通信功能,支持与服务器的通信,在移动端基于Andriod 平台和Java 语言开发APP,通过无线局域网实现移动端与服务器的通信.最后基于无线网络、局域网实现设备与服务器、服务器与移动端设备通信,达到为智能工厂建立物联网系统的工程目标.
本文所设计的物联网系统的目的是实现三个目标:1)开发一个物联网系统服务器端网站,支持与设备、移动端的数据交互通信,支持对设备数据的智能分析和自动控制;2)开发一个移动端APP可以对服务器网站进行访问,并通过服务器控制设备;3)最后对设备与服务器之间的局域网进行研究、对服务器与移动端的无线局域网进行研究,建成最终这个物联网系统.
感知层是连接相机、RFID 读码、传感器的设备,设备本身带有操作系统和下位机软件.网络层是有线局域网、无线网、Socket 通信方式和HTTP通信协议,负责连接设备与服务器、服务器与移动端,进而实现设备与设备、设备与移动端的连接通信与控制.应用层主要是服务器端的系统网站与移动端设备上的APP.
本系统工作原理是:设备上带有相机、RFID 读码、传感器这一类的智能感应终端,如带相机的设备有视觉检查功能,可以得到产品不良与否的信息,如带RFID 读码的设备有读取产品条形码的功能,可以得到产品的基础信息,如带传感器的设备有感应材料到位与否的功能,可以得到产品是否到达正确位置的信息.这些信息都由本系统的感应端,即各个设备得到,通过局域网,HTTP 协议与Socket 通信方式发送至系统服务器.服务器网站后台具有数据分析功能,对不同有不同的回应.如对产品质量OK/NG 信号,有产品反工与否的信号予以回应,如对产品基础信息,有产品分流信号予以回应,如对产品是否到位信号,有产品是否进行作业的信号予以回应,如此实现各个设备与服务器的通信.
由于各个设备可以与服务器通信,并且服务器具有智能分析与自动反馈功能,进而实现了设备与设备的通信互动.比如:带传感器的设备感知材料到位并通知服务器,服务器给予开始作业命令,材料运动到带读码器设备下,读码器设备完成读码,并传至服务器,服务器反馈分流信号,材料流至带相机设备下,设备完成OK/NG 检查并发送服务器,服务器反馈反工与否信号,进而各个设备完成相互通信功能.
由于人员不可能一直在PC 旁对服务器和设备监控,在室外的情况下,如果能支持移动端对服务器与设备的控制与访问.移动端的设备有智能手机、平板计算机,本文以Andriod 系统为开发平台,开发出APP,通过无线网络对服务器网站进行访问并控制,进而控制各个设备.由此完成整个物联网系统的搭建.如图1 所示为本文整体结构.
图1 本系统架构图
在服务器上开发一个物联网网站,接收各个设备的状态信号并显示,同时具备根据设备不同状态信号,给予不同反馈命令,命令以按钮的形式在网站页面上显示,供PC 端、移动端用户使用.本网站采用ASP.NET 开发网站后台逻辑,是本节讨论重点,网站前端由主流的HTML、CSS、Javascript 构成,非本文重点,在此不予详述.本网站的开发IDE 是Visual Stadio2010,语言是C#.ASP.NET 是.NET FrameWork 的一部分,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP 请求文档时再在Web 服务器上动态创建它们,指Active Server Pages(动态服务器页面),运行于IIS(Internet Information Server)[5].
网站基于HTTP 协议和Socket 通信方式与设备进行交互.HTTP 即超文本传输协议,是设备与服务器通信协议,完成相互的连接,设备数据通过此协议传输至服务器端并显示.服务器在对数据接收并显示后,迅速对数据进行分析,如带相机设备发送OK 信号,则服务器立即查询数据库,查出OK信号的反馈信号“继续检查”,触发相应按钮,通过Socket 监听通信传至设备.Socket 通常也称作"套接字",用于描述IP 地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信,在Internet 上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务[6].本系统将服务器触发按钮绑定在对应端口,将设备对应监听程序也绑定在对应端口,实现服务器与设备信号实时交互.网站工作流程如图2 所示.
图2 网站工作流程
部分关键代码:
为了让人员不受办公环境限制,在户外也可以对设备状态进行查看和控制,本系统需要开发一个APP,在Android 平台(平板计算机和智能手机)也可使用,可以访问服务器网站,进而知晓各个设备状态,并且通过触发服务器上网站系统的按钮,来控制设备.本系统的移动端开发基于Android 平台实现,语言采用Java,开发环境是Eclipse.
图3 APP 工作流程
图4 服务器网站
图5 APP 页面
Android 的系统架构和其操作系统一样,采用了分层的架构.从架构看,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux 内核层.优势是其开发性,可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟.基于Android SDK 和Java 语言开发完成APP,即移动端的第三方应用程序.移动端与服务器连接,由移动端设备基于无线局域网登录服务器IP,访问服务器系统网站实现.无线网络是相当便利的数据传输系统,它利用射频技术,使用电磁波,取代双绞铜线所构成的局域网络[8~9].
人员利用移动端APP 通过无线网络,基于服务器IP,访问系统网站,得到设备状态信息,再通过触发网站按钮,对设备进行控制,具体结构流程图如下图3 所示:
部分关键代码:
使用IE10.0 浏览器测试服务器网站,Android4.2 系统智能手机测试移动端,实验测试本系统各个模块的功能.同时,为了体现本文方案的先进性,设立一个对照组:依靠设备发送状态数据给服务器,用PC 登录服务器查看后,再赶去现场处理设备(文献[10]).对比的指标主要是时间.实验涉及设备如下:带传感器的设备1,带读码器的设备2,待相机的设备3,一台服务器PC,一部智能手机,一台普通PC.图4 为在服务器端物联网网站,对各个设备监控与控制页面.图5 为智能手机APP浏览服务器端物联网网站的页面.可见,服务器网站可以对设备状态进行查看,并通过按钮触发控制信号,验证了ASP.NET 网站的功能性,见图4.同时,也可以用手机或平板上的APP 对服务器网站进行监控和操作,达到移动端对设备的控制,见图5.
为了对两组系统展开时间对比,本文安排了相同数量与难度的作业,分别由两个系统完场,最终统计结果如下表格1 所示.依表1 数据显示,本文系统的效率优于对照组.原因是本系统可以通过移动端直接看到设备状态,并当场控制,且本系统中的设备相互互动,由服务器传递信息并自动分析,无需人工介入.而传统系统,各个设备只是例行的将信息传至服务器做数据备案,人员只能查看状态,而不能实时控制,设备间无互动协作,同时无法在场外对设备进行查看或控制.
表1 时间对比
基于ASP.NET 和移动andriod 平台的物联网系统,是基于ASP.NET 开发服务器网站,具备了对设备状态的查询、分析、控制.然后基于Android、Java 开发移动端APP,具备访问服务器网站,进而控制设备的功能.最后利用局域网、Http 协议、Socket、无线网整合整个网络,即物联网.实验测试结果表明:该物联网系统可以实现对设备、服务器的连接和智能运作;且并与当前系统相比,该物联网系统具有更高的运作效率.
[1] 杜楠.基于物联网技术的井下物资跟踪管理系统[J].工矿自动化,2015,7(2):327-330.
[2] 魏宏云.基于物联网的道路路面施工质量实时监控系统研究[J].公路交通技术,2015,28(11):83-87.
[3] 庞春辉.基于物联网技术的工厂智能照明系统构建[J].电子制作,2015,6(4):81-85.
[4] 赖树明.基于STM32 的物联网系统的设计[J].电子测试,2015,13(10):186-190.
[5] 莫夫.基于物联网的智能社区管理系统设计[J].电子技术与软件工程,2015,73(2):371-376.
[6] 郑家宋,基于物联网的煤矿智能仓储与物流运输管理系统设计与应用[J].工矿自动化,2015,58(15):42-47.
[7] 马世博.基于物联网技术的城际危险品运输安全监控系统研究[J].佼 物流科技,2015,73(2):371-376.
[8] 王丽侠.基于物联网的智能家居系统的研发[J].电气应用,2015,73(2):371-376.