热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c/c++开发分享通过ESP8266上传温度到腾讯云

文章目录1腾讯云操作1.1新建项目1.2新建产品1.3创建设备2MQTT.fx测试3ESP8266模块上传温度1腾讯云操作1.1新建项目创建完后进入项目。1.2新建产品点击新建产品

文章目录

  • 1 腾讯云操作
    • 1.1 新建项目
    • 1.2 新建产品
    • 1.3 创建设备
  • 2 MQTT.fx测试
  • 3 ESP8266模块上传温度
    • 3.1 测试并连接路由器
    • 3.2 设置平台信息
    • 3.3 重头戏,关键,连接服务器
    • 3.4 订阅 MQTT 某个 Topic)
    • 3.5 向某个 Topic 发布消息

1 腾讯云操作

1.1 新建项目

通过ESP8266上传温度到腾讯云

  • 创建完后进入项目。

1.2 新建产品

  • 点击新建产品
    通过ESP8266上传温度到腾讯云
  • 创建产品完毕后,点击进入,下面就是给产品自定义功能
    通过ESP8266上传温度到腾讯云
  • 然后下一步

通过ESP8266上传温度到腾讯云

  • 交互可以跳过

1.3 创建设备

通过ESP8266上传温度到腾讯云

  • 点击调试,可以查看三元组,然后可以用官方生成工具生成MQTT.fx需要的东西
    通过ESP8266上传温度到腾讯云

通过ESP8266上传温度到腾讯云

  • 下面是生成小工具的地址
    https://cloud.tencent.com/document/product/1081/46507
2 MQTT.fx测试

这里有个问题,你必须先订阅

上行响应 Topic: $thing/down/property/{ProductID}/{DeviceName} 

然后上报属性,平台才会刷新

上行请求 Topic: $thing/up/property/{ProductID}/{DeviceName} 

通过ESP8266上传温度到腾讯云

通过ESP8266上传温度到腾讯云
通过ESP8266上传温度到腾讯云

{   "method": "report",   "clientToken": "123",   "timestamp": 1212121221,   "params": {     "Temperature": 51,     "light": 1   } } 
  • 下面是数据格式
    https://cloud.tencent.com/document/product/1081/34916

  • 最后我们就可以在腾讯云上看见实时的温度了

通过ESP8266上传温度到腾讯云

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> 
  • 我们先使用上面的命令订阅,然后用在线调试,就可以看到收到了下发的消息。

通过ESP8266上传温度到腾讯云
通过ESP8266上传温度到腾讯云

3.5 向某个 Topic 发布消息

这里一定要注意,如果 AT 命令的参数内容包含了特殊字符如双引号(”)逗号(,)等,需要加()进行转义,比如PUB消息的payload采用的JSON数据格式为"{"action": "publish_test", "count": "0"}", 则应该转义为"{"action":"publish_test","count":"0"}"再传入,否则会报错。

AT+TCMQTTPUB=<topic>,<qos>,<message>  

通过ESP8266上传温度到腾讯云

通过ESP8266上传温度到腾讯云

c/c++开发分享通过ESP8266上传温度到腾讯云地址:https://blog.csdn.net/weixin_46027505/article/details/107915703


推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 常用工具(一)
    1.时间戳在线转换工具(1)链接https:tool.lutimestamp(2)说明可以通过此工具:将时间戳转为具体时间点,也可以将具体时间点转为时间戳(3)效果2.JSON在线 ... [详细]
  • 起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学 PythonFlask构建微信小程序订餐系统 课程。 ... [详细]
  • 获取时间的函数js代码,js获取时区代码
    本文目录一览:1、js获取服务器时间(动态)2 ... [详细]
  • 搭建线上服务器环境,分享一下我安装MySql的步骤,也替大家踩踩坑!一、检查服务器是否已经安装MySqlrpm-qa|grepmysql如 ... [详细]
author-avatar
mobiledu2402851377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有