Оглавление:

Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire): 4 шага
Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire): 4 шага

Видео: Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire): 4 шага

Видео: Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire): 4 шага
Видео: WiFi метеостанция своими руками. ESP8266 + Arduino IDE 2024, Ноябрь
Anonim
Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire)
Еще одна метеостанция Arduino (ESP-01, BMP280, DHT11 и OneWire)

Здесь вы можете найти одну итерацию использования OneWire с очень небольшим количеством контактов ESP-01. Устройство, созданное в этом руководстве, подключается к выбранной вами сети Wi-Fi (у вас должны быть учетные данные …). Собирает сенсорные данные с BMP280 и DHT11, и отправляет собранные данные на предоставленный канал ThingSpeak. Я предполагаю, что вы знаете, как загрузить эскиз на свой ESP-01, поэтому я не буду вдаваться в подробности. Без регулятора напряжения схема должна быть запитана. с максимальным напряжением 3,3 В. Текст добавляется не так много, с этого момента руководство должно быть простым.

Шаг 1: Шаг 1: спецификация

Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация
Шаг 1: спецификация

Аппаратное обеспечение:

1 модуль Wi-Fi: ESP-01 (я использую версию 1024 КБ)

1 x датчик давления и температуры: BMP280

1 х датчик влажности и температуры: DHT11

1 x регулятор напряжения AMS1117 (опционально для прямого питания, или вы можете использовать любой другой, способный регулировать входное напряжение до фиксированного 3,3 В)

Шаг 2: Шаг 2: Подключение

Шаг 2: Подключение
Шаг 2: Подключение

ESP-01 VCC к 3.3VESP-01 GND к GNDESP-01 TX к DHT11 DATAESP-01 GPIO0 к BMP280 SDAESP-01 GPIO2 к BMP280 SCLDHT11 VCC к 3.3VDHT11 GND к GNDBMP280 VCC к 3.3VBMP280 GND к GND

Шаг 3: Шаг 3: Код

#include #include #include // CHECK #define BMP280_ADDRESS mine работает с (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char * ssid = "as "; // ВАШ WIFI SSID const char * password = "asd"; // ВАШ WIFIPASS const char * host = "api.thingspeak.com"; const char * writeAPIKey = "asd"; // ВАШ APIKEY // DHT11 материал float temperature_buiten; float temperature_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// Материал I2C Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("Нет BMP280"); // while (1) {}} // Подключаемся к сети Wi-Fi WiFi.begin (ssid, password); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); }} void loop () {// DHT11 float влажность = dht.readHumidity (); температура поплавка = dht.readTemperature (); if (isnan (влажность) || isnan (температура)) {return; } // BMP280 String t = String (bmp.readTemperature ()); Строка p = Строка (bmp.readPressure ()); // СОЕДИНЕНИЕ TCP WiFiClient client; const int httpPort = 80; если (! client.connect (хост, httpPort)) {возврат; } String url = "/ update? Key ="; url + = writeAPIKey; url + = "& field1 ="; url + = Строка (температура); // DHT11 CELSIUS url + = "& field2 ="; url + = String (влажность); // DHT11 ОТНОСИТЕЛЬНАЯ ВЛАЖНОСТЬ url + = "& field3 ="; url + = String (bmp.readTemperature ()); // BMP280 CELSIUS url + = "& field4 ="; url + = String (bmp.readPressure () / 100); // BMP280 MILLIBAR url + = "& field5 ="; url + = String (bmp.readAltitude (1013.25)); // BMP280 METER url + = "& field6 ="; url + = String ((temperature + bmp.readTemperature ()) / 2); // DHT11 + BMP280 СРЕДНИЙ ЦЕЛЬСИЙ url + = "\ r / n"; // Отправляем запрос на сервер client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); задержка (1000); }

Рекомендуемые: