Tartalomjegyzék:

Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): 4 lépés
Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): 4 lépés

Videó: Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): 4 lépés

Videó: Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): 4 lépés
Videó: ESP8266 ESP01 WI-FI-UART | Программирование LDmicro-Roboremo 2024, December
Anonim
Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire)
Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire)

Itt talál egy iterációt a OneWire használatáról az ESP-01 nagyon kevés érintkezőjével. Az ebben az utasításban létrehozott eszköz csatlakozik az Ön által választott Wifi hálózathoz (rendelkeznie kell a hitelesítő adatokkal …) Érzékszervi adatokat gyűjt egy BMP280 és egy DHT11, és elküldi az összegyűjtött adatokat a megadott ThingSpeak csatornára. Feltételezem, hogy tudja, hogyan kell vázlatot feltölteni az ESP-01 készülékre, ezért nem megyek bele ezekbe a részletekbe. Feszültségszabályozó nélkül az áramkört be kell kapcsolni max. 3,3 V egyenárammal. Nem sok szöveg kerül hozzáadásra, az oktatóanyagnak ettől kezdve egyszerűnek kell lennie.

1. lépés: 1. lépés: BOM

1. lépés: BOM
1. lépés: BOM
1. lépés: BOM
1. lépés: BOM
1. lépés: BOM
1. lépés: BOM
1. lépés: BOM
1. lépés: BOM

Hardver:

1 x Wifi modul: ESP-01 (az 1024 KB-os verziót használom)

1 x Nyomás- és hőmérséklet -érzékelő: BMP280

1 x páratartalom és hőmérséklet érzékelő: DHT11

1 x AMS1117 feszültségszabályozó (opcionális közvetlen tápellátáshoz, vagy használhat bármilyen más eszközt, amely képes a bemeneti feszültség rögzített 3,3 V -ig történő szabályozására)

2. lépés: 2. lépés: huzalozás

2. lépés: Kábelezés
2. lépés: Kábelezés

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

3. lépés: 3. lépés: Kód

#include #include #include // CHECK #define BMP280_ADDRESS enyém működik (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // A WIFI SSID -je const char* password = "asd"; // A WIFIPASS -od const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // A TE APIKEYD // DHT11 cucc float temperature_buiten; lebegési hőmérséklet_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C cucc Wire.pins (0, 2); Vezeték.kezdet (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Csatlakozás WiFi hálózathoz WiFi.begin (ssid, password); while (WiFi.status ()! = WL_CONNECTED) {delay (500); }} void loop () {// DHT11 úszó páratartalom = dht.readHumidity (); úszó hőmérséklet = dht.readTemperature (); if (isnan (páratartalom) || isnan (hőmérséklet)) {return; } // BMP280 Karakterlánc t = Karakterlánc (bmp.readTemperature ()); Karakterlánc p = Karakterlánc (bmp.readPressure ()); // TCP CONNECTION WiFiClient kliens; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& mező1 ="; url += Karakterlánc (hőmérséklet); // DHT11 CELSIUS url += "& field2 ="; url += String (páratartalom); // DHT11 RELATÍV PÁRÁS url += "& field3 ="; url += Karakterlánc (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += Karakterlánc (bmp.readPressure ()/100); // BMP280 MILLIBÁR url += "& field5 ="; url += Karakterlánc (bmp.readAltitude (1013.25)); // BMP280 MÉTER url += "& field6 ="; url += Karakterlánc ((hőmérséklet +bmp.readTemperature ())/2); // DHT11 + BMP280 ÁTLAG CELSIUS url + = "\ r / n"; // Kérés küldése a szerver kliensnek.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Kapcsolat: bezár / r / n / r / n "); késleltetés (1000); }

Ajánlott: