使用MQTT客户端连接阿里云MQTT服务器-阿里云开发者社区

开发者社区> 阿里云物联网> 正文

使用MQTT客户端连接阿里云MQTT服务器

简介: 物联网全栈教程-从云端到设备(八) 一 这一篇文章零妖老哥将给你展示两个电脑软件的使用方法,将极大地方便你调试与MQTT有关的物联网项目。一个叫MQTT客户端用来模拟设备向云端发送数据和接收云端的数据;另一个叫作MQTT单片机编程小工具,是技小新针对阿里云MQTT服务器连接过程中的痛点,自己编写的一个电脑程序,用来生成连接阿里云MQTT服务器时的账号密码等信息的。

物联网全栈教程-从云端到设备(八)


关注零妖的微信公众号,获取第一手物联网的技术干货:  LINGYAOIOT


这一篇文章零妖老哥将给你展示两个电脑软件的使用方法,将极大地方便你调试与MQTT有关的物联网项目。一个叫MQTT客户端用来模拟设备向云端发送数据和接收云端的数据;另一个叫作MQTT单片机编程小工具,是技小新针对阿里云MQTT服务器连接过程中的痛点,自己编写的一个电脑程序,用来生成连接阿里云MQTT服务器时的账号密码等信息的。

 

首先出场亮相的叫 MQTT.fx-1.3.1 的软件,是一个运行在电脑上的MQTT客户端软件,只要填写一下MQTT服务器(比如阿里云的MQTT服务器)的IP地址,端口号,密码等信息,就可以连接到服务器,然后可以向指定的TOPIC发送内容了,当然你也可以订阅指定的TOPIC

369630715e29730a31fff2987867de2b207df3b7

 

 

零妖带你去配置一下这个MQTT客户端,配置好之后就能模拟设备收发数据了。设置之前,你需要进入阿里云的LinkDevelop平台,进入测试设备的页面,我们要复制一些参数;设置参数的过程中,你需要打开技小新的MQTT单片机编程小工具来配合一下。

如图所示,在设备开发里面的测试设备选项中,你要打开激活凭证,一键复制,到此为止。接下来请出我们的技小新MQTT单片机编程小工具,准备计算一下用户名密码等信息。

 

 dee2cecf64bdc3b9100ef052431f366b520cda14

 

 

下图列出了阿里云官网给出的,MQTT连接时候的账号密码信息的规则,比较繁琐。零妖老哥根据这个规则写的电脑小软件,可以自动计算这些参数。

8f3957da35448fb878d79d1f49c1dbeaf5374995

 

打开技小新MQTT单片机编程小工具,粘贴刚才复制的参数到输入框里面,就可以直接算出来上图中的参数了。

好了,直接复制一些参数到MQTT客户端里面进行设置就行了。参数如下:

MQTT域名;端口;ClientID;  UserName;  Password

如果想发送内容到云端,就复制 “属性上报” TOPIC MQTT客户端,发送内容即可,记住发送的内容要符合ALink规范。

d29e6151a9fbca748aba40810b5746007dc8892e 

8faf84d9f8375e3cae3ce9a64acf39c91babc035

f32803d269727d58ebac030bdab0f85aed9b83bd


 

 

 

好了,现在你返回到MQTT客户端的界面,点击连接试一下吧,一下子就能连上信不信?

然后复制一个叫做 “属性上报” 的TOPIC,写一个符合ALink协议规范的字符串,试一下发送数据。

 52ca4d3ce6a9de56e28e71bbea3a911c0fe65539

 

再进入LinkDevelop 的测试设备的 设备详情 页面查看数据上报结果:

1302863b3c778a8bc38a2e170f12f478ed04fce5

 

 

零妖再从云端下发一个数据,试一下模拟的客户端能否收到。

需要MQTT客户端,订阅一个叫 “设置设备属性” 的TOPIC

 75363b804b80f447094700ee534adc8c5dd8d8b6

 

好了,看下图你就明白了,模拟客户端收到的数据也是符合ALink协议规范的,单片机如果接收到这些数据后,就可以解析了。PS:MQTT通讯协议发送的数据是UTF-8格式的,单片机解码时候遇到中文字符就要小心了,具体怎么解决这个问题零妖也会在后续的文章里说的。

 3be0a3659d5b8171111b550e3d416d859a556bb9

 

 

 

 

说到了这里你肯定已经猜到了零妖的良苦用心了。

两个小工具配合使用能模拟一个设备联网,那么云端开发工程师完全就可以拿着小工具直接调试代码了,根本不用管硬件端在干嘛,是不是?该调用API的该写界面的想咋弄咋弄,是不是很爽?

LinkDevelop平台里,有一个测试设备的接入,硬件工程师只要能够想办法建立一个TCP连接,连接上阿里云的MQTT服务器,那么就可以在平台上下发数据和测试上报数据,请问还用得着关心云端工程师在干啥吗?努力做好单片机开发就行了,是不是很爽?

下一篇文章零妖将带你了解一下云端Web应用开发框架 ——Bone 框架!

 

 

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云物联网
使用钉钉扫一扫加入圈子
+ 订阅

致力于实现万物互联的美好世界,为生态合作伙伴提供基于云计算、大数据、人工智能、云端一体化、安全的物联网基础平台和内容服务平台。

官方博客
物联网相关产品售前咨询
开发者交流群