Съдържание:

Още една метеорологична станция 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 стъпки
Видео: Erasmus+ project AGRI-SMART - Interview with Emanuele Gosamo, AGREETECH 2024, Ноември
Anonim
Още една метеорологична станция Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
Още една метеорологична станция Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

Тук можете да намерите една итерация за използване на OneWire с малкото щифтове на ESP-01. Устройството, създадено в тази инструкция, се свързва с избраната от вас Wi-Fi мрежа (трябва да имате идентификационни данни …) Събира сензорни данни от BMP280 и a DHT11 и изпраща събраните данни към предоставения канал ThingSpeak. Предполагам, че знаете как да качите скица на вашия ESP-01, така че няма да навлизам в тези подробности. Без регулатор на напрежението, веригата трябва да се захранва с макс. 3.3V DC. Не се добавя много текст, урокът трябва да бъде ясен от този момент.

Стъпка 1: Стъпка 1: Спецификация

Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация
Стъпка 1: Спецификация

Хардуер:

1 x Wifi модул: ESP-01 (използвам версията 1024 KB)

1 x сензор за налягане и температура: BMP280

1 x сензор за влажност и температура: DHT11

1 x регулатор на напрежението AMS1117 (по избор за директно захранване или можете да използвате всеки друг, който може да регулира вашето входно напрежение до фиксирани 3.3V)

Стъпка 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 работи с (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "; // ВАШИЯТ WIFI SSID const char* парола = "asd"; // ВАШИЯТ WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // ВАШИЯТ АПИКЕЙ // DHT11 stuff float temperature_buiten; температура на поплавъка_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) {}} // Свържете се с WiFi мрежа WiFi.begin (ssid, парола); while (WiFi.status ()! = WL_CONNECTED) {забавяне (500); }} void loop () {// DHT11 float влажност = dht.readHumidity (); температура на поплавък = dht.readTemperature (); if (isnan (влажност) || isnan (температура)) {връщане; } // BMP280 String t = String (bmp.readTemperature ()); Низ p = Низ (bmp.readPressure ()); // TCP ВРЪЗКА WiFiClient клиент; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += низ (температура); // DHT11 CELSIUS url += "& field2 ="; url += низ (влажност); // 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 ((температура +bmp.readTemperature ())/2); // DHT11 + BMP280 СРЕДЕН CELSIUS url + = "\ r / n"; // Изпращане на заявка до сървъра client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Връзка: затваряне / r / n / r / n "); забавяне (1000); }

Препоръчано: