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


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

    创建产品

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

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

     

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

    反正是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"}

  • 相关阅读:
    VC++ MFC应用程序项目文件2.cpp
    sql存储过程加密和解密(MSSQL)
    VC++ MFC应用程序项目文件
    vs 2017 正规表达式替换整行多行数据
    mysqli
    jQuery对象
    Solidworks如何等比例缩小放大模型
    大负载机器人为什么要用平衡缸
    Office 如何下载网页的视频 JWPlayer的内嵌视频
    Solidworks如何自动打开和关闭特征识别FeatureWorks
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12879717.html
Copyright © 2020-2023  润新知