Turinys:

Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire): 4 žingsniai
Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire): 4 žingsniai

Video: Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire): 4 žingsniai

Video: Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire): 4 žingsniai
Video: #14 OP320 HMI Modbus ryšys | Outseal Arduino PLC 2024, Lapkritis
Anonim
Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire)
Dar viena „Arduino“orų stotis (ESP-01 & BMP280 & DHT11 & OneWire)

Čia galite rasti vieną „OneWire“naudojimo iteraciją su labai nedaug ESP-01 kaiščių. Šioje instrukcijoje sukurtas įrenginys jungiasi prie jūsų pasirinkto „Wi-Fi“tinklo (turite turėti kredencialus …) Renkami jutimo duomenys iš BMP280 ir DHT11 ir siunčia surinktus duomenis į pateiktą „ThingSpeak“kanalą. Darau prielaidą, kad žinote, kaip įkelti eskizą į savo ESP-01, todėl nesigilinu į šias detales. Be įtampos reguliatoriaus grandinė turi būti įjungta su maks. 3,3 V nuolatine srove. Nelabai pridėta teksto, nuo to momento pamoka turėtų būti paprasta.

1 žingsnis: 1 žingsnis: BOM

1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM
1 žingsnis: BOM

Techninė įranga:

1 x „Wifi“modulis: ESP-01 (naudoju 1024 KB versiją)

1 x slėgio ir temperatūros jutiklis: BMP280

1 x drėgmės ir temperatūros jutiklis: DHT11

1 x įtampos reguliatorius AMS1117 (pasirenkamas tiesioginiam maitinimui, arba galite naudoti bet kurį kitą, galintį reguliuoti įvesties įtampą iki fiksuotos 3,3 V įtampos)

2 žingsnis: 2 žingsnis: laidų prijungimas

2 žingsnis: laidų prijungimas
2 žingsnis: laidų prijungimas

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

3 žingsnis: 3 žingsnis: kodas

#include #include #include // CHECK #define BMP280_ADDRESS mano darbas su (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd “; // JŪSŲ WIFI SSID const char* password = "asd"; // JŪSŲ WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // JŪSŲ APIKEY // DHT11 medžiaga float temperature_buiten; plūdės temperatūra_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Viela.pradėti (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("Nr BMP280"); // while (1) {}} // Prisijunkite prie „WiFi“tinklo „WiFi.begin“(ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (500); }} void loop () {// DHT11 plūdės drėgmė = dht.readHumidity (); plūdės temperatūra = dht.readTemperature (); if (isnan (drėgmė) || isnan (temperatūra)) {return; } // BMP280 String t = String (bmp.readTemperature ()); Eilutė p = eilutė (bmp.readPressure ()); // „TCP CONNECTION WiFiClient“klientas; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& laukas1 ="; url += Styga (temperatūra); // DHT11 CELSIUS url += "& field2 ="; url += Styga (drėgmė); // DHT11 RELATIVE HUMIDITY url += "& field3 ="; url += Styga (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += Styga (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += Styga (bmp.readAltitude (1013.25)); // BMP280 METER url += "& field6 ="; url += Styga ((temperatūra +bmp.readTemperature ())/2); // DHT11 + BMP280 AVERAGE CELSIUS url + = "\ r / n"; // Siųsti užklausą serverio klientui.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Ryšys: uždaryti / r / n / r / n "); vėlavimas (1000); }

Rekomenduojamas: