1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机)

马肤

温馨提示:这篇文章已超过438天没有更新,请注意相关的内容是否还可用!

摘要:本文介绍了使用MQTT接入阿里云物联网平台的基本控制篇。涵盖了C#、网页、Android、微信小程序和单片机等设备的接入方式。通过阿里云物联网平台,实现对设备的远程监控和管理,包括设备数据的采集、传输和控制等功能。本文提供了相关的技术指导和实现方法,为开发者提供了便捷的工具和解决方案。

前言

这节测试下使用STM32+EC800 和 Android 和 微信小程序 和 网页端 接入阿里云物联网平台

当前的各种物联网平台整体思想是提供一个网页端让用户去注册设备

这个设备就对应一个MQTT客户端,然后把这个设备的信息放到单片机/APP/微信小程序上使用.

单片机/APP/微信小程序等就作为了客户端接入了物联网平台.

物联网平台应该说是对设备进行管理的平台.

开通阿里云物联网平台

https://www.aliyun.com/

1.搜索阿里云物联网平台(如果没有开通请自行开通)

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第1张

创建产品(并在产品下面添加设备)

1.咱们做产品的时候,一般都是有个产品.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第2张

2.设置下产品的名称

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第3张

3.产品弄好了,就要在产品下面挂上设备

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第4张

4.设置下添加的设备的名字

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第5张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第6张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第7张

注意:看看自己的这里是那个区域的,后面会用到

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第8张

提示:后面咱就会使用下面三个参数(三元组)组合MQTT参数

"ProductKey": "a1m7er1nJbQ",

"DeviceName": "Mqtt",

"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"

如何使用MQTT协议模拟设备快速接入物联网平台_物联网平台(IoT)-阿里云帮助中心    阿里云的说明文档

现在看MQTT的IP地址是怎么组合的

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第9张

"ProductKey": "a1m7er1nJbQ",

"DeviceName": "Mqtt",

"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"

${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com

1.替换ProductKey:

a1m7er1nJbQ.iot-as-mqtt.${region}.aliyuncs.com

2.替换 ${region}

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第10张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第11张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第12张

最终IP地址:

a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com

现在看MQTT的端口号是什么

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第13张

现在看MQTT的Client ID是怎么组合的

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第14张

1.我就规定我的前面的clientId是  112233445566 (这个任意)

2.咱呢先不走SSL,  所以  securemode=3 (注意:即使走SSL,端口号也是1883)

3.最后一个呢,咱就选用 hmacsha1(这个选择的是计算MQTT密码的算法)

最终MQTT的 Client ID:

112233445566|securemode=3,signmethod=hmacsha1|

客户端(设备)连接的MQTT的用户名

{

"ProductKey": "a1m7er1nJbQ",

"DeviceName": "Mqtt",

"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"

}

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第15张

最终用户名: Mqtt&a1m7er1nJbQ

客户端(设备)连接的MQTT的密码

{

"ProductKey": "a1m7er1nJbQ",

"DeviceName": "Mqtt",

"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"

}

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第16张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第17张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第18张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第19张

所以MQTT连接的密码

8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

最终

IP地址:     a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com

端口号:    1883

Client ID: 112233445566|securemode=3,signmethod=hmacsha1|

用户名:    Mqtt&a1m7er1nJbQ

密码:       8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

测试

1.打开MQTT调试助手

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第20张

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第21张

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第22张

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第23张

2.填入相应的参数,点击连接

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第24张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第25张

使用网页端调试助手连接

1.关闭测试软件

注:一开始说了,一个设备就作为一个MQTT客户端,也只能一个设备使用.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第26张

2.打开网页端调试助手

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第27张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第28张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第29张

3.WS方式:

IP地址: ws://a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com:443/mqtt

ClientID: 112233445566|securemode=3,signmethod=hmacsha1|

用户名: Mqtt&a1m7er1nJbQ

密码: 8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第30张

4.WSS方式:

IP地址: wss://a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com:443/mqtt

ClientID: 112233445566|securemode=2,signmethod=hmacsha1|

用户名: Mqtt&a1m7er1nJbQ

密码: 8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第31张

测试单片机程序

1.关闭测试软件

注:一开始说了,一个设备就作为一个MQTT客户端,也只能一个设备使用.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第32张

2.安装好模组

注意: 单片机都是使用串口2和模组通信,所以需要拆掉ESP8266

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第33张

3.打开这节的单片机程序

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第34张

  

5.修改为阿里云的设备参数.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第35张

6.使用单片机串口1打印串口日志(115200)

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第36张

7.然后下载程序到单片机,查看日志

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第37张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第38张

单片机程序说明

1,串口2接收模组数据的时候,单独使用一个缓存,缓存了TCP接收的数据

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第39张

2.整体概况

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第40张

①:控制模块连接TCP服务器(MQTT服务器)

②:计算MQTT密码

③:MQTT消息处理封装包(缓存管理,支持消息等级0,1,2)

④:使用Mbedtls里面的sha1或者md5 计算密码文件

3.初始化MQTT,注册相应的回调函数

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第41张

我编写的包是以注册回调函数的形式使用.

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第42张

4.先使用TCP连接上TCP服务器(MQTT服务器就是TCP服务器嘛)

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第43张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第44张

这个里面还有使用模组的唯一码作为ClientID

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第45张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第46张

5.连接上TCP以后,发送连接MQTT协议

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第47张

(关于组合计算密码在最后面会有详细说明)

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第48张

6.发送连接协议给服务器以后,如果服务器返回连接成功消息,便会调用MQTT连接成功回调函数

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第49张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第50张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第51张

7.连接上了以后就轮训mqtt_send_function函数

咱们后面调用订阅,发布的函数的时候, 数据都会存储在缓存里面, 然后通过轮训 mqtt_send_function函数,把MQTT的数据发送出去

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第52张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第53张

   

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第54张

关于 

mqtt->timer_out_cnt   等待模块返回 >

mqtt->timer_out_send 等待发送完成

当前我设置的为3000ms

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第55张

串口里面有相应的处理

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第56张

8.接收消息

连接MQTT成功以后收到的服务器发送的数据需要让 mqtt_read_function函数处理, 该函数内部会处理消息并调用相应的回调函

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第57张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第58张

使用Android连接

1.打开本节的Android工程

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第59张

2.修改参数

注意:一开始说了,一个设备就作为一个MQTT客户端,也只能一个设备使用.

或者也可以再注册个设备,然后把参数给APP使用.

如果多个客户端用的同一个设备的参数,就会互相挤掉线.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第60张

4.安装到手机以后查看下日志

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第61张

Android程序说明

1.整体说明

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第62张

org.eclipse.paho.client.mqttv3-1.2.0: 使用的mqtt的jar包

MyMqttClient 是再次封装的class文件

2.根据参数拼接MQTT信息

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第63张

3.计算密码

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第64张

4.连接MQTT服务器

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第65张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第66张

使用微信小程序连接

1.打开工程

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第67张

2.修改MQTT参数

注意:一开始说了,一个设备就作为一个MQTT客户端,也只能一个设备使用.

或者也可以再注册个设备,然后把参数给小程序使用.

如果多个客户端用的同一个设备的参数,就会互相挤掉线.

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第68张

3.如果想快速测试,可以设置软件不校验服务器域名(测试的时候这样方便点)

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第69张

4.不过还是建议在微信小程序平台上设置域名白名单

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第70张

注:wss://阿里云的域名

我的设备接入的域名是:  a1m7er1nJbQ.iot-as-mqtt.cn-shanghai.aliyuncs.com

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第71张

5.正常运行以后,控制台会打印

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第72张

微信小程序源码说明

1.整体说明

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第73张

paho-mqtt.js : 底层MQTT包

mqtt.js : 在底层包之上封装的包

hmac_sha1.js : 计算MQTT密码

public.js : 公共函数

2.连接MQTT

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第74张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第75张

关于单片机密码计算

1.密码计算需要sha1或MD5,我单片机移植了Mbedtls

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第76张

2.密码计算的第二种方式 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第77张

3.按照官方说明拼接参数

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第78张

4.使用加密算法计算密码

aly_hmac_sha1((char *)tcp_mqtt_buff,strlen((char *)tcp_mqtt_buff),DeviceSecret,strlen(DeviceSecret),(unsigned char *)mqtt_password);

这个函数是自己添加的程序

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第79张

5.上面源码可以看出, 不是用sha1普通的计算下.

其实是阿里云平台这样规定的组合计算

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第80张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第81张

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第82张

 

1-基本控制篇(阿里云物联网平台)-C#,网页,android,微信小程序,单片机等使用MQTT接入阿里云物联网平台,阿里云物联网平台基础控制篇,多平台MQTT接入指南(C、网页、Android、微信小程序、单片机) 第83张

用户也可以用阿里云提供的 SDK包里面的程序文件实现计算密码.

结语

再重复一句话,在物联网平台上面,一个产品就是一个MQTT客户端.

如果客户想多个设备连接云平台就需要自己多创建几个设备.

设备(MQTT客户端)上报数据在云平台显示,见后面章节.


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码