#新版Onenet云平台使用(ESP8266 AT指令上报数据以及公网MQTT服务器连接测试)

1.上云方式:MQTT

参考:

新版ONENET物联网开放平台AT+MQTT指令连接_at指令连接onenet的mqtt-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/lilbye/article/details/131770196

ESP8266-01s入门:AT指令讲解、上云与MQTT通信教程-物联沃-IOTWORD物联网icon-default.png?t=N7T8https://www.iotword.com/17607.html#google_vignette

2.前提:使用的ESP8266模块已经烧录MQTT固件

3.在onenet平台创建设备并且发布,再在产品下创建设备(初次创建设备没有连接过显示为未激活)

 

4.token算法详解 (新版ONENET MQTT)

token算法_开发者文档_OneNET (10086.cn)icon-default.png?t=N7T8https://open.iot.10086.cn/doc/mqtt/book/manual/auth/token.html

(1)et参数可以用在线时间戳生成

(2)token运算示例(这里有误,注意key这里填入的是设备密钥,不是accesskey)

(3)AT指令联网,并且向设备上传一条数据

关于MQTT固件的指令解读

MQTT AT 命令集 - ESP32 - — ESP-AT 用户指南 latest 文档 (espressif.com)icon-default.png?t=N7T8https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Command_Set/MQTT_AT_Commands.html#cmd-mqttconn

1、AT    //测试指令
 
2、AT+RST  //复位指令
 
3、AT+CWMODE=1      //=1模式设置为station
 
4、AT+CWDHCP=1,1    //启动DHCP
 
5、AT+CWJAP=“WIFI名”,“密码”
 
6、 AT+MQTTUSERCFG=0,1,"设备ID","产品ID","上面得到的token",0,0,""
 
7、 AT+MQTTCONN=0,"mqtts.heclouds.com",1883,1
 
8、 AT+MQTTSUB=0,"$sys/产品ID/设备ID/thing/property/post/reply",1
 
9、AT+MQTTPUB=0,"$sys/产品ID/设备ID/thing/property/post","{\"id\":\"123\"\,\"params\":{\"属性标识符\":{\"value\":上传的数据}}}",0,0

 标识符为自己定义的,可以在下面处查看

5.MQTTX连接测试 

参考:

MQTT.fx和MQTTX 链接ONENET物联网开发平台避坑细节干货。_mqttx和mqttfx-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_53502688/article/details/131484184

(1)建立连接

 (2)订阅主题的主题为

$sys/产品ID/设备ID/thing/property/post/reply

(3)向主题发布内容,发布的主题为:(如果发布信息就断开连接,说明发送有问题)

$sys/产品ID/设备ID/thing/property/post 

上传的数据符合JSON格式 

 向shuifei数据流上传一个数据24.79,注意上传的数据必须符合创建数据流(属性)时设定的值的范围。

{

  "id": "123",

  "params": {

    "shuifei": {

      "value": 24.79

    }

  }

}

同时给shuifei和dianfei上传数据点(shuifei和dianfei是标识符,属性相当于旧版本的数据流)

{

  "id": "123",

  "params": {

    "shuifei": {

      "value": 24.79

    },

    "dianfei":{

      "value":37.31

    }

  }

}

我们使用这种工具,选择JSON不选择JSON都没有问题,选择JSON只是为了验证JSON正确性,当然网上也有很多JSON格式校验工具,这些工具往往能够帮助整理JSON格式,使结构一目了然。

6.单片机,WIFI模块上云需要注意的

没有集成wifi的单片机往往需要借助WIFI模块才能上云,单片机串口与WIFI模块相连,通过AT指令上云。注意发送数据时需要将引号转义,在此处有体现,这也是c语言基本常识

9、AT+MQTTPUB=0,"$sys/产品ID/设备ID/thing/property/post","{\"id\":\"123\"\,\"params\":{\"属性标识符\":{\"value\":上传的数据}}}",0,0

"{\"id\":\"123\"\,\"params\":{\"属性标识符\":{\"value\":上传的数据}}}"

7.云平台观察上传的数据流 

8.云平台数据可视化 

创建数据源

选择数据源 

 

9.ESP8266通过MQTT公网服务器进行通信

这个公网服务器不需要id,user,password随便填即可

#设置ESP8266工作模式
AT+CWMODE=1
#连接wifi
AT+CWJAP="wifi","password"
#设置本机信息
AT+MQTTUSERCFG=0,1,"id","uesr","password",0,0,""
#连接MQTT服务器
AT+MQTTCONN=0,"broker.mqttdashboard.com",1883,0
#订阅主题
AT+MQTTSUB=0,"test",1
#发送消息(test为发布消息的主题,1为发布的消息)
AT+MQTTPUB=0,"test","1",0,0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/310201.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hadoop最新详细版安装教程 2024 最新版

文章目录 hadoop安装教程 2024最新版提前准备工作用户配置安装 SSH Server免密登录设置编辑 SSH server 配置文件配置Java环境查看java 版本验证 环境变量设置安装Hadoop下载hadoop解压hadoop查看hadoop 版本hadoop 配置编辑编辑配置文件core-site.xml编辑配置文件hdfs-site.xm…

系统边界图

系统边界图的定义: 系统边界图是系统工程和软件工程中的一种图形化工具,用于描述系统与外部世界之间的交互和界限。它展示了系统的组成部分以及这些组件如何与外部实体进行通信和交互。系统边界图通常包括系统内部的各个组件、外部实体以及它们之间的通信…

企业怎么建立自己的防泄密系统?

企业怎么建立自己的防泄密系统? 数据防泄密防泄密的关键是人,评估一家企业的数据安全现状,必须以人为本。企业领导是否有数据保密意识?员工是否能遵守保密制度?这都是关键。企业领导和员工具备良好的保密意识&#xf…

javaee初阶———多线程(三)

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享多线程专题第三篇,关于线程安全方面的内容 如果有不足的或者错误的请您指出! 目录 八、线程安全问题(重点)1.一个典型的线程不安全的例子2.出现线程不安全的原因3.解决线程不安…

家居网购项目(Ajax验证用户名+上传图片)

文章目录 1.Ajax验证用户名1.程序框架图2.修改MemberServlet3.修改login.jsp4.结果展示 2.Ajax判断验证码是否输入正确1.修改MemberServlet2.修改login.jsp3.结果展示 3.Ajax添加购物车1.程序框架图2.修改CartServlet2.修改index.jsp3.解决问题—未登录直接添加购物车&#xff…

如何构建政府侧工程建设项目全流程审批节点的知识图谱库

1. 确定知识图谱库的范围和目标:首先需要明确知识图谱库的范围和目标,确定需要收集哪些数据和信息,以及需要构建哪些关系和属性。例如,你可以考虑收集政府侧工程建设项目的审批流程、相关法律法规、政策文件、审批机构和部门、审批…

小型企业网络安全指南

许多小型企业刚刚起步,没有大公司所拥有的相同资源来保护其数据。他们不仅可能没有资金来支持多样化的安全计划,而且也可能没有人力或时间。 网络犯罪分子知道小型企业缺乏这些资源,并利用这些资源来谋取利益。遭受网络攻击后,小…

linux shell脚本编写(2)

Shell: 命令转换器,高级语言转换成二进制语言。是Linux的一个外壳,它包在Lniux内核的外面,用户和内核之间的交互提供了一个接口。 内置命令:在shell内部不需要shell编辑 外置命令:高级语言要用shell转换成二进制语言 …

D3-八数码

D3-八数码 题目描述解题思路代码如下 题目描述 解题思路 本题若直接在3*3网格中思考较为困难,可以转换为一维的字符串,在一维字符串中考虑较为简单,要注意本题中两个字符交换位置时只能是x和另外字符交换,本题另外一个难点在于如何…

43.基于SpringBoot + Vue实现的前后端分离-疫苗发布和接种预约系统(项目 + 论文)

项目介绍 本次使用Java技术开发的疫苗发布和接种预约系统,就是运用计算机来管理疫苗接种预约信息,该系统是可以实现论坛管理,公告信息管理,疫苗信息管理,医生管理,医院信息管理,用户管理&#x…

初识集合框架

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x1f…

状态模式【行为模式C++】

1.概述 状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 2.结构 State(抽象状态类):定义一个接口用来封装与上下文类的一个特定状态相关的行为,可以有一个或多…

甲方安全建设之研发安全-SCA

前言 大多数企业或多或少的会去采购第三方软件,或者研发同学在开发代码时,可能会去使用一些好用的软件包或者依赖包,但是如果这些包中存在恶意代码,又或者在安装包时不小心打错了字母安装了错误的软件包,则可能出现供…

关于SpringCloud,你了解多少?

Why SpringCloud? Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一…

用three.js做一个3D汉诺塔游戏(下)

本文由孟智强同学原创。 接上期:《用three.js做一个3D汉诺塔游戏(上)》 在上一期,我们成功地搭建了基础的 3D 场景。在本期中,我们将对场景进行优化,使其在视觉上更加真实,并为场景中的物体添加…

蓝桥杯物联网竞赛_STM32L071_16_EEPROM

仍然是没有考过的知识点 朴素的讲就是板子中一块不会因为断电重启而导致数值初始化的一片地址 要注意的是有时候容易把板子什么写错导致板子什么地址写坏了导致程序无法烧录,这个时候记得一直按flash键烧录,烧录时会报错,点击确定&#xff0…

活动预告|NineData 创始人CEO叶正盛将参加QCon全球软件开发大会,共话AI大模型技术在数据库DevOps的实践

4月13日下午,NineData创始人&CEO叶正盛即将参加InfoQ中国主办的『QCon全球软件开发大会北京站』的技术大会。在本次技术峰会上,叶正盛将以《AI大模型技术在数据库DevOps的实践》为主题,深入剖析AI大模型技术在数据库DevOps领域的最新进展…

idea新建一个springboot项目

本文分为几个部分, 首先是在idea中新建项目, 然后是配置 项目的目录(新建controller、service、dao等), 然后是自定义的一些工具类(比如启动后打印地址等)。 1.、创建篇 新建项目&#xff0…

概念解读稳定性保障

什么是稳定 百度百科关于稳定的定义: “稳恒固定;没有变动。” 很明显这里的“稳定”是相对的,通常会有参照物,例如 A 车和 B 车保持相同速度同方向行驶,达到相对平衡相对稳定的状态。 那么软件质量的稳定是指什么…

24年做抖音选什么赛道?比起带货,我更倾向你们做这个

我是王路飞。 谁能想到在18年的夏天给无数人留下美好回忆的抖音,如今已经成为了谁也绕不开的创业平台呢? 注意,我说的是“绕不开”。 毕竟在流量为王的时代,流量在哪,我们就要在哪。 而如今,流量全都集…