通过ESP8266上传温度到腾讯云
程序员文章站
2022-03-03 20:48:25
文章目录1 腾讯云操作1.1 新建项目1.2 新建产品1.3 创建设备2 MQTT.fx测试3 ESP8266模块上传温度1 腾讯云操作1.1 新建项目创建完后进入项目。1.2 新建产品点击新建产品创建产品完毕后,点击进入,下面就是给产品自定义功能然后下一步交互可以跳过1.3 创建设备点击调试,可以查看三元组,然后可以用官方生成工具生成MQTT.fx需要的东西下面是生成小工具的地址https://cloud.tencent.com/document/p...
文章目录
1 腾讯云操作
1.1 新建项目
- 创建完后进入项目。
1.2 新建产品
- 点击新建产品
- 创建产品完毕后,点击进入,下面就是给产品自定义功能
- 然后下一步
- 交互可以跳过
1.3 创建设备
- 点击调试,可以查看三元组,然后可以用官方生成工具生成MQTT.fx需要的东西
2 MQTT.fx测试
这里有个问题,你必须先订阅
上行响应 Topic: $thing/down/property/{ProductID}/{DeviceName}
然后上报属性,平台才会刷新
上行请求 Topic: $thing/up/property/{ProductID}/{DeviceName}
{
"method": "report",
"clientToken": "123",
"timestamp": 1212121221,
"params": {
"Temperature": 51,
"light": 1
}
}
-
下面是数据格式
https://cloud.tencent.com/document/product/1081/34916 -
最后我们就可以在腾讯云上看见实时的温度了
3 ESP8266模块上传温度
- 下面是腾讯云官方固件ESP8266的AT指令集
https://imgcache.qq.com/qcloud/marketiot/main/static/pdfjs/web/viewer.html?file=https%3A%2F%2Fqzonestyle.gtimg.cn%2Fqzone%2Fqzact%2Fact%2Fexternal%2Fiot-explorer-console%2FIoT-AT-command-V3.1.0.pdf
3.1 测试并连接路由器
- 接下来桦桦主要给出最最常用的。
- 下面的命令主要用于测试模块的可用性。并且将模块连上家里的路由器,达到可以联网的作用。
可以参考下面的博客。
https://blog.csdn.net/weixin_46027505/article/details/107900860
AT //测试是否启动
AT+RST //重启复位
AT+TCMODULE //查看模块的软硬件信息
AT+GMR //查看版本信息
AT+CIFSR //查询连接信息
AT+CWMODE? //查询当前模式
AT+CWMODE=1 //设置为STA模式
AT+CWJAP="xxs","123456789" //输入路由ssid和密码
AT+PING="baidu.com"
3.2 设置平台信息
- 下面是关于MQTT的AT命令。
AT+TCMQTTSTATE? //获取MQTT连接状态
-------------------
<state>:
MQTT 连接状态
0:MQTT 已断开
1:MQTT 已连接
- 第一步,设置平台信息
AT+TCDEVINFOSET=1,"产品ID","设备名称","设备密钥"//输入平台信息
-------------------------------------------------------------------
AT+TCDEVINFOSET后面的分别是<tlsmode>,<productId>,<devicename>,<devicesecr et_checksum>
< tlsmode >: 接入方式,必填项,0:直连模式,1:TLS 密钥方式 2:TLS 证书方式,数值类型。
ESP8266 模组仅支持模式 1
< productId >: 产品 id,必填项,字符串类型,最大长度 10 字节
< devicename >: 设备名称,必填项,字符串类型,最大长度 48 字节
<deviceSecret>: 设备密钥,必填项,字符串类型,最大长度 44 字节
- 使用下面的命令可以查看上面设置的
AT+TCDEVINFOSET?
- 使用下面的命令,可以抹除上面的信息,但是如果已经连接上了腾讯云,那么首先需要断开在执行。
AT+TCRESTORE
3.3 重头戏,关键,连接服务器
- 在连接腾讯云前,建议先断开以前连接的。
AT+TCMQTTDISCONN //断开和服务器的连接
AT+TCMQTTCONN=1,5000,240,1,1
------------------------------------
=后面的分别是<tlsmode>,<cmdtimeout>,<keepalive>,<clean_sessi on>,<reconnect>
<tlsmode>:接入方式,必填项,0:直连模式,1:TLS 密钥方式 2:TLS 证书方式,整型。
ESP8266 模组仅支持<tlsmode>=1 模式
<cmdtimeout>:命令超时时间,必填项,整型,MQTT 连接、发布、订阅 的超时时间,单位 ms,建议设置为 5000,可以根据网络环 境调整该值。范围 1000-10000(毫秒)
<keepalive > 心跳间隔,必填项,整型,范围 60-690(秒)
<clean_session > 是否清除会话,必填项,整型,0:不清除, 1:清除
<reconnect>:MQTT 断连后是否重连,必填项,整型,0:不自动重连 1: 自动重连
注意:该命令前置依赖 AT+TCDEVINFOSET 命令
3.4 订阅 MQTT 某个 Topic)
- 订阅
AT+TCMQTTSUB=<topic>,<qos>
- 取消某一主题的订阅
AT+TCMQTTUNSUB=<topic>
- 我们先使用上面的命令订阅,然后用在线调试,就可以看到收到了下发的消息。
3.5 向某个 Topic 发布消息
这里一定要注意,如果 AT 命令的参数内容包含了特殊字符如双引号(”)逗号(,)等,需要加(\)进行转义,比如PUB消息的payload采用的JSON数据格式为"{"action": "publish_test", "count": "0"}", 则应该转义为"{\"action\":\"publish_test\"\,\"count\":\"0\"}"再传入,否则会报错。
AT+TCMQTTPUB=<topic>,<qos>,<message>
本文地址:https://blog.csdn.net/weixin_46027505/article/details/107915703
上一篇: 我的rabbitmq服务器安装经历
下一篇: 文件共享服务器