【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信
2017-08-19 21:55
645 查看
在《程序员》杂志2017.4刊上,曾写过一篇《微软百度阿里三大物联网平台探析》,上面曾介绍了阿里云物联网套件的一些内容,在写该篇文章的时候,凌霄物联网网关还无法对接到此平台(TLS必须1.1版本以上)。但是随着阿里云物联网套件的不断发展,目前设备除了支持HTTPS认证外,也支持MQTT客户端域名直连认证(可以是TCP直连模式,也可以是TLS直联模式)。
最近有幸参与了阿里的飞凤物联网平台计划,可以更为深入的去研究阿里云物联网套件,除了用直接编写代码连接云外,也尝试用组态的方式去对接阿里云物联网套件。
相对而言,阿里云物联网套件,云端的操作简单易用。
第一步:创建产品(目前杭州点已经不支持创建产品),创建产品成功后,会产生一个ProductKey。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/c05dd19eeec28edaac8b622884be188d.png)
第二步:添加设备。可以添加若干设备,为每个设备配置Topic列表。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/0480e7f87d17eb6de4f53becfb8aa31e.png)
添加设备后,设备证书里面的设备名称(deviceName)和设备密钥(deviceSecret)是我们连接云端设备所必要的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/4d19168a2fffd1150fe2478050d270a1.png)
每个设备创建后,默认就自动拥有了如下3个Topic。用户可以根据需要自行添加。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/6d811bed13e2fedcdc223233a519cdf5.png)
云端做了这些工作,我们就可以在设备中编写程序和云端通信了。
MQTT需要对接的服务器域名为:”$productKey. iot-as-mqtt.cn-shanghai.aliyuncs.com”,其中$productKey用实际的产品密钥来替换,端口号默认为1883。
MQTT连接需要三个参量:mqttClientId, mqttUsername, mqttPassword
这个三个参量如何根据productKey、deviceName和deviceSecret来创建,可以参考阿里云物联网套件的相关文档说明,链接如下:https://help.aliyun.com/document_detail/30539.html?spm=5176.doc42743.6.574.ewvmlO
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/0818f58caed4aaec675add92e1733483.png)
代码编程完成后,部署到凌霄智能网关运行后,就可以在“日志服务”页面看到设备上线及设备发送的各种信息通知了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/55fdf0e1df2acb9efb632da710ae1619.png)
除了自行编写代码外,为了便于各种传感器和智能模块的接入,我们还采用了YFIOs组态的方式去连接阿里云物联网套件,这样无需编程,就可以快速和云端进行双向通信了。
第一步:添加智能设备
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/aea38745f45a01959b1777643182b938.png)
添加设备的同时,IO变量会自动创建。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/b371cc9a4243ddbb06fc3470bf68c281.png)
第二步:添加系统策略:阿里云物联网套件客户端
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/b2aa808cbf11a6a399d5411a1e0a9151.png)
填写必要的参数,勾选需要上传到物联网套件的IO变量。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/cfee10a084e2a8a5b7ca32ea5785840b.png)
第三步:部署运行
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/15144d5add0e73be4140b807b4bdf87e.png)
运行后,我们查看设备的状态,已经在线,也会在“日志服务”中看到数据上传的信息。
最近有幸参与了阿里的飞凤物联网平台计划,可以更为深入的去研究阿里云物联网套件,除了用直接编写代码连接云外,也尝试用组态的方式去对接阿里云物联网套件。
相对而言,阿里云物联网套件,云端的操作简单易用。
第一步:创建产品(目前杭州点已经不支持创建产品),创建产品成功后,会产生一个ProductKey。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/c05dd19eeec28edaac8b622884be188d.png)
第二步:添加设备。可以添加若干设备,为每个设备配置Topic列表。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/0480e7f87d17eb6de4f53becfb8aa31e.png)
添加设备后,设备证书里面的设备名称(deviceName)和设备密钥(deviceSecret)是我们连接云端设备所必要的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/4d19168a2fffd1150fe2478050d270a1.png)
每个设备创建后,默认就自动拥有了如下3个Topic。用户可以根据需要自行添加。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/6d811bed13e2fedcdc223233a519cdf5.png)
云端做了这些工作,我们就可以在设备中编写程序和云端通信了。
MQTT需要对接的服务器域名为:”$productKey. iot-as-mqtt.cn-shanghai.aliyuncs.com”,其中$productKey用实际的产品密钥来替换,端口号默认为1883。
MQTT连接需要三个参量:mqttClientId, mqttUsername, mqttPassword
这个三个参量如何根据productKey、deviceName和deviceSecret来创建,可以参考阿里云物联网套件的相关文档说明,链接如下:https://help.aliyun.com/document_detail/30539.html?spm=5176.doc42743.6.574.ewvmlO
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/0818f58caed4aaec675add92e1733483.png)
代码编程完成后,部署到凌霄智能网关运行后,就可以在“日志服务”页面看到设备上线及设备发送的各种信息通知了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/55fdf0e1df2acb9efb632da710ae1619.png)
除了自行编写代码外,为了便于各种传感器和智能模块的接入,我们还采用了YFIOs组态的方式去连接阿里云物联网套件,这样无需编程,就可以快速和云端进行双向通信了。
第一步:添加智能设备
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/aea38745f45a01959b1777643182b938.png)
添加设备的同时,IO变量会自动创建。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/b371cc9a4243ddbb06fc3470bf68c281.png)
第二步:添加系统策略:阿里云物联网套件客户端
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/b2aa808cbf11a6a399d5411a1e0a9151.png)
填写必要的参数,勾选需要上传到物联网套件的IO变量。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/cfee10a084e2a8a5b7ca32ea5785840b.png)
第三步:部署运行
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/15144d5add0e73be4140b807b4bdf87e.png)
运行后,我们查看设备的状态,已经在线,也会在“日志服务”中看到数据上传的信息。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/19/b4205106190e0e0b9d15fcc278ca5a9d.png)
相关文章推荐
- 【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信
- 【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信
- 【物联网云端对接-4】通过MQTT协议与百度云进行云端通信
- 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信
- 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信
- 【物联网云端对接-4】通过MQTT协议与百度云进行云端通信
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
- 使用nodeMCU平台mqtt协议实现物联网通信
- Android通过https协议与服务器端进行通信
- Android通过https协议与服务器端进行通信
- 网关正式支持MQTT物联网通信协议,PLC到MQTT,一个网关即可
- nodemcu通过MQTT协议进行通讯
- 阿里云 物联网套件 MQTT Swift 搭建-基于Tcp连接-域名连接模式
- 通过网络抓包学习物联网流行协议(MQTT)
- 物联网通信协议之MQTT
- 工业物联网的云端协议将以MQTT+SSL/TLS为主,协议格式以JSON为主
- 编写高质量OC代码52建议总结:23.通过委托与数据源协议进行对象间通信
- 物联网传输协议MQTT
- 针对物联网中MQTT协议的学习(一)