MQTT客户端软件(MQTT.fx)测试连接阿里云物联网平台的基本使用
MQTT客户端软件(MQTT.fx)测试连接阿里云物联网平台的基本使用
一、前言
在我们嵌入式开发项目的过程中,很多时候我们都需要搭建一个物联云平台,以实现对管理物联网设备,实现智能化管理,提升运营效率、优化资源配置,但对于一个嵌入式开发者来说,要从零开始搭建一个物联网云平台谈何容易。而一些大公司如阿里、中国移动等等有提供一些不错的物联网云平台服务,我们加以利用,可以很快的搭建出一个自己的物联网云平台。本篇博客主要介绍如何在阿里云搭建一个物联网云平台及云平台的一些基本使用。
二、阿里云物联网云平台的搭建
首先我们打开阿里云,然后有账号的直接登录,没有账户先注册再登录。

登录成功后,首先要完成我们的实名认证,然后在右上角搜索框搜索物联网平台,点击下面控制台的物联网平台进入新页面。

如果你是新注册的,新页面会显示你需要开通服务,点击开通等待几分钟就好,我这里已经开通(试用)了。

点击公共示例,进入页面,点击产品–>创建产品。

然后依次输入产品名称–>自定义品类–>直连设备,然后点击确认。

然后点击设备–>添加设备,选择刚刚创建的产品–>输入设备名->输入备注,再点击确认即可成功在云平台上创建一个设备(我这里创建了一个开关)。

点击完成。

可以看到下面多了一个设备Button,并显示未激活状态。

然后点击该选项,进入该设备的信息页面了,点击查看MQTT连接参数就可以看到该设备的MQTT连接参数了。

为了方便后面的测试,我们这里重复上面的步骤,多添加一个名为MyLED的设备。

到此,我们的云平台设备创建完成了,可以开始进行测试步骤了。
三、云平台设备测试(MQTT连接设备)
1.mqtt.fx测试设备连接
为了方便测试,我这里使用了MQTT.fx客户端测试工具,这个可以去官网下载(点击跳转),选择对应的操作系统下载即可,好像有三个月的免费试用。也可以下载1.7.1版本,这个版本免费使用,我这里也为大家准备好安装包了(百度云下载),我目前使用的是官方的最新版。
打开mqtt.fx软件,进入页面后点击齿轮进入配置页面。

进入页面后有主要有四个要填写的参数,也就是我们在阿里云上新建设备的MQTT参数。

例如我这里要连接我的Button设备,依次复制粘贴进去后点击应用和确认。

回到主页,点击Connect,等待一会可以看到右侧指示灯由红变绿,表示连接设备成功。

回到阿里云设备页面,可以看到Button设备已在线。

2. 测试向阿里云发送数据(设备–>云平台)
回到阿里云,依次点击产品–>进入Test产品页面。

因为我们的设备是自定义类,所以进入自定义Topic页面,下面就是我们设备数据发布和订阅所用的Topic。所谓Topic,是我们消息发布和订阅者之间的传输中介,即设备端和服务端是通过Topic来实现消息通信的。

我们需要测试向阿里云发送数据,也就是测试设备向服务器发送数据的操作。因此我们需要用到上面的“发布”Topic,复制上面的第二个Topic代码,回到mqtt.fx工具,复制到publish输入框,然后把${deviceName}替换成我们的设备名,我这里是Button设备。

测试发送消息{‘status’:on},好像新版本的mqtt.fx那个Corelation Data输入内容不能为空,为空发送消息会失败,所以在这个输入框随便输入点东西,然后在发送信息框输入信息{‘status’:on},然后点击Publish按钮。

然后回到阿里云,点击Button设备,点击日志服务,点击前往查看。

可以看到最新消息,点击查看。

可以看到我们发送的信息。

到这里我们设备向云平台发送数据测试成功了。
3.测试设备接收云平台数据(云平台–>设备)
回到阿里云产品的自定义Topic,复制第一条订阅代码。

回到mqtt.fx工具,进入Subscribe订阅,粘贴刚刚复制的代码,设备名修改为Button,然后点击Subscribe订阅按钮。

回到阿里云设备页面,点击进入Button设备页面。

进入Topic列表,可以看到列表多了一项,点击发布消息。

输入发布的消息内容。点击确认,可以看到发布成功。

回到mqtt.fx,可以看到消息窗口有接收到数据,就是我们刚刚在云平台发送的消息。

4. 设备间数据流转
我这里测试开始我新建的两个设备间的数据流转,分别是Button和MyLED,回到阿里云–>消息转发–>创建解析器,分别创建Button_To_LED和LED_To_Button解析器。

创建完成后,先配置Button_To_LED解析器,点击查看进入配置页面。

依次点击关联数据源–>创建数据源,输入数据源名称后点击确认。

回到关联数据源,选择刚刚新建的Button数据源,然后点击确认。

点击查看。

点击添加Topic,依次选定设备所属产品、设备名、以及Topic。

确认后返回页面,点击数据目的然后关联数据目的。

创建数据目的。

依次填写数据目的名称、以及所属产品。

回到关联页面,关联刚刚的数据目的,点击确认。

然后点击解析器脚本,修改代码,依次替换成自己的解析器ID,产品的productKey以及设备名,我这是让数据流转至LED设备,所以设备名为上面新建的MyLED。

完成后点击发布。

这样第一个Button_To_LED的解析器配置完成了,点击启动。

然后我们配置第二个解析器LED_To_Button,跟前面类似,这里创建LED数据源,然后添加Topci。

然后新建并添加LEDToButton数据目的,然后关联该数据目的。

最后添加解析器,填上对应的解析器ID、产品ID以及设备名,由于数据要流转至设备Button,所以这里的设备名写Button,然后点击发布。

回到解析器页面,点击启动,这样两个设备间的数据流转就配置完成了。

然后我们来进行测试,打开mqtt.fx软件,开启两个mqtt.fx窗口,分别连接阿里云的Button设备和MyLED设备。具体怎么连接看我文章上面有介绍了,这里就不细说了。

然后切换到订阅页面,分别订阅。

然后就可以分别接收到各自发送信息了,例如我在Button连接的页面发送数据‘I am Button’。

可以在MyLED的订阅页面看到有正确接收到了数据,表示测试成功!然后测试在MyLED向Button发送数据:‘I am MyLED’。

可以看到Button端的订阅页面也能看到接收到MyLED发送的信息。测试完美完成!!都看到这了,一键三连不过分吧哈哈!
四、结束语
为了详细点,截图和整理好嘞ヽ( ̄▽ ̄)و(作者本人心也累),mqtt连接阿里云的介绍先介绍到这里了,后续我还会为大家带来ESP826601s模块如何使用AT指令连接阿里云以及Arduino+ESP826601s+DHT11连接阿里云的介绍,敬请期待好吧。好了,还是那句话,我是“风行男孩”,咱们有缘再见!(码字不易,转载请标明出处!如若本文有帮助,留个痕迹,点个赞即可O(∩_∩)O哈哈~)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)