#373НовичокIoT

IoT-температура и влажность на Pico W (DHT22)

Следи за температурой и влажностью в комнате вживую на телефоне откуда угодно. Этот проект — пошаговое руководство к IoT-шаблону «Температура и влажность» в приложении, собранному на Raspberry Pi Pico W и DHT22. Открой Мастерская › Устройства › Добавить устройство, выбери плату Pico W и шаблон «Температура и влажность»; Ohmi подготовит код с твоим собственным ключом устройства. Код на этой странице — пример: ключ и данные Wi-Fi в нём заглушки.

0.0(0)
IoT-температура и влажность на Pico W (DHT22)
Если интересно, не замерзает ли дом, пока ты в отпуске, не становится ли слишком жарко в детской или когда в ванной растёт влажность, этот проект для тебя. Маленькая плата каждые несколько секунд отправляет на телефон температуру и влажность, прочитанные с датчика; из значений складывается график, так что день виден с одного взгляда. Код за тебя готовит приложение; ты подключаешь три провода и загружаешь его. Без пайки и без сетевого напряжения: самый безопасный старт для первого IoT-датчика.
IoT · удалённое управлениеПервое устройство бесплатно

Управляй этим устройством из приложения

Подключи ESP32 или Raspberry Pi Pico W к Wi-Fi — и включай, выключай и смотри показания в реальном времени с телефона. Код готовит Ohmi, тебе остаётся ввести данные Wi-Fi и загрузить его.

Шаблон в приложении: Температура и влажность

  • Где это в приложении?Добавь новое устройство на вкладке «Утилиты» или в разделе «Мастерская › Устройства» и выбери этот шаблон.
  • Библиотека ArduinoОткрой менеджер библиотек в Arduino IDE, найди BlueGraysIoT и установи её.
Скачать приложение бесплатно

В бесплатном плане — 1 устройство, 1 график и история за 24 часа. С Premium — больше устройств и графиков и более длинная история.

Схема

IoT-температура и влажность на Pico W (DHT22) - Circuit

Исходный код

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   IoT-температура и влажность на Pico W (DHT22)
4// ─────────────────────────────────────────
5// IoT-шаблон "Температура и влажность" из приложения BlueGrays: DHT22
6// каждые 2 секунды отправляет в приложение температуру и влажность в
7// комнате, а значения складываются в график. Настоящий код Ohmi готовит в
8// приложении с твоим собственным ключом устройства (Мастерская ›
9// Устройства › Добавить устройство); код здесь — пример, ключ устройства и
10// данные Wi-Fi — заглушки. Пакет платы: Raspberry Pi Pico (Earle
11// Philhower). Library Manager: BlueGraysIoT (с зависимостями). Плата
12// подключается только к сетям Wi-Fi 2.4 GHz.
13//
14// Пины:
15//   GP16 -> DHT22 OUT (данные)
16//   3V3, GND -> DHT22 VCC, GND
17//   ESP32: DHT22 OUT GPIO4
18
19/*
20 * Температура и влажность · BlueGrays IoT
21 * BlueGrays · bluegrays.com
22 * Не делись этим кодом: в нём ключ твоего устройства и пароль Wi-Fi.
23 */
24
25#include <BlueGraysIoT.h>
26#include <DHT.h>
27
28const char *DEVICE_KEY = "YOUR_DEVICE_KEY";
29const char *WIFI_NAME = "YOUR_WIFI_NAME";
30const char *WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";
31
32BlueGraysIoT bg(DEVICE_KEY);
33
34DHT dht(16, DHT22);
35unsigned long lastReadMs = 0;
36
37void setup() {
38  Serial.begin(115200);
39  dht.begin();
40  bg.setDeadband("sicaklik", 0.1);
41  bg.setDeadband("nem", 1.0);
42  bg.setDebug(Serial);
43  bg.setLanguage(BG_LANG_EN);
44  bg.begin(WIFI_NAME, WIFI_PASSWORD);
45}
46
47void loop() {
48  bg.loop();  // избегай здесь долгих вызовов delay()
49  if (millis() - lastReadMs >= 2000) {
50    lastReadMs = millis();
51    bg.send("sicaklik", dht.readTemperature());
52    bg.send("nem", dht.readHumidity());
53  }
54}
55

Частые вопросы

Можно ли загрузить код с этой страницы прямо на плату?

Можно, но подключения не будет: ключ устройства и данные Wi-Fi в нём — заглушки. В приложении открой Мастерская › Устройства › Добавить устройство, выбери плату Pico W и шаблон «Температура и влажность»; Ohmi подготовит код с твоим ключом, именем сети и паролем. Скопируй этот код и загрузи его. Полный код позже можно посмотреть в разделе Устройство › Код и ключ.

Как загрузить код на Pico W? Это MicroPython?

Этот проект работает на Arduino C++, а не на MicroPython. В Arduino IDE установи из менеджера плат пакет «pico» (Raspberry Pi Pico/RP2040, Earle Philhower) и выбери Raspberry Pi Pico W в меню Инструменты (Tools) › Плата (Board). Если это первая загрузка на плату или порт не появляется, удерживай кнопку BOOTSEL, подключая USB-кабель; Arduino IDE увидит плату как диск и загрузит на неё код. Установи BlueGraysIoT со всеми зависимостями из менеджера библиотек.

Работает ли это с ESP32?

Да. При добавлении устройства выбери плату ESP32; код остаётся тем же, меняется только пин датчика: OUT датчика DHT22 идёт к GPIO4, VCC — к 3V3, а GND — к GND. В Arduino IDE установи пакет «esp32» из менеджера плат. Схема и фото на этой странице сделаны с Pico W.

Какую историю видно на графике?

Значения хранятся на сервере и отображаются в приложении как текущее значение и график. Насколько далеко назад можно смотреть, зависит от твоего плана; премиум хранит историю гораздо дольше. Плата читает каждые 2 секунды, но отправляет только когда температура меняется на 0,1 °C или влажность на 1 пункт, поэтому график остаётся чистым, а плата не нагружает сервер зря.