首页 > 其他分享 >使用AT+MQTT指令连接华为云实现数据上传

使用AT+MQTT指令连接华为云实现数据上传

时间:2024-03-09 21:26:18浏览次数:38  
标签:烧录 华为 MQTT 指令 模块 固件 上传 输入

1 准备工作

硬件设备模块:ESP-01-S
固件烧录工具:ESP8266下载器
串口调试工具:VOFA+

参考文章:stm32+AT指令+ESP8266接入华为云物联网平台并完成属性上报与下发的命令处理

2 固件更新

2.1 为什么要重新安装固件

由于ESP-01-S模块出厂没有集成MQTT指令,故需要自己下载固件包,详见官网固件下载链接

2.2 固件号选择

我下载的是1471号固件,如下图所示:
image

2.3 下载烧录工具

安信可开发工具官网
如下图所示:
image

2.4 固件烧录

这边建议买一个ESP8266烧录器模块进行烧录,真的会方便很多,直接将WiFi模块接到烧录模块,然后将模块插入电脑
image

打开烧录软件

image
选择芯片型号:ESP8266,再点击OK即可
image

选择下载好的固件文件和地址

方框需确保是绿色
image

选择对应的串口号和波特率

image

START烧录

image
等待下载完成即可

3 WIFI模块上电测试

测试之前记得重新上电,或者按一下ESP8266烧录器模块上的复位按键,否则AT指令均无效
上电之后串口显示以下内容,说明固件烧录成功
image

4 使用AT+MQTT指令连接华为云

注意所有指令都得追加\r\n后缀,否则指令无效

4.1 设置模块为STA模式

输入AT+CWMODE=1
image

4.2 连接WiFi

输入AT+CWJAP="Tenda_308780","54305430"
image

4.3 设置MQTT的登陆用户名与密码

格式AT+MQTTUSERCFG=0,1,"NULL","填写用户名","填写密码",0,0,""
进入华为云平台的设备列表,选择对应的设备,点击“详情”
image
找到在设备信息栏有MQTT连接参数
image
点击查看
image
用户名即“uaername”,密码即“password”,复制用户名和密码,通过AT指令输入给WiFi模块
输入AT+MQTTUSERCFG=0,1,"NULL","65de9e267bdccc0126c4927a_0001","9c87dc2d35984fcc729ea35166b392eed77b9e58408d0fda0e37a134f2efc251",0,0,""
image

4.4 设置MQTT的ClientID

格式AT+MQTTCLIENTID=0,"填写ClientID"
在上一步骤中打开的MQTT连接参数中,复制clientId
输入AT+MQTTCLIENTID=0,"65de9e267bdccc0126c4927a_0001_0_0_2024030912"
image

4.5 设置MQTT接入地址

接入地址可参考接入信息
image
输入AT+MQTTCONN=0,"61c3e6746e.iot-mqtts.cn-north-4.myhuaweicloud.com",1883,1
image

4.6 设置订阅主题

格式:AT+MQTTSUB=0,"订阅主题",1
输入AT+MQTTSUB=0,"$oc/devices/65de9e267bdccc0126c4927a_0001/sys/properties/report",1
image

4.7 设置上传数据字节长度

格式:AT+MQTTPUBRAW=0,"订阅主题",数据长度,0,0
输入AT+MQTTPUBRAW=0,"$oc/devices/65de9e267bdccc0126c4927a_0001/sys/properties/report",93,0,0
image

4.8 输入JSON格式的数据

输入{"services": [{"service_id": "SensorData","properties": {"temperature": 18,"humidity": 28}}]}
image
这里返回了一个error,但是又返回了一个OK,云端确实更新了数据,所以这里的error我暂时也不知道为什么
image

注意:有时在第七步执行后并没有返回OK,这时仍然可以继续发送JSON格式的数据,云端依然可以更新数据

标签:烧录,华为,MQTT,指令,模块,固件,上传,输入
From: https://www.cnblogs.com/zxr-blog/p/18057478

相关文章

  • Vue 图片上传添加水印文字/水印图片
    图片上传之前的处理(添加水印);可以是上传图片到后台也可以是到OSS原理都是一样beforeUpload(file){returnnewPromise((resolve,reject)=>{//1.调用方法1:把文件转换为base64字符串fileByBase64(file,async(......
  • Linux文件上传百度云盘轻松解决数据传输和备份
    本文主要的目的就是在Linux环境下通过命令行来使用百度云盘,直接在服务器上打包压缩备份将数据传输到百度网盘,之后可以进行轻松分享,而且还可以支持备份,解决文件的传输和分享难题。插件介绍bypy是一个Python客户端,用于操作百度网盘提供了丰富的命令行操作。该工具能够直接在Li......
  • Get File For Streaming Upload文件上传
    GetFileForStreamingUpload:获取本地文件转换成流对象   [Documentation]data参数中objectId、fileName是指当前要上传设备文件的对象id和对象的文件名(每一个对象点击都是不一样的)create  session  api  http://172.16.200.150:30091${file}......
  • 守护更多女性健康,华为云GeminiDB助力美柚数据库高效稳定迁移
    本文分享自华为云社区《守护更多女性健康,华为云GeminiDB助力美柚完成数据库高效稳定迁移》,作者:华为云头条。阳春三月,“三八”国际妇女节悄然而至。在社会快速发展的今天,女性力量在各个领域大放异彩,尽管女性成长路上可能会风雨兼顾,但是关注自己、保持身心健康才能走得更远、看到更......
  • SpringMVC实现文件上传&下载(2)
    文件上传步骤第一步:由于SpringMVC使用的是commons-fileupload实现,故将其组件引入项目中,这里用到的是commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar。第二步:spring-mvx中配置MultipartResolver处理器。可在此加入对上传文件的属性限制。第三步:在Controller的方法中添加M......
  • pyacharm将streamlit项目上传git部署项目
    一、Pycharm上传本地代码到github1、点击左上角的File,选择Settings,然后选择VersionControl,点击出现的GitHub,点击“Addaccount”.2.输入自己在github官网注册好的用户名和密码,点击“LogIn”登录3.点击右下角的apply,然后ok一下就可以了。4.重新打开Settings,将鼠标移至左侧......
  • element-ui 文件上传问题记录
    今天做用element文件上传组件遇到个问题,部分代码如下:   后台代码 测试文件怎么都传不到后台去,用postman上传又可以。最后喊前端同事看了下,前端取文件的时候不能直接写,要取file.raw,像这样: 然后就可以了......
  • WebApi后端实现大文件分片上传
    放开上传大小限制放开代码|框架层限制在Program.cs文件中添加如下代码不然会出现下面的限制错误builder.Services.Configure(x=>{x.AllowSynchronousIO=true;//配置可以同步请求读取流数据x.Limits.MaxRequestBodySize=int.MaxValue;}).Configure(x=>{x.A......
  • MQTT over WSS
    什么是MQTT?-MQTT协议简介-AWShttps://aws.amazon.com/cn/what-is/mqtt/什么是MQTToverWSS?MQTToverWebSockets(WSS)是一种MQTT实施,用于将数据直接接收到Web浏览器中。MQTT协议定义了一个JavaScript客户端来为浏览器提供WSS支持。在这种情况下,该协议照常工......
  • 华为的项目管理能力是如何炼成的?
    一、VUCA时代,项目管理的发展趋势的七个变化最近听到最多、最深刻的两个词即是“价值”、“VUCA”,项目的交付在不确定的大环境中,已从结果交付转变成价值交付,只有价值交付才能有更长久、更长远的使干系人相互依存,共生共赢。 项目趋势的7个变化,要求项目管理以客户价值实现为目......