设备可主动轮询RS485总线上的设备,并将ModBus RTU协议自动转换成阿里的ALink JSON格式,实现设备与阿里云的无缝对接。
本节案例实现功能:
用ModBus Slave软件模拟用户的RS485设备,智嵌物联DTU设备主动轮询RS485设备,并将ModBus RTU协议自动转换成阿里的ALink JSON格式,上传到阿里云,并在阿里云的物模型中将数据显示出来;同时阿里云下发数据,通过DTU设备,将数据传到RS485设备(ModBus Slave软件)。
1.1、硬件连接
1.2、登录阿里云平台
登录阿里云平台,并进入物联网平台。
1.3、创建产品
在阿里云平台上创建新产品,数据格式选择“ICA 标准数据格式(Alink JSON)”。
1.4、添加设备
在上一步创建的产品里添加设备。
1.5、添加物模型
在阿里云平台的产品->功能定义里面设置每个功能标识符的定义(根据每个寄存器的实际类型定义,不然阿里云平台会提示参数类型错误),定义好以后点发布。
1.6、获取设备证书
在相应的设备下得到阿里云平台分配的设备证书:ProductKey、DeviceName、DeviceSecret。复制设备证书,备用。
1.7、获取物理模型订阅/发布Topic
在产品->Topic类列表->物模型通信Topic中找到属性上报的Topic,复制,并将“${deviceName}”替换成自己设备的名称,比如本例中的“4G_RTU”。
/sys/gc10iuSX8gw/4G_RTU /thing/event/property/post
/sys/gc10iuSX8gw/4G_RTU /thing/event/property/post_reply
1.8、获取阿里云的服务器地址和端口号
在用户的阿里云平台账户上,找到开发配置栏,将MQTT设备接入的服务器地址复制,备用。
1.9、配置DTU设备的MQTT参数配置
将以上步骤中获取到的阿里云的服务器地址和端口号、设备证书、物理模型订阅/发布Topic分别粘贴到设备相应的配置里,按照图中所示步骤配置。配置完成后,保存参数并重启设备。
重启设备之后,阿里云平台上的设备状态会从“待激活”,变成“在线”状态。
1.10、DTU设备主动轮询配置
DTU设备会按照设置好的ModBus指令主动轮询RS485总线上的设备,然后将RS485设备应答的数据转换成Alink JSON格式,上传给阿里云平台,并在阿里云平台的物模型界面显示出来。
保存参数之后,重启设备。
1.11、打开ModBus Slave软件
用ModBus Slave软件模拟用户的RS485总线上的设备。
1.12、数据上发
按照以上步骤配置完阿里云平台和DTU设备之后,阿里云平台的物理模型上就会有数据上来。
1.13、数据下发
阿里云平台可以下发数据给设备,设备会主动将Alink JSON格式转换成ModBus RTU格式,转发给RS485设备。
通过DTU设备可以实现用户串口设备与阿里云平台之间的双向数据透传。
本小节实现功能:用串口调试助手模拟用户的串口设备,串口调试助手发数据给DTU设备,DTU设备将收到的串口数据透传到阿里云平台;阿里云平台下发数据到DTU设备,DTU设备将收到的云平台数据转发到串口调试助手上。
设备接入阿里云的步骤如下:
2.1、硬件连接
用网线将智嵌物联串口服务器设备的网口连接至路由器的网口;用USB转串口线连接设备的PORT1和电脑。用电源适配器为设备供电。供电后请先观察设备指示灯是否正常
2.2、创建新产品
在阿里“产品”菜单下,创建新产品,创建新产品时数据格式选择“透传/自定义”
2.3、创建设备
详见1.1节。
2.4获取设备证书
详见1.1节。
2.5、获取阿里云服务器地址
详见1.1节。
2.6、获取物理模型订阅/发布Topic
在产品->Topic类列表->物模型通信Topic中找到属性上报的Topic,复制,并将“${deviceName}”替换成自己设备的名称,比如本例中的“4G_RTU”。
/gc10JnK4an9/4G_RTU /user/one
/gc10JnK4an9/4G_RTU/user/two
2.7、配置DTU设备的MQTT参数配置
将以上步骤中获取到的阿里云的服务器地址和端口号、设备证书、物理模型订阅/发布Topic分别粘贴到设备相应的配置里,按照图中所示步骤配置。配置完成后,保存参数并重启设备。
2.8、测试
串口调试助手向DTU设备发数据,DTU会将接收到的数据透传到阿里云的Topic中,可在以下界面中查看数据信息。
在阿里云平台上,向Topic中发布主题里发送数据,DTU设备会收到该Topic中的数据,并将数据透传到串口调试助手上。可在以下界面发送数据。
重启设备之后,阿里云平台上的设备状态会从“待激活”,变成“在线”状态。
全部0条评论
快来发表一下你的评论吧 !