物联网全栈教程-从云端到设备(八)
关注零妖的微信公众号,获取第一手物联网的技术干货: LINGYAOIOT
一
这一篇文章零妖老哥将给你展示两个电脑软件的使用方法,将极大地方便你调试与MQTT有关的物联网项目。一个叫MQTT客户端用来模拟设备向云端发送数据和接收云端的数据;另一个叫作MQTT单片机编程小工具,是技小新针对阿里云MQTT服务器连接过程中的痛点,自己编写的一个电脑程序,用来生成连接阿里云MQTT服务器时的账号密码等信息的。
二
首先出场亮相的叫 MQTT.fx-1.3.1 的软件,是一个运行在电脑上的MQTT客户端软件,只要填写一下MQTT服务器(比如阿里云的MQTT服务器)的IP地址,端口号,密码等信息,就可以连接到服务器,然后可以向指定的TOPIC发送内容了,当然你也可以订阅指定的TOPIC。
三
零妖带你去配置一下这个MQTT客户端,配置好之后就能模拟设备收发数据了。设置之前,你需要进入阿里云的LinkDevelop平台,进入测试设备的页面,我们要复制一些参数;设置参数的过程中,你需要打开技小新的MQTT单片机编程小工具来配合一下。
如图所示,在设备开发里面的测试设备选项中,你要打开激活凭证,一键复制,到此为止。接下来请出我们的技小新MQTT单片机编程小工具,准备计算一下用户名密码等信息。
四
下图列出了阿里云官网给出的,MQTT连接时候的账号密码信息的规则,比较繁琐。零妖老哥根据这个规则写的电脑小软件,可以自动计算这些参数。
打开技小新MQTT单片机编程小工具,粘贴刚才复制的参数到输入框里面,就可以直接算出来上图中的参数了。
好了,直接复制一些参数到MQTT客户端里面进行设置就行了。参数如下:
MQTT域名;端口;ClientID; UserName; Password 。
如果想发送内容到云端,就复制 “属性上报” TOPIC 到MQTT客户端,发送内容即可,记住发送的内容要符合ALink规范。
五
好了,现在你返回到MQTT客户端的界面,点击连接试一下吧,一下子就能连上信不信?
然后复制一个叫做 “属性上报” 的TOPIC,写一个符合ALink协议规范的字符串,试一下发送数据。
再进入LinkDevelop 的测试设备的 设备详情 页面查看数据上报结果:
六
零妖再从云端下发一个数据,试一下模拟的客户端能否收到。
需要MQTT客户端,订阅一个叫 “设置设备属性” 的TOPIC 。
好了,看下图你就明白了,模拟客户端收到的数据也是符合ALink协议规范的,单片机如果接收到这些数据后,就可以解析了。PS:MQTT通讯协议发送的数据是UTF-8格式的,单片机解码时候遇到中文字符就要小心了,具体怎么解决这个问题零妖也会在后续的文章里说的。
七
说到了这里你肯定已经猜到了零妖的良苦用心了。
两个小工具配合使用能模拟一个设备联网,那么云端开发工程师完全就可以拿着小工具直接调试代码了,根本不用管硬件端在干嘛,是不是?该调用API的该写界面的想咋弄咋弄,是不是很爽?
在LinkDevelop平台里,有一个测试设备的接入,硬件工程师只要能够想办法建立一个TCP连接,连接上阿里云的MQTT服务器,那么就可以在平台上下发数据和测试上报数据,请问还用得着关心云端工程师在干啥吗?努力做好单片机开发就行了,是不是很爽?
下一篇文章零妖将带你了解一下云端Web应用开发框架 ——Bone 框架!