#新版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.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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软考 系统架构设计师系列知识点之大数据设计理论与实践(5)

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(4) 所属章节: 第19章. 大数据架构设计理论与实践 第3节 Lambda架构 19.3.1 Lambda架构对大数据处理系统的理解 Lambda架构由Storm的作者Nathan Marz提出&…

SpringCloud实用篇(四)——Nacos

Nacos nacos官方网站:https://nacos.io/ nacos是阿里巴巴的产品,现在是springcloud的一个组件,相比于eureka的功能更加丰富,在国内备受欢迎 nacos的安装 下载地址:https://github.com/alibaba/nacos/releases/ 启动…

vscode远程连接centos

文章目录 vacode连接linux1. 安装插件2. 查看配置3. 打开ssh4. 远程连接 vacode连接linux 1. 安装插件 在扩展栏搜索remote ,找到Remote Development插件,进行安装: 2. 查看配置 打开自己的linux终端,输入ifconfig,…

BackTrader 中文文档(九)

原文:www.backtrader.com/ 期货和现货补偿 原文:www.backtrader.com/docu/order-creation-execution/futurespot/future-vs-spot/ 发布1.9.32.116添加了对在社区中提出的一个有趣用例的支持。 通过未来开始交易,其中包括实物交割 让指标告诉…

怎么做预约小程序_探索我们的全新预约小程序

在繁忙的现代生活中,无论是想预约一次美容护理,还是预定一家心仪的餐厅,亦或是安排一次专业的咨询服务,我们都希望能够在最短的时间内完成这些操作,节省时间和精力。如今,一款全新的预约小程序应运而生&…

SSH安全设置

今天发现自己的公有云服务器被攻击了 然后查看了登录日志,如上图 ls -sh /var/log/secure vim /var/log/secure然后增加了安全相关的设置 具体可以从以下方面增加安全性: 修改默认SSH端口公有云修改安全组策略及防火墙端口设置登录失败次数锁定用户及限…

亚马逊CloudFront使用体验

前言 首先在体验CloudFront之前,先介绍一下什么是CDN,以及CDN的基本原理。 CDN是Content Delivery Network(内容分发网络)的缩写,是一种利用分布式节点技术,在全球部署服务器,即时地将网站、应…

LSTM 循环神经网络原理深度解读与网络结构精细剖析

长短期记忆网络(Long Short-Term Memory, LSTM)是一种特殊的循环神经网络(Recurrent Neural Network, RNN),设计用于解决长期依赖问题,特别是在处理时间序列数据时。 循环神经网络(RNN&#xf…

每日一VUE——组件的生命周期

文章目录 VUE组件的生命周期生命周期钩子函数实例创建Teleport VUE组件的生命周期 组件生命周期 组件从创建到挂载、更新、到销毁的一系列过程被称为组件的生命周期。 生命周期函数 在组件的各个生命周期节点执行的函数,为生命周期钩子函数。 生命周期钩子函数…

RT-thread信号量与互斥量

1,信号量 信号量是一种轻型的用于解决线程间同步问题的内核对象,线程可以获取或释放它,从而达到同步或互斥的目的。理解资源计数适合于线程间工作处理速度不匹配的场合;信号量在大于0时才能获取,在中断、线程中均可释放信号量。 为了体现使用信号量来达到线程间的同步,…

【STM32】西南交大嵌入式系统设计实验:环境配置

把走过的坑记录一下,希望后来人避坑 No ST-Link device detected.问题解决 如果跟着指导书出现这个问题: 直接跳过这一步不用再更新固件,后面直接创建项目写程序就行了。 在keil里配置成用DAP_link即可。 详细的可以看这篇文章&#xff1a…

NumPy基础及取值操作

文章目录 第1关:ndarray对象第2关:形状操作第3关:基础操作第4关:随机数生成第5关:索引与切片 第1关:ndarray对象 编程要求 根据提示,在右侧编辑器Begin-End中填充代码,根据测试用例…

Oracle 数据库 count的优化-避免全表扫描

Oracle 数据库 count的优化-避免全表扫描 select count(*) from t1; 这句话比较简单,但很有玄机!对这句话运行的理解,反映了你对数据库的理解深度! 建立实验的大表他t1 SQL> conn scott/tiger 已连接。 SQL> drop table …

Fiddler工具的操作和功能时-----定位到步骤图(助力抓包)

前言: 继续上一篇,已经对fiddler的安装、配置和代理的问题进行了讲解: Fiddle配置代理,保手机模拟器访问外部网络-CSDN博客 本章,讲对一些fiddler的操作进行一系列讲解!Fiddler作为一款网络调试工具&…

可视化大屏的应用(13):3D建模运用到机房运维中

可视化大屏在机房运维中发挥着重要的作用,主要体现在以下几个方面: 实时监控 通过可视化大屏,可以实时监控机房的各项指标和状态,如服务器的运行状态、网络流量、机房温度等。运维人员可以通过大屏快速获取关键信息,…

LazyVim开发vue2

neovim 0.5刚出来的时代,那时刚有lua插件我很狂热。每天沉迷于打造自己的IDE之中。写过一堆相关的博客,也录过一些视频教程。后来发现neovim的接口和插件更新的很快,导致配置文件要不定期的修改,才能保证新版本的插件的适配。我也…

程序员学CFA——数量分析方法(三)

数量分析方法(三) 概率论基础概率论的基本概念概率论的相关术语随机变量结果随机事件 事件之间的关系互斥事件遍历事件独立事件 概率的定义与确定方法概率的定义概率的确定方法赔率条件概率 概率的计算乘法法则与加法法则联合概率与乘法法则加法法则 全概…

LeetCode257:二叉树的所有路径

题目描述 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 解题思想 利用了回溯 代码 class Solution { public:void traversal(TreeNode* node, vector<int> &path, vect…

哈希 | unordered_set + unordered_map 的模拟实现(上)

目录 什么是 unordered_set unordered_map &#xff1f; unordered_set &#xff1a; unordered_map &#xff1a; 哈希 哈希表&#xff1a; 哈希冲突&#xff1a; 如何解决哈希冲突&#xff1a; 闭散列&#xff1a; 负载因子&#xff1a; 闭散列的模拟实现&#xff…