美文网首页
ZLAN-5144 通过MQTT 连接阿里云物联网平台(公共实

ZLAN-5144 通过MQTT 连接阿里云物联网平台(公共实

作者: BitMonkey | 来源:发表于2024-03-20 17:04 被阅读0次

    前提准备

    1. ZLAN-5144(卓岚) 网关 1个
    2. Comdebug 串口调试工具1个 (模拟网关连接的设备,后可以更换为实际设备)
    3. 阿里云物联网平台公共实例(在阿里云平台直接开通即可)
    4. 确保你的电脑能连接外网

    创建阿里云物联网平台公共实例

    登录阿里云后,搜索 “物联网平台” 进入
    由于我的已经开通过,如果未开通应该会有开通的操作按钮

    image.png

    创建产品

    打开 【设备管理】-> 【产品】并点击创建产品

    image.png image.png
    1. 产品名称(自定义)
    2. 所属品类(自主选择)
    3. 节点类型选择直连设备
    4. 连网方式-以太网
    5. 数据格式 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 连接参数设置说明

    1. 服务器域名或IP 填写 阿里云平台的 mqttHostUrl
    2. 端口填写 port对应 的值
    3. 用户名填写 username 字段值
    4. 密码 填写 passwd 字段值
    5. 客户端ID 填写 clientId 字段值
    6. 订阅主题 配置 Topic 中的订阅Topic 在这个示例中是 /a1PawoZWSJr/${deviceName}/user/get 并将deviceName 填的为在云平台的设备名称(DeviceName)对应的值
    7. 订阅主题 配置 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

    配置订阅

    打开 消息转发 - 服务端订阅,点击消费组列表,点击订阅列表,按下图配置好后,即建立了一个服务端订阅。


    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

    image.png

    相关文章

      网友评论

          本文标题:ZLAN-5144 通过MQTT 连接阿里云物联网平台(公共实

          本文链接:https://www.haomeiwen.com/subject/eruxtjtx.html