码迷,mamicode.com
首页 > 其他好文 > 详细

ESP8266 SDK开发: 物联网篇-ESP8266连接阿里云物联网平台,使用阿里云提供的自定义Topic通信控制

时间:2020-05-13 00:30:23      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:tar   心跳包   acs   定义   width   使用   upd   image   status   

 

 

 

 

 

搜索物联网平台(如果没有开通自行开通)

技术图片

 

 

创建产品

 

 技术图片

 

 

 

 

技术图片

 

 

 

 

技术图片

 

 

 

 

技术图片

 

 

 

 

技术图片

 

 

 

 

技术图片

 

 

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

技术图片

 

 现在我就需要知道设备怎么连接上

反正是MQTT,再怎么弄,也是MQTT,再怎么搞也就那几个参数.......

我只需要知道用户名,密码,IP地址,端口号,ClientID是啥就可以了

https://help.aliyun.com/document_detail/86706.html    阿里云的说明文档

 

MQTT:   IP地址

{
"ProductKey": "a1m7er1nJbQ",
"DeviceName": "Mqtt",
"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"
}

 

技术图片

 

 

 

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

 

最终IP地址:

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

 

MQTT:  端口号  1883

 

 技术图片

 

 

MQTT:  Client ID

{
"ProductKey": "a1m7er1nJbQ",
"DeviceName": "Mqtt",
"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"
}

技术图片

 

 

 

1.我就规定我的clientId是  112233445566   这节是简单的测试哈,后期咱Wi-Fi连接的时候用Wi-Fi的MAC

GPRS 连接的时候咱用GPRS的IMEI

2.咱呢先不走SSL,否则芯片还需要设置成SSL连接  所以  securemode=3

3.最后一个呢,咱就选用 hmacsha1

 

最终Client ID:

112233445566|securemode=3,signmethod=hmacsha1|

 

 

MQTT:   用户名

 

{
"ProductKey": "a1m7er1nJbQ",
"DeviceName": "Mqtt",
"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"
}

  

技术图片

 

 

 

最终用户名:  

Mqtt&a1m7er1nJbQ

 

 

MQTT:    密码

 

{
"ProductKey": "a1m7er1nJbQ",
"DeviceName": "Mqtt",
"DeviceSecret": "7GUrQwgDUcXWV3EIuLwdEvmRPWcl7VsU"
}

技术图片

 

 

 

第一种 用提供的软件组合计算

技术图片

 

 

技术图片

 

 

技术图片

 

 所以MQTT连接的密码

8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

 

 

最终:

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

端口号:    1883

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

用户名:    Mqtt&a1m7er1nJbQ

密码:       8B286A9E99B49E19A0964589E8F3C2DBB1C1A8DE

 

然后测试

技术图片

 

 

  技术图片

 

 

  技术图片

 

 

 

 

 

 

 技术图片

 

现在咱用ESP8266连接

1.第一节就是实现的MQTT,直接修改第一节代码即可

打开第一节的工程

技术图片

 

 

 

2.首先根据自己的修改一下信息

注意:心跳包时间最短是20S,阿里云服务器为减小通信压力而强制的!

技术图片

 

 

 

 

 

3.咱使用阿里云的自定义Topic进行通信

所谓自定义就是传输的消息可以随意

技术图片

 

 

 

 

技术图片

阿里云把咱设备可以订阅的主题和发布的主题全部规定好了

咱发布的主题用  /a1m7er1nJbQ/Mqtt/user/update

咱订阅的主题用  /a1m7er1nJbQ/Mqtt/user/get

 

 

4.设置下ESP8266订阅和发布的主题

技术图片

 

 

 

 

 

5.屏蔽里面的自定义主题的部分,屏蔽设置遗嘱部分,设置连接路由器

技术图片

 

 

 

 

 

 

 

下载测试

1.下载以后注意看打印的信息,连接了路由器,连接了MQTT,并在发布消息

技术图片

 

 

 

 

2.提醒一下别忘了

发布的消息是:

技术图片

 

 

 

 

接收消息处理:

控制ESP8266继电器吸合: {"data":"switch","bit":"1","status":"1"}

控制ESP8266继电器断开: {"data":"switch","bit":"1","status":"0"}

技术图片

 

 

 

 

 

3.首先去云平台先看一下上报的数据

说一下哈,咱使用的自定义发布的主题

咱的上报的数据是在 日志服务 中看

技术图片

 

 

 

技术图片

 

 

 

 

 

技术图片

 

 

 

 

 

 

4.云平台控制继电器吸合和断开

技术图片

 

 

{"data":"switch","bit":"1","status":"1"}

 

 

 技术图片

 

 

 

技术图片

 

 

 

{"data":"switch","bit":"1","status":"0"}

技术图片

 

 

技术图片

 

ESP8266 SDK开发: 物联网篇-ESP8266连接阿里云物联网平台,使用阿里云提供的自定义Topic通信控制

标签:tar   心跳包   acs   定义   width   使用   upd   image   status   

原文地址:https://www.cnblogs.com/yangfengwu/p/12879717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!