登录/注册

esp32腾讯云温湿度

更多

以下是使用 ESP32 连接 腾讯云物联网平台 上报温湿度数据的简要步骤:


1. 准备工作


2. 腾讯云物联网平台配置

  1. 创建产品

    • 登录腾讯云控制台,进入 物联网开发平台
    • 创建新产品(例如命名为 "ESP32_Environment"),选择“设备”类型。
    • 在“数据协议”中定义温湿度属性(如 temperaturehumidity)。
  2. 创建设备

    • 在创建的产品下新增设备,记录 ProductID(产品ID)DeviceName(设备名称)DeviceSecret(设备密钥)(即“三元组”)。

3. ESP32 代码实现

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>

#define DHTPIN 4        // DHT传感器连接的GPIO引脚
#define DHTTYPE DHT22   // DHT22 或 DHT11

const char* ssid = "你的WiFi名称";
const char* password = "你的WiFi密码";

// 腾讯云物联网平台参数
#define PRODUCT_ID "你的产品ID"
#define DEVICE_NAME "你的设备名称"
#define DEVICE_SECRET "你的设备密钥"
#define REGION "ap-guangzhou" // 根据实际区域填写

DHT dht(DHTPIN, DHTTYPE);
WiFiClient espClient;
PubSubClient client(espClient);

// 生成MQTT客户端ID、用户名、密码(腾讯云规则)
void generateMqttInfo(char* clientID, char* username, char* password) {
  sprintf(clientID, "%s%s", PRODUCT_ID, DEVICE_NAME);
  sprintf(username, "%s;%s", PRODUCT_ID, DEVICE_NAME);
  unsigned long timestamp = time(nullptr);
  String pwd = "hmacsha1 " + String(DEVICE_SECRET) + " " + String(timestamp);
  strcpy(password, pwd.c_str());
}

void connectToCloud() {
  char clientID[64], username[64], password[128];
  generateMqttInfo(clientID, username, password);

  client.setServer(PRODUCT_ID + ".iotcloud.tencentdevices.com", 1883); // MQTT地址
  while (!client.connect(clientID, username, password)) {
    delay(1000);
    Serial.println("连接腾讯云中...");
  }
  Serial.println("腾讯云连接成功!");
}

void setup() {
  Serial.begin(115200);
  dht.begin();

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi连接成功");

  configTime(8 * 3600, 0, "ntp.ntsc.ac.cn"); // 配置NTP时间(腾讯云需要时间戳)
  connectToCloud();
}

void loop() {
  if (!client.connected()) {
    connectToCloud();
  }
  client.loop();

  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("读取传感器失败!");
    return;
  }

  // 构建JSON数据(腾讯云物模型格式)
  String payload = "{\"method\":\"report\",\"params\":{\"temperature\":" + String(temperature) + ",\"humidity\":" + String(humidity) + "}}";

  // 发布到Topic: $thing/up/property/{ProductID}/{DeviceName}
  String topic = "$thing/up/property/" + String(PRODUCT_ID) + "/" + String(DEVICE_NAME);
  client.publish(topic.c_str(), payload.c_str());

  delay(5000); // 每5秒上报一次
}

4. 关键说明


5. 查看数据


注意事项

温湿度标定箱,湿度检定箱,宽温区温湿度检定箱

1970-01-01 08:00:00 至 1970-01-01 08:00:00

基于ESP8266的温湿度监测系统设计

基于ESP8266的温湿度监测系统是一种利用物联网技术实现对环境温度和湿度实时监控的系统。该系统主要由传感器、

2023-09-26 18:25:23

使用ESP8266驱动DHT11温湿度传感器

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度综合传感器,在Arduino提高篇中已对其进行了介绍,本篇使用ESP8266来驱动

2023-05-19 14:20:12

ESP8266 SOC智能硬件典型应用方案之温湿度远程监控

ESP8266 SOC智能硬件典型应用方案-温湿度远程监控应用-数值量上报

资料下载 jinyi7016 2022-10-08 10:13:57

ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现

的设计与实现第四篇:ESP32-CAM创建热点构成并发式DNS服务器第五篇:ESP32-CAM高性价比温湿度监控系统第六篇:

资料下载 贾虎世 2021-12-29 19:05:21

HTWC06温湿度变送器说明书

HTWC06温湿度变送器

资料下载 姬书艺 2021-08-30 10:40:27

温湿度变送器基础知识

温湿度变送器是一款基于已校准数字信号输出的温湿度复合传感器AM2305,通过标准的RS-485总线通信方式与计算机组成的分布式多点温湿度测控系统

资料下载 姚小熊27 2021-03-19 14:58:11

如何使用ESP8266发送温湿度的数据到物联网

  好了,言归正传,现在开始介绍如何使用esp8266向物联网发送温湿度的数据,首先你要有一个esp8266 模块,这个模块有很多型号,我用过两

资料下载 刘艳 2019-08-05 17:34:00

温湿度远程监控系统概述

中易云温湿度监控系统专为温湿度监控设计,使用各种物联网温湿度监控硬件及

2022-12-16 15:36:10

使用ESP32连接腾讯实现远程控制

上次给大家分享了如何使用ESP32实现蓝牙通信,今天跟大家聊聊如何使用ESP32连接腾讯

2022-11-22 09:19:30

求一种ESP32-CAM高性价比温湿度监控系统配网与上网设计方案

如何去实现ESP32-CAM高性价比温湿度监控系统配网与上网方案的设计呢?

2022-02-22 07:36:33

ESP32-CAM高性价比温湿度监控系统是什么

的设计与实现第四篇:ESP32-CAM创建热点构成并发式DNS服务器第五篇:ESP32-CAM高性价比温湿度监控系统文章目录

2021-12-13 07:35:46

怎么实现STM32+ESP8266上传温湿度到onenet平台?

怎么实现STM32+ESP8266上传温湿度到onenet云平台?

2021-12-02 07:19:40

ESP32-S2如何驱动SHT20获取温湿度数据?

ESP32-S2如何驱动SHT20获取温湿度数据?

2021-11-08 08:07:20

手把手的教大家实现LoRa设备接入腾讯IoT物联网平台

今天,我们以智芯云的HTS221温湿度传感器的E53扩展板为例,手把手的教大家实现LoRa设备接入腾讯

2021-08-06 06:59:25
7天热门专题 换一换
相关标签