mqtt 获取 状态_使用Mirco850进行MQTT数据发布

使用Mirco850进行MQTT数据发布

Adam.Sun

摘要

       罗克韦尔的小型控制器提供MQTT UDFB功能块进行MQTT报文的发布和订阅功能,本文将基于Mirco850和悉息掌控数字化云平台进行MQTT数据发布功能演示。

8883ac420955e3b882cca64b3f79fd27.png

1、Mirco850 MQTT样例程序下载

打开RA官网,在Sample Code Library样例程序库中搜索MQTT。

f526991ff576a2eccb580dcb53013829.png

点击下载Mirco800 UDFB:MQTT sample code

493a7a25487b8a59d175f88c4cf14eeb.png

下载完成后打开压缩包,里面包含一个说明文档和一个Mirco800样例程序。

8b5da62f2df0d5cbd1d2b866781d2c77.png

注:由于Mirco800的MQTT样例程序中不能直接识别数据云服务器的Host地址,因此我们需要将Host地址解析为IPv4的地址进行使用,因此需要在Sample Code Library样例程序库中搜索“DNS_RESOLVE_HOST_NAME”样例程序。

7dfd2074a23787b51e896f33b94fa7de.png

37bbba840af6f084ad5b5774a2398908.png

2、创建MQTT数据云服务器通道

首先我们使用悉息科技的MQTT服务器进行测试,也可使用其他类似云端服务器。

登录服务器中台:https://witjoint.console.******.com/login

f0fc112d44d9b1c2d98d3c748009e11e.png

在连接中创建MQTT连接

221526c62ef92290cf30b64c704a1af1.png

创建MQTT通道并命名

a668ede9c220e5597bee69abea78e138.png

获取到MQTT通道连接信息如下图,在Node-Red中会使用到:

服务器地址Host:iothub.aliyun.zhangkong365.com

端口Port:1883

用户名Username:adam

密码Password:******

通道名称Topic:Channel/5f841565256aba158221f9e2/M850

008f3ae97b2c4823d2bdd633bdc5f04f.png

3、配置Mirco850 MQTT程序

       导入MQTT样例程序项目。

ae46072ec7bb6e22ae1d65003d2738ec.png

打开下载的MQTT样例程序,后缀.ccwarc CCW存档文件。

2ca09c34540d13bd81faad47a2c3cb09.png

导入后,程序包含一个主程序和三个用户自定义功能块。

ff9860225ca9f5d8568f802897ed300a.png

       导入DNS解析域名程序。

b9d6fe3bc09d44094fc50606c04b8fda.png

5571f7db263d909c8dc84d9781299389.png

       导入后,程序会多一个用户自定义功能块。

22281560d99bede60e8415c4756c32d2.png

     4、Mirco850 MQTT数据发布测试

我们需要对样例程序做一些微调以便进行功能测试。

       1)、获取数据云服务器IP地址

       将计算机和Mirco850接入互联网,并设置IP地址为自动获取状态,确认DNS服务器IP地址。

b5cde0b55b1a16db4dcd00deb3d4f06f.png

       获取数据云服务器的IP地址,

       HostName:数据云服务器域名

       DNSServer:本地路由器的DNS服务器IP地址

       HostIP:解析得到的数据云服务器IP地址

97399c47aacca5c1560ca4439854bddb.png

       2)、建立MQTT连接

       设置locServer的IP地址(即上面获取的HostIP)和端口号;

       设置userID和userPass,参考上文数据云的用户名和密码;

       ConnectCmd触发连接命令,当socketSts状态为9时表示连接成功。

cde3de3a98396d1bb0ae8376ce38df89.png

       3)、发布MQTT报文

       设置pubTopic通道名称,参考上文数据云的通道名;

       设置pubData发布数据,需要参考JSON数据格式,使用字符串进行拼接。

       采用1s触发一次,此处可以看到Sts_Done状态为正常。

21c3c5c659d230746d1f6dbbd40678ed.png

       字符串的拼接可参考如下

0456e7075b7403449fbbff2ad6b3b9ef.png

       每秒触发可参考如下

843798a8019a9c5cddcb43161590c4bc.png

       4)、数据云确认接收MQTT报文

ace6a882e60da565333999ae7780d006.png

       此处可看到报文接收正常,至此Mirco850进行MQTT数据发布测试完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值