zoukankan      html  css  js  c++  java
  • 002-STM32+ESP8266+AIR202/302基本控制方案(阿里云物联网平台)-设备连接阿里云物联网平台使用自定义Topic实现数据上报和数据下发

    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/aly.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    前言

    这一节使用真实的设备接入阿里云物联网平台,然后使用自定义topic实现数据上报和下发.

    测试(ESP8266)

    1.打开工程

    2.根据自己的设备修改如下信息

    3.设置连接的路由器

     

    4.别忘了

    (STM32) PA3 -- TX (WiFi)
    (STM32) PA2 -- RX (WiFi)

    5.下载后测试(可以观察日志口)

    ①  发送连接MQTT协议

    ②  订阅主题:/a1m7er1nJbQ/Mqtt/user/get (阿里云规定的自定义主题)

    ③  这是OTA远程升级信息,这是因为我测试过远程升级,大家应该没有.

    ④  每隔一段时间发送温湿度数据给阿里云服务器

         发布的主题:/a1m7er1nJbQ/Mqtt/user/update 

         消息:{"data":"TH","bit":1,"temperature":30,"humidity":68}

    6.用户可以在日志服务里面看到上报的数据

    7.下发数据给设备

    可以发送控制继电器的协议控制继电器

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

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

    测试(Air202)

    1.打开工程

    2.根据自己的设备修改如下信息

    我还是使用的同一台设备的信息.

    在阿里云上申请了一台设备以后,就相当于阿里云平台给咱分配了一个MQTT客户端

    咱可以拿着这个客户端的信息随意用本地的设备去连接(同一时间只能一个使用).

    3, 别忘了用杜邦线连接:
    (STM32) A3 --- TX (Air202)
    (STM32) A2 --- RX (Air202)

    4.下载后按照上面的测试WiFi模块步骤测试即可

    源码说明

    1.首先大家只要明白这就是一个MQTT客户端连接通信而已.

    只要是MQTT连接,其实也就那几个参数

    服务器IP地址,端口号,ClientID,用户名,密码,订阅/发布的主题.

    只不过在阿里云平台上面把各种信息都固定了,

     

    2.控制WiFi或Air202连接通信的程序基本上完全一样

    1.WiFi需要连接路由器

    2.然后还有一个是控制连接TCP服务器的指令不一样.

    我就拿WiFi代码为例子说明一下通信过程

    1.根据阿里云的说明组合下IP地址,ClientID,用户名,密码,订阅的主题,发布的主题,组合计算密码

    2.连接TCP服务器(MQTT服务器),发送MQTT连接协议

    3.连接成功以后执行连接成功回调函数,订阅主题

    4,接收处理消息

    5.发布消息

    结语

    这节演示了下设备使用自定义Topic实现数据上报和数据下发.

    不过自定义Topic当前并没有什么实际的应用.

    后面章节使用物联网平台提供的其它功能以后便会有实际的应用.

  • 相关阅读:
    AE开发中实现Control中的各种图形工具的方法(转)
    ArcEngine打开本地数据库
    【ArcMap】
    【ArcCatalog】
    go guid 和uuid生成
    go select 的default
    go select 使得一个 goroutine 在多个通讯操作上等待。
    go channel
    go goroutine
    go io.Reader 接口
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/13561018.html
Copyright © 2011-2022 走看看