APP下载

基于.NET的物联网平台设计与实现

2019-09-10曹玉志董超斌何敬宾

现代信息科技 2019年17期
关键词:物联网

曹玉志 董超斌 何敬宾

摘  要:物联网系统立意于针对流行的物联网技术,开发一整套包含硬件、软件、数据服务为一体的云应用平台,通过互联网、移动网络使不同厂家、不同地域内的信息共享,并由用户按需获取、操作、配置网络终端远程设备,统一存储,高效利用,解决工厂内众多设备之间无法通信交互的问题。

关键词:ASP .NET;物联网;Socket通讯;多线程

中图分类号:TP391.44;TN929.5      文献标识码:A 文章编号:2096-4706(2019)17-0165-02

Abstract:The internet of things (IOT) system aims at developing a set of cloud application platforms including hardware,software and data services for the popular IOT technology. Sharing information among different manufacturers and regions through Internet and mobile network,and users can acquire,operate and configure remote devices on the network end on demand,unify storage and make efficient use of them,so as to solve the problem of communication and interaction between many equipment in the factory.

Keywords:ASP .NET;internet of things;Socket communication;multithreading

0  引  言

物联网是新一代技术信息的重要组成部分,也是“信息化”时代的重要标志。物联网就是物物相连的互联网,其有两层含义:其一,物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;其二,其用户端延伸扩展到了任何物品和物品之间,进行信息交换和通信,也就是物物相息。物联网通过感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业的第三次浪潮。

为了实现物联网平台的建设,本文提出了基于asp.net和微信公众号的物联网系统,以实现设备与设备、设备与服务器、移动终端与服务器的通信交互。

1  物联网整体架构设计

本系统主要包括三个模块:(1)物联网系统控制台网站,支持设备添加、修改、删除。(2)物联网系统服务端软件,提供数据采集,控制指令下发,定时任务下发,触发器执行等功能。(3)手机端公众号、提供物联网控制台网站访问,通过服务器控制设备,查询设备历史数据等功能。由这三个模块建成最终的物联网系统。

本系统工作原理:底层传感器、PLC等其他支持Modbus协议的设备通过485线与DTU设备相连接,DTU通过HTTP协议与Socket通訊方式将采集数据上传到系统服务器中,服务器网站后台服务程序对数据进行解算,用户通过Web网站与手机微信公众号查看实时数据与历史数据。系统架构图如图1所示。

2  系统功能与设计

2.1  服务程序

服务程序为.net的Winform程序。提供设备数据采集、数据解算、控制指令下发、报警消息推送、定时任务下发、触发条件控制、流量卡查询等功能。服务程序通过网站控制台或微信公众号设置的设备信息与相关设备相连。

数据采集功能:服务程序通过Socket通讯与DTU透传设备相连接,通过设定的从站地址、偏执来读取集DTU下传感器等设备传上来的modbus-rtu报文。

数据解算功能:服务程序解算rtu报文解算,通过设定的高低字节与高低位来解算出传感器等设备实际的数值。

控制指令下发:服务程序通过设定的内容拼接RTU写入指令,根据从站地址与偏执对应相关传感器,通过写数据地址与写数据内容来实现下发的控制指令。

报警消息推送:服务程序判断采集上来的数据达到用户设定的特定状态,将消息推送给客户。采用短信与微信的报警方式,通过阿里云的短信发送API接口实现短信发送,通过微信的API接口实现微信消息的发送。

定时任务下发:服务程序判断用户设定的定时任务,拼接RTU写入指令,在用户指定时间或周期发送指令到设备中。

触发条件控制:服务程序判断用户设定的触发器,拼接RTU写入指令,当达到触发条件时发送指令到设备中。

流量卡查询:服务程序在上线时读取DTU设备中手机卡的iccid,在间隔设定周期中通过阿里云物联卡重复查询该手机卡总流量、使用流量与剩余流量。

2.2  控制台网站

控制台网站为.net的Webform程序,包括设备添加、传感器添加、传感器参数设置、触发器添加、定时任务添加、实时数据查询、用户充值、基础设置、系统管理等功能。

设备添加:添加DTU设备,配置DTU设备的IMEI码,根据百度地图API可以标注出DTU设备的经纬度、DTU设备的上传周期等。

传感器添加:选定DTU设备,在该DTU下添加传感器、PLC、数显表等设备。

传感器参数设置:选定DTU设备下的传感器、PLC、数显表等设备。设置从站地址、功能码、偏执、数据格式等信息以便服务程序连接该传感器。

触发器添加:选择DTU下的传感器,设置触发条件以及对应的触发数值。添加报警方式与联系人、转发设备,转发数据等信息。

定时任务:选择DTU下的传感器,设置计划周期与计划类型,设置好下发的数据,实现定时写入RTU指令。

实时数据查询:采用了两秒页面局部刷新,实现实时数据的显示,可以查询实时曲线与历史曲线,通过echart图表的方式展示。实时曲线通过队列的方式显示最近的三十个点的数据。

用户充值:用户线上充值短信条数用于短信提醒,调用微信支付接口,通过回调函数返回的成功信息记录在本地数据库中,达到短信充值的功能。

基础设置:包含通讯协议设置、传感器类型设置、采集周期設置、设置微信图片轮播、功能码维护等功能。

系统管理:包括组织机构管理、岗位信息管理、人员管理、人员查询等功能。

2.3  微信公众号

微信公众号包含的功能与控制台网站的功能相近,包括设备添加、传感器添加、传感器参数设置、触发器添加、定时任务添加、实时数据查询、用户充值、基础设置、系统管理等功能。

微信公众号控制台通过微信网页授权机制来获取用户基本信息,进而实现业务逻辑。微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权(access_token)可以进行授权后接口调用,如获取用户基本信息。用户第一次登录后经获取的微信OPENID更新到物联网平台数据库中,之后登录判断数据库中是否存在此OPENID,若存在使用此OPENID关联的平台账号密码登录。

微信公众号采用MUI框架搭建,MUI是一份基于html5+标准的框架同时拥有h5组件和原生组件,MUI不依赖任何第三方JS库MUI,以iOS平台UI为基础,补充部分Android平台特有的UI控件,给予用户原生的体验。

3  结  论

基于本物联网平台服务,可以实现数据的远程采集、分析和实现与开关的控制。可以将本系统应用于罐区、水利、化工、电厂等封面,实现自动化信息采集、远程监控、报警推送,既节省了安装线管、布线的烦琐,更是方便快捷,用户可以随时随地监控。

参考文献:

[1] 王阳,温向明,路兆铭,等.新兴物联网技术——LoRa [J].信息通信技术,2017,11(1):55-59+72.

[2] 阎坚,桂劲松.基于物联网技术的智慧教室设计与实现 [J].中国电化教育,2016(12):83-86.

[3] 肖清旺,王锦华,朱易翔.物联网智能终端设备识别方法 [J].电信科学,2017,33(2):3-8.

[4] 2016物联网安全白皮书 [J].信息安全与通信保密,2017(2):110-121.

[5] 张龙昌,杨艳红,王晓明.物联网环境下食品安全云计算平台模型 [J].计算机技术与发展,2017,27(1):107-111+116.

[6] 刘云浩.物联网导论 [M].北京:科学出版社,2011.

作者简介:曹玉志(1985-),男,汉族,河北青龙人,软件工程师,软件设计师,学士学位,本科,研究方向:信息化系统系统项目集成。

猜你喜欢

物联网
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者