码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • mqtt综合实战(中国移动OneNET+ESP8266 AT指令)


    文章目录

    • MQTT
      • 一、中国移动MQTT平台
        • 1. 添加产品步骤
        • 2. 激活产品步骤
        • 3. WaireShark数据包分析
      • 二、8266 连接MQTT
        • 8266发送MQTT协议到移动MQTT平台
      • 三、发布数据到MQTT平台(温度传感器例子)
        • 1. 为产品新建设置物模型
        • 2. 新建自定义物模型
        • 3. 使用MQTT软件发布数据到MQTT
        • 4. 查看历史发送数据
      • 四、订阅与发布中国移动MQTT平台
        • 1. 使用MQTT软件订阅
        • 2. 在平台模拟数据发送
        • 3. 属性设置与订阅结果接收
      • 8266 MQTT综合实战

    MQTT

    一、中国移动MQTT平台

    1. 添加产品步骤

    1. 顶部“产品服务” > “
    2. OneNET Studio” > 左侧产品管理 > 新建产品
    3. 参考配置如下
    image-20221009181559673
    1. 左侧设备管理,找到刚刚创建的设备,点击详情。

    2. 激活产品步骤

    1. 下载软件MQTT FX 软件。http://www.jensd.de/apps/mqttfx/1.7.1/

    2. 在MQTT 软件中点击齿轮按钮,添加一个Profile

    3. 配置Profile

      1. MQTT配置参考文档:https://open.iot.10086.cn/doc/v5/develop/detail/638

        1. 参考文档对应设备信息

          image-20221009181609290
      2. Token生成器:https://open.iot.10086.cn/doc/mqtt/book/manual/auth/tool.html

        1. RES 格式:products/所属产品ID/devices/设备名字
          1. 例子:products/VRqhDHF2wL/devices/my_tv
        2. et:填写时间戳。
          1. 时间戳生成工具:https://tool.lu/timestamp/
        3. Key: 设备密钥
          1. image-20221009181617631
        4. 生成后将id 添加到Password
      image-20221009181623196
      1. 点击Apply,Cancel,添加Convert,再点击Disconvert。即可看到设备管理中的设备状态显示“在线”。

        image-20221009181630237

    3. WaireShark数据包分析

    1. 抓包,右键选择 Copy With …

      image-20221009181636135
    2. 数据包分析: MQTTA + 设备名称 + 换行 + username + password

    image-20221009181643869

    二、8266 连接MQTT

    8266发送MQTT协议到移动MQTT平台

    1. 8266设置(指令请参考8266 文档)

      1. 首先设置WIFI模式AT+CWMODE=1
      2. 连接热点 AT+CWJAP="用户名","密码"
      3. 查询热点IP AT+CIFSR
      4. 连接移动MQTTAT+CIPSTART="TCP"," studio-mqtt.heclouds.com",1883
      5. 设置非透传模式 AT+CIPMODE=0
    2. 抓包

      1. 打开MQTT软件连接设备再断开

      2. 使用Wireshark过滤包,抓包步骤同上。

        **注意:**如果Connect不不好用,连不上,请使用Token工具重新设成时间戳和密钥,然后填写到软件的Password字段中

        image-20221009181652561
    3. 8266发送包并断开连接

      1. 将复制到的包通过8266发送到MQTT平台

        image-20221009181701208
      2. 设置长度, AT+CIPSEND=2

      3. 发送e000,断开

    image-20221009181707771

    三、发布数据到MQTT平台(温度传感器例子)

    1. 为产品新建设置物模型

    https://open.iot.10086.cn/studio/device/productManage/ > 产品管理 > 选择需要设置的设备 > 点击详情

    image-20221009181713480

    2. 新建自定义物模型

    设置物模型 > 添加自定义功能点 > 设置相关配置 > 添加

    image-20221009181719573

    3. 使用MQTT软件发布数据到MQTT

    1. 发送请求以及请求数据

      地址:$sys/VRqhDHF2wL/my_tv/thing/property/post

      VRqhDHF2wL 设备ID my_tv 设备名

      {"id": "123","version" : "1.0","params": {"wendu": {"value": 12.6}}}
      
      • 1
    image-20221009181726137
    1. 点击Publish多发几次,value的值可以随意填写,但是不能超过范围。

    4. 查看历史发送数据

    左侧 设备管理 > 选择刚才发送的设备 > 详情 > 在下方找到对应的属性查看历史数据即可

    image-20221009181732127

    ​ image-20221009181739773

    四、订阅与发布中国移动MQTT平台

    1. 使用MQTT软件订阅

    image-20221009181745622

    2. 在平台模拟数据发送

    image-20221009181752942

    3. 属性设置与订阅结果接收

    每当你点击一次属性设置的时候平台就会生成调试日志,并在MQTT软件中呈现数据设置的结果

    image-20221009181801492

    8266 MQTT综合实战

    1. AT+CWMODE=1
    2. AT+CWJAP="iPhone","987654321"
    3. AT+CIFSR
    4. AT+CIPSTART="TCP","studio-mqtt.heclouds.com",1883(传输层)
    5. AT+CIPMODE=0
    6. AT+CIPSEND=155 长度
    7. E000 结束发送
    8. AT+CIPCLOSE 断开链接

    连接命令16进制 155长度

    10980100044d51545404c2003c00056d795f7476000a5652716844484632774c007976657273696f6e3d323031382d31302d3331267265733d70726f64756374732532465652716844484632774c253246646576696365732532466d795f74762665743d31363631323435303331266d6574686f643d6d6435267369676e3d7934694450753659703834464f377378706364635351253344253344
    
    • 1

    断开链接 2长度

    e000
    
    • 1

    发送JSON数据 113长度(21.1 度)

    306f0029247379732f5652716844484632774c2f6d795f74762f7468696e672f70726f70657274792f706f73747b226964223a2022313233222c2276657273696f6e22203a2022312e30222c22706172616d73223a207b2277656e6475223a207b2276616c7565223a2032312e317d7d7d
    
    • 1

    订阅命令 47

    822d00010028247379732f5652716844484632774c2f6d795f74762f7468696e672f70726f70657274792f73657400
    
    • 1
    image-20221009181810171
  • 相关阅读:
    Jenkins 编译 Maven 项目提示错误 version 17
    解释器模式
    Android Gradle 开发与应用 (一) : Gradle基础
    学习Source Generators之从swagger中生成类
    HCIP VLAN实验
    uniapp实战项目 (仿知识星球App) - - 利用computed监听用户操作
    线程、进程、程序之间的不同。
    【JavaEE初阶】多线程 _ 基础篇 _ 线程的概念和创建
    接口性能调优的方法,这有11种,你知道几种?
    针对海洋数据的管理三维gis软件系统有何优势
  • 原文地址:https://blog.csdn.net/qq_36833171/article/details/127411355
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号