OneNET是由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署。但是对于传统电气工程师的传感器、串口设备、PLC等似乎连接到OneNET是一个复杂的过程,本文就介绍如何将传统的设备连接到OneNET。
这里主要介绍2类设备接入OneNET,第一类是串口设备,比如RS485/232设备,这些设备一般采用Modbus RTU或者645协议。此时使用串口转JSON网关可以实现接入OneNET。
第二类是将数字量输入、模拟量输入,这些量采集后需要上传OneNET,或者通过OneNET下发控制继电器输出。此时,可以使用ZLAN6844,DI、AI、DO转JSON网关来实现,使用方法类似第一类。这里主要以第一类为例介绍采用MQTT+JSON格式对接OneNET平台上传Modbus RTU设备数据。
请登录http://open.iot.10086.cn/,注册OneNET账号。注册过程比较简单这里就不再累述。登录后进入开发者中心,点击左上角全部产品,全部产品多协议接入MQTT(旧版)。然后点击“添加产品”。
假设这里添加一个“我的测试”这样的产品,其它选择可以按照实际情况进行。
提示添加设备(后面也可以通过点击产品设备列表添加设备来增加设备)。这里添加一个“我的设备”这样的设备。这里的“鉴权信息”是后面设备连接时用到的,鉴权信息是自己输入的随意的密码。
这样OneNET端的操作就完成了。
假设我们需要将一个站地址为1、功能码为03、寄存器为01的仪表数据上传到OneNET,这里需要一个MQTT+JSON转Modbus功能的网关(比如ZLAN5144J)。拿到网关之后,将这个仪表连接到网关的RS485接口,连接上网线,使用ZLVircom工具进行网关配置。进入ZLVircom的设备管理→搜索设备→选中设备→编辑设备→固件与配置:
点击“JSON配置”,打开JSON转Modbus RTU设置对话框。
在接入云平台那里选择“OneNET”。然后点击“JSON上发”进行Modbus寄存器配置,返回后还需要点击“保存JSON设置”,然后点击返回。这里先介绍一下“JSON上发”配置:
这里将这个数据点的名称设置为mydata(后面OneNET平台会显示这个名称)。站地址为1、功能码为03、寄存器地址为1。点击“保存全部并退出”,这样回到上一个对话框后点击“保存JSON设置”后,点击“返回”。此时系统提示是否进行MQTT配置,由于我们采用MQTT协议和OneNET平台对接,所以这里需要点击“是”。
在MQTT配置对话中只需要填写3个参数即可,其中的用户名即产品概述中可查的产品ID,密码即设备信息中可查的鉴权信息,客户端ID即设备列表中可查的设备ID。配置好后,点击“保存MQTT设置”,返回到第一个“固件与配置”对话框,点击“下载”按钮,下载配置到网关内部,网关随后重启。此时看到官网的TCPLink灯蓝色点亮,并且在OneNET上看到这个在线了。
当设备连接上OneNET之后,设备就按照之前配置的1000ms(1秒)上发一次mydata的当前值。在设备列表中,点击“数据流”可以看到数据。
可以看到现在在数据流中已经有了我们添加的json关键词对应的数据“mydata”,现在数据个数已经上发286个。
点击mydata这个数据,还可以看到数据的历史曲线。
另外使用OneNET的MQTT接入方式还可以实现设备和设备之间的通讯,OneNET平台下发数据给Modbus RTU控制器等。由于篇幅所限这里无法一一详述。总之使用OneNET平台配合MQTT+JSON转Modbus RTU的网关,可以快速实现传感器和OneNET平台的对接,是物联网设备连接现在流行云平台的快速方法。
MQTT网关服务器连接阿里云关联物模型