设备可以主动轮询RS485总线上的设备,并自动将ModBus RTU协议转换为阿里巴巴的ALink JSON格式,实现设备与阿里云的无缝连接。
本节的案例实现函数有:
使用ModBus Slave软件模拟用户的RS485设备。智能嵌入式物联网DTU设备主动轮询RS485设备,自动将ModBus RTU协议转换为阿里巴巴的ALink JSON格式,上传到阿里云,添加到阿里云的对象模型中。显示数据;同时阿里云下发数据,通过DTU设备将数据传输到RS485设备(ModBus Slave软件)。
1.1.硬件连接
1.2.登录阿里云平台
登录阿里云平台,进入IoT平台。
1.3.创建产品
在阿里云平台创建一个新产品,数据格式选择“ICA标准数据格式(Alink JSON)”。
1.4.添加设备
将设备添加到上一步中创建的产品中。
1.5.加法模型
在阿里云平台的产品功能定义中设置各个功能标识的定义(根据各个寄存器的实际类型定义,否则阿里云平台会提示参数类型错误),定义完成后点击发布。
1.6.获取设备证书
获取对应设备下阿里云平台分配的设备证书:ProductKey、DeviceName、DeviceSecret。复制设备证书以供以后使用。
1.7.获取物理模型订阅/发布主题
在“产品-主题类列表-对象模型通信主题”中找到属性上报的主题,复制该主题,并将“${deviceName}”替换为自己的设备名称,例如本例中的“4G_RTU”。
/sys/gc10iuSX8gw/4G_RTU/事物/事件/属性/帖子
/sys/gc10iuSX8gw/4G_RTU/thing/event/property/post_reply
1.8.获取阿里云服务器地址和端口号
在用户的阿里云平台账号上,找到开发配置栏,复制MQTT设备连接的服务器地址,以备后用。
1.9.配置DTU设备的MQTT参数配置
将上述步骤中获取到的阿里云服务器地址和端口号、设备证书、物理模型订阅/发布主题粘贴到设备对应的配置中,按照图中步骤进行配置。配置完成后,保存参数并重启设备。
设备重启后,阿里云平台设备状态将由“待激活”变为“在线”。
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。获取物理模型订阅/发布主题
在“产品-主题类列表-对象模型通信主题”中找到属性上报的主题,复制该主题,并将“${deviceName}”替换为自己的设备名称,例如本例中的“4G_RTU”。
/gc10JnK4an9/4G_RTU/用户/一个
/gc10JnK4an9/4G_RTU/用户/两个
2.7.配置DTU设备的MQTT参数配置
将上述步骤中获取到的阿里云服务器地址和端口号、设备证书、物理模型订阅/发布主题粘贴到设备对应的配置中,按照图中步骤进行配置。配置完成后,保存参数并重启设备。
2.8.测试
串口调试助手发送数据到DTU设备,DTU将接收到的数据透传到阿里云Topic。您可以在以下界面中查看数据信息。
在阿里云平台上,如果向Topic中发布的Topic发送数据,DTU设备会接收该Topic中的数据,并将数据透传给串口调试助手。可以通过以下接口发送数据。
设备重启后,阿里云平台设备状态将由“待激活”变为“在线”。