【腾讯云物联网应用】MicroPython ESP32温湿度传感器DHT11数据采集

前言:

ESP32在全球电子开发者圈子是非常受追捧的,极高的性价比让其成为不少商业化产品的主控。玩ESP系列当然少不了的就是对接各类物联网云平台了,今天我们将以腾讯云为例,讲述如何通过micropython编程实现温湿度传感器数据上报。

腾讯云相对于阿里云可以说是后起之秀,凭借其强大的的产品能力迅速崛起,比较适合个人用户。同事也提供腾讯云物联网通信服务。MicroPython已经让嵌入式编程变得非常简单,今天我们就来实现如何让pyWiFi-ESP32通过MicroPython编程实现MQTT连接腾讯云,上报DTH11温湿度信息。

实验平台:

01Studio pyWiFi-ESP32开发套件(本例程ESP8266/ESP32-C3等平台可以通用)。

实验目的:

通过MicroPython编程实现温湿度传感器DHT11数据采集并上报到腾讯云物联网平台。

实验讲解:

大部分物联网开放平台都是在使用MQTT协议,因此本实验要求我们有一定的基础。建议学习完《MicroPython从0到1》基于ESP32平台的WIFI应用章节(连接路由器和MQTT通讯内容)再来学习本节。这里不再重复MQTT相关的概念。

接下来我们介绍如何在腾讯云物联网平台添加自己的硬件设备。首先登陆 https://cloud.tencent.com/ 注册自己的账号,然后在搜索栏搜索“物联网”,点击“立即使用”进入。

成功进入后如下图所示,可以看到左侧列表包含了物联网的相关功能和服务。

毫无疑问,我们第一步就是要建立自己的一个产品和设备,我们建立一个温湿度设备,对应开发板上面的DHT11,具体方法如下:

点击【创建新产品】按钮:

然后按下图填写配置信息:

点击【确定】后会发现列表出现一个新的产品栏,点击【管理】进入管理页面:

在设备列表栏点击【添加新设备】:

“产品”和“设备”,可以这么理解:产品是大类,设备是小类。比如某厂家的温湿度计作为一个产品 ,生产了1000个,每一个就是一个设备 ,都需要有唯一的信息。(当然你也可以把ESP32开发套件看成产品 ,上面的DHT11是其中1个设备 )。

在弹出窗口输入设备名称,这里为了方便演示直接写“1”,然后保存:

可以看到设备列表出现了1个新设备,点击【管理】查看设备信息:

在设备信息下方看到有密钥信息,这是MQTT通讯加密信息,后面在ESP32代码中添加:

然后在【权限列表】可以看到一些默认MQTT订阅和发布的主题,也可以自定义,本实验使用自带的订阅和发布主题。

下载附件的示例代码,将代码中的WiFi联网、设备密钥、以及IP端口的信息修改成自己的设备相关,然后在pyWiFi-ESP32开发套件运行代码。

wifi信息:

设备密钥信息修改:

腾讯云服务器IP和端口,使用【产品ID+.iotcloud.tencentdevices.com】,在产品列表可以看到:

如你的产品名为0000LCJRBL,则服务器IP为:0000LCJRBL.iotcloud.tencentdevices.com ,端口默认为1883。

运行成功后可以看到开发板先打印联网信息,然后显示温湿度信息:

腾讯云设备状态变成在线:

然后在设备的【云日志】–【运行日志】下拉列表选择【内容日志】,可以看到平台周期性收到ESP32开发板上报的温湿度信息。

本文参考代码请下载附件,有关腾讯云更多相关功能,请自行研究。

为了方便有需要的小伙伴,还是打个广告吧,本实验使用套件购买链接:
https://item.taobao.com/item.htm?id=623778213991

ESP32腾讯云物联网温湿度上报示例程序.rar (5.3 KB)