Kazalo:

Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 koraki
Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 koraki

Video: Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 koraki

Video: Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 koraki
Video: Выставка САЛА! Уникальное САЛО! Привоз без людей!! Что продают в мороз? Одесса 2024, Julij
Anonim
Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
Še ena vremenska postaja Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

Tukaj najdete eno ponovitev uporabe OneWire z zelo malo zatiči ESP-01. Naprava, ustvarjena v tem navodilu, se poveže z omrežjem Wifi po vaši izbiri (imeti morate poverilnice …) Zbira senzorične podatke iz BMP280 in DHT11 in pošlje zbrane podatke na priloženi kanal ThingSpeak. Predvidevam, da veste, kako naložite skico na svoj ESP-01, zato se ne bom spuščal v te podrobnosti. Brez regulatorja napetosti je treba napajati vezje z največ 3,3 V DC. Ni dodano veliko besedila, od tega trenutka naj bo vadnica preprosta.

1. korak: 1. korak: BOM

1. korak: BOM
1. korak: BOM
1. korak: BOM
1. korak: BOM
1. korak: BOM
1. korak: BOM
1. korak: BOM
1. korak: BOM

Strojna oprema:

1 x modul Wifi: ESP-01 (uporabljam različico 1024 KB)

1 x senzor tlaka in temperature: BMP280

1 x senzor vlažnosti in temperature: DHT11

1 x regulator napetosti AMS1117 (izbirno za neposredno napajanje ali pa uporabite katerega koli drugega, ki lahko uravnava vašo vhodno napetost do fiksnih 3,3 V)

2. korak: 2. korak: Ožičenje

2. korak: Ožičenje
2. korak: Ožičenje

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

3. korak: 3. korak: Koda

#include #include #include // CHECK #define BMP280_ADDRESS moj deluje z (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = " "; // VAŠ WIDI SSID const char* geslo = "asd"; // VAŠ WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // VAŠ APIKEJ // DHT11 material float temperature_buiten; temperatura plovca_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 ("Brez BMP280"); // while (1) {}} // Povežite se z omrežjem WiFi WiFi.begin (ssid, geslo); while (WiFi.status ()! = WL_CONNECTED) {zamuda (500); }} void loop () {// DHT11 plavajoča vlažnost = dht.readHumidity (); plavajoča temperatura = dht.readTemperature (); if (isnan (vlažnost) || isnan (temperatura)) {return; } // Niz BMP280 t = Niz (bmp.readTemperature ()); Niz p = niz (bmp.readPressure ()); // Odjemalec TCP CONNECTION WiFiClient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } Niz url = "/update? Key ="; url += writeAPIKey; url += "& polje1 ="; url += niz (temperatura); // DHT11 CELSIUS url += "& field2 ="; url += niz (vlažnost); // DHT11 RELATIVNA VLAGA url += "& field3 ="; url += niz (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += niz (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += niz (bmp.readAltitude (1013.25)); // BMP280 METER url += "& field6 ="; url += niz ((temperatura +bmp.readTemperature ())/2); // DHT11 + BMP280 POVPREČNI CELSIUS url + = "\ r / n"; // Pošlji zahtevo strežniku client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Povezava: zaprite / r / n / r / n "); zamuda (1000); }

Priporočena: