【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信

 在《程序员》杂志2017.4刊上,曾写过一篇《微软百度阿里三大物联网平台探析》,上面曾介绍了阿里云物联网套件的一些内容,在写该篇文章的时候,凌霄物联网网关还无法对接到此平台(TLS必须1.1版本以上)。但是随着阿里云物联网套件的不断发展,目前设备除了支持HTTPS认证外,也支持MQTT客户端域名直连认证(可以是TCP直连模式,也可以是TLS直联模式)。

最近有幸参与了阿里的飞凤物联网平台计划,可以更为深入的去研究阿里云物联网套件,除了用直接编写代码连接云外,也尝试用组态的方式去对接阿里云物联网套件。

相对而言,阿里云物联网套件,云端的操作简单易用。

第一步:创建产品(目前杭州点已经不支持创建产品),创建产品成功后,会产生一个ProductKey。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第1张图片

第二步:添加设备。可以添加若干设备,为每个设备配置Topic列表。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第2张图片

添加设备后,设备证书里面的设备名称(deviceName)和设备密钥(deviceSecret)是我们连接云端设备所必要的。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第3张图片

每个设备创建后,默认就自动拥有了如下3个Topic。用户可以根据需要自行添加。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第4张图片

云端做了这些工作,我们就可以在设备中编写程序和云端通信了。

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

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第5张图片

代码编程完成后,部署到凌霄智能网关运行后,就可以在“日志服务”页面看到设备上线及设备发送的各种信息通知了。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第6张图片

除了自行编写代码外,为了便于各种传感器和智能模块的接入,我们还采用了YFIOs组态的方式去连接阿里云物联网套件,这样无需编程,就可以快速和云端进行双向通信了。

第一步:添加智能设备

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第7张图片

添加设备的同时,IO变量会自动创建。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第8张图片

第二步:添加系统策略:阿里云物联网套件客户端

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第9张图片

填写必要的参数,勾选需要上传到物联网套件的IO变量。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第10张图片

第三步:部署运行

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第11张图片

运行后,我们查看设备的状态,已经在线,也会在“日志服务”中看到数据上传的信息。

【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信_第12张图片

你可能感兴趣的:(〖嵌入式〗,〖.Net,MF〗,〖自动化〗,.NET,Micro,Framework)