前提准备
- ZLAN-5144(卓岚) 网关 1个
- Comdebug 串口调试工具1个 (模拟网关连接的设备,后可以更换为实际设备)
- 阿里云物联网平台公共实例(在阿里云平台直接开通即可)
- 确保你的电脑能连接外网
创建阿里云物联网平台公共实例
登录阿里云后,搜索 “物联网平台” 进入
由于我的已经开通过,如果未开通应该会有开通的操作按钮
创建产品
打开 【设备管理】-> 【产品】并点击创建产品
image.png image.png- 产品名称(自定义)
- 所属品类(自主选择)
- 节点类型选择直连设备
- 连网方式-以太网
- 数据格式 ALINK JSON
填写完表单点保存就可以创建产品
创建产品 自定义 Topic
image.png创建一个网关订阅,接收平台到设备的Topic /a1PawoZWSJr/${deviceName}/user/get
image.png
创建一个由设备上报至平台的Topic /a1PawoZWSJr/${deviceName}/user/update
操作权限 要选择发布和订阅(后面AMQP 服务订阅的时候只有这个才能成功推送不然会抛 9203 异常 https://help.aliyun.com/zh/iot/user-guide/iot-platform-logs)
完成以上步骤,基本就完成 了产品的配置,接下来是配置设备
在产品下创建设备
打开 【设备管理】-> 【设备】并点击创建设备
image.png image.png
填写表单并保存创建产品
上面就完成了平台侧的配置。接下来就是 ZLAN 网关侧的配置。
首先找一根网线将设备连接到电脑上。并找一根 串口转换器,(485 - USB)通讯线将设备的485 端口连接至PC 上。完成硬件连接通电
打开ZLANVirCom 配置参数
image.png打开【设备管理】点击 自动搜索设备,即可找到与PC 连接的网关设备。并双击即可打开设备参数配置页面
image.png image.png固件与配置
找到右下角的【固件与配置】按钮打开配置弹窗,并点击MQTT配置 打开 MQTT 配置页面
image.png
前往阿里云-物联网平台找到设备管理下的设备管理页面查看 MQTT 连接参数
image.png image.png
MQTT 连接参数设置说明
- 服务器域名或IP 填写 阿里云平台的 mqttHostUrl
- 端口填写 port对应 的值
- 用户名填写 username 字段值
- 密码 填写 passwd 字段值
- 客户端ID 填写 clientId 字段值
- 订阅主题 配置 Topic 中的订阅Topic 在这个示例中是 /a1PawoZWSJr/${deviceName}/user/get 并将deviceName 填的为在云平台的设备名称(DeviceName)对应的值
- 订阅主题 配置 Topic 中的订阅Topic 在这个示例中是 /a1PawoZWSJr/${deviceName}/user/update 并将deviceName 填的为在云平台的设备名称(DeviceName)对应的值
完成配置后,点击保存MQTT调协,返回后点击下载即完成了硬件端的配置。此时网关会自动重启,等重启后即可开始通讯 测试
通讯测试 云平台至网关通讯
image.png image.png在平台设备 Topic 找到发布按钮,就可以填写内容发差给网关。如果通讯 正常会在comdebug 的接收窗口中看到推送的消息
image.png image.png在comdebug 的发送窗口中输入 内容并发送,就可以在 设备管理页面的日志管理中看到设备发送至平台的消息
image.png image.png image.png到此平台和网关的通讯 就一切配置正常了。
AMQP 客户端接收物联网平台消息
什么是服务端订阅查看 阿里云平台技术文档 https://help.aliyun.com/zh/iot/user-guide/what-is-server-side-subscription?spm=a2c4g.11186623.0.0.6efa53ddRel1I1
创建一个消费组
打开 消息转发 - 服务端订阅,点击消费组列表,点击创建消费组,输入消费组名称后保存即创建一个消费组
image.png
配置订阅
打开 消息转发 - 服务端订阅,点击消费组列表,点击订阅列表,按下图配置好后,即建立了一个服务端订阅。
image.png
完成AMQP 客户端订阅配置
这里以阿里云 的示例代码讲解
AMQP 客户端 接入说明查看 技术文档 https://help.aliyun.com/zh/iot/developer-reference/connect-an-amqp-client-to-iot-platform?spm=a2c4g.11186623.0.i7#concept-525963
这里以 java 项目为示例,将技术文档的示例代码下载下来。通过开发器打开项目,安装好依赖即可。有几点要注意的
accessKey & accessSecret 参数
打开阿里云控制台,点击右上角的用户头像打开 AccessKey 管理即可生成并获取2个参数。accessSecret 需要 自己保管好,后续更换比较麻烦(如果上线后)
iotInstanceId:实例ID。若是2021年07月30日之前(不含当日)开通的公共实例,请填空字符串。
clientId 填写你准备运行DEMO 项目的机器的MAC 地址
host 参数的配置,在文档中 会按协议有一个模板: https://help.aliyun.com/zh/iot/user-guide/manage-the-endpoint-of-an-instance?spm=a2c4g.11186623.0.i10#task-1545804
由于 我们采用的是AMQP 协议,所以找到表中的AMQP接入
image.png
参数 | 说明 |
---|---|
${YourProductKey} |
请替换为设备所属产品的ProductKey。您可登录物联网平台控制台,在对应实例的设备详情页面获取。 |
${YourRegionId} |
请替换为您的物联网平台设备所在地域的Region ID。Region ID表达方法,请参见支持的地域。 |
${uid} |
请替换为您的阿里云账号ID。您可登录物联网平台控制台,移动鼠标指针到账号头像,查看账号ID。 |
配置完成 这几个参数后就可以运行项目
当项目成功运行后,我们通过 comdebug 发送消息,阿里云平台会向我们的项目推送一条消息,成功接收到物联网平台推送过来的消息。
image.png image.png
后续: 会将comdebug 替换为一个 485控制的继电器模块。并接入小程序做一个演示
完成 485 继电器模块接入网关
查看配置文章:
https://www.jianshu.com/writer#/notebooks/20376013/notes/118864593
如果配置中有异常请查看下文章
异常处理:https://www.jianshu.com/writer#/notebooks/20376013/notes/118944668
完成阿里云的接入配置后。可以在日志正常看到网关上报 的设备状态
image.png
通过云端下发控制指令测试
配置AMQP服务端订阅后,物联网平台会自动将设备消息转发到AMQP客户端,不需要在代码中订阅Topic,只要AMQP客户端在线就可以接收消息。不能通过AMQP服务端订阅向设备下发消息,如果需要请调用消息通信的API。
通过云端向指定设备发消息
https://api.aliyun.com/document/Iot/2018-01-20/overview
网友评论