Sadržaj:

Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire): 4 koraka
Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire): 4 koraka

Video: Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire): 4 koraka

Video: Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire): 4 koraka
Video: Još jedna lemna stanica! Yotec 967 sa sajta Banggood! 2024, Juli
Anonim
Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire)
Još jedna meteorološka stanica Arduino (ESP-01 i BMP280 & DHT11 i OneWire)

Ovdje možete pronaći jednu iteraciju korištenja OneWire-a s vrlo malo pinova ESP-01. Uređaj kreiran u ovoj uputi povezuje se s WiFi mrežom po vašem izboru (morate imati vjerodajnice …) Prikuplja senzorne podatke s BMP280 i DHT11 i šalje prikupljene podatke na predviđeni kanal ThingSpeak. Pretpostavljam da znate kako učitati skicu na svoj ESP-01, pa ne ulazim u te detalje. Bez regulatora napona, krug se mora napajati sa max 3.3V DC. Ne dodaje se mnogo teksta, od ovog trenutka bi vodič trebao biti jasan.

Korak 1: Korak 1: BOM

Korak 1: BOM
Korak 1: BOM
Korak 1: BOM
Korak 1: BOM
Korak 1: BOM
Korak 1: BOM
Korak 1: BOM
Korak 1: BOM

Hardver:

1 x Wifi modul: ESP-01 (koristim verziju od 1024 KB)

1 x Senzor pritiska i temperature: BMP280

1 x Senzor vlažnosti i temperature: DHT11

1 x regulator napona AMS1117 (opcionalno za izravno napajanje ili možete koristiti bilo koji drugi koji može regulirati vaš ulazni napon do fiksnih 3,3 V)

Korak 2: Korak 2: Ožičenje

Korak 2: Ožičenje
Korak 2: Ožičenje

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

Korak 3: Korak 3: Kodirajte

#include #include #include // CHECK #define BMP280_ADDRESS moj radi s (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid " "; // VAŠ WIFI SSID const char* lozinka = "asd"; // VAŠ WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // VAŠ APIKEY // DHT11 stuff float temperature_buiten; temperatura plovka_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stvari Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("Nema BMP280"); // while (1) {}} // Povežite se na WiFi mrežu WiFi.begin (ssid, lozinka); while (WiFi.status ()! = WL_CONNECTED) {odgoda (500); }} void loop () {// DHT11 plutajuća vlažnost = dht.readHumidity (); temperatura plovka = dht.readTemperature (); if (isnan (vlažnost) || isnan (temperatura)) {povratak; } // BMP280 string t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP CONNECTION WiFiClient klijent; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& polje1 ="; url += niz (temperatura); // DHT11 CELSIUS url += "& field2 ="; url += niz (vlažnost); // DHT11 RELATIVNA VLAŽNOST 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 ((temperatura +bmp.readTemperature ())/2); // DHT11 + BMP280 PROSJEČAN CELSIUS url + = "\ r / n"; // Pošaljite zahtjev serveru client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Veza: zatvori / r / n / r / n "); kašnjenje (1000); }

Preporučuje se: