Sisällysluettelo:

Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire): 4 vaihetta
Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire): 4 vaihetta

Video: Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire): 4 vaihetta

Video: Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire): 4 vaihetta
Video: Урок 96: Датчик атмосферного давления, температуры, приблизительной высоты BMP390 с ЖК-дисплеем 2024, Heinäkuu
Anonim
Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire)
Vielä yksi Arduinon sääasema (ESP-01 & BMP280 & DHT11 & OneWire)

Täältä löydät yhden iteroinnin OneWiren käyttämisestä ESP-01: n hyvin harvoilla nastoilla. Tässä ohjeessa luotu laite muodostaa yhteyden valitsemasi Wifi-verkkoon (sinulla on oltava kirjautumistiedot …) Kerää aistitietoja BMP280- ja DHT11, ja lähettää kerätyt tiedot ThingSpeak-kanavalle. Enintään 3,3 V DC.

Vaihe 1: Vaihe 1: BOM

Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM
Vaihe 1: BOM

Laitteisto:

1 x Wifi-moduuli: ESP-01 (käytän 1024 kt: n versiota)

1 x Paine- ja lämpötila -anturi: BMP280

1 x Kosteus- ja lämpötila -anturi: DHT11

1 x jännitesäädin AMS1117 (lisävarusteena suoralähteelle, tai voit käyttää mitä tahansa muuta, joka pystyy säätämään syöttöjännitteen kiinteään 3,3 V: iin)

Vaihe 2: Vaihe 2: Johdotus

Vaihe 2: Johdotus
Vaihe 2: Johdotus

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.3VBMP2N GND

Vaihe 3: Vaihe 3: Koodi

#include #include #include // TARKISTA #define BMP280_ADDRESS kaivos toimii (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // WIFI -SSID -tunnuksesi const char* password = "asd"; // WIFIPASS -laitteesi const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // SINUN APIKEY // DHT11 tavaraa float temperature_buiten; kelluva lämpötila_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C -tavarat Wire.pins (0, 2); Lanka.alku (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Yhdistä WiFi -verkkoon WiFi.begin (ssid, password); while (WiFi.status ()! = WL_CONNECTED) {delay (500); }} void loop () {// DHT11 float kosteus = dht.readHumidity (); kellukkeen lämpötila = dht.readTemperature (); if (isnan (kosteus) || isnan (lämpötila)) {paluu; } // BMP280 Merkkijono t = Jono (bmp.readTemperature ()); Jono p = Jono (bmp.readPressure ()); // TCP CONNECTION WiFiClient -asiakas; const int httpPort = 80; if (! client.connect (isäntä, httpPort)) {return; } Merkkijono url = "/update? Key ="; url += writeAPIKey; url += "& kenttä1 ="; url += Merkkijono (lämpötila); // DHT11 CELSIUS url += "& field2 ="; url += Merkkijono (kosteus); // DHT11 SUHTEELLINEN KOSTEUS url += "& field3 ="; url += Merkkijono (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += Merkkijono (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += Merkkijono (bmp.readAltitude (1013.25)); // BMP280 METER url += "& field6 ="; url += Merkkijono ((lämpötila +bmp.readTemperature ())/2); // DHT11 + BMP280 KESKIMÄÄRÄINEN url + = "\ r / n"; // Lähetä pyyntö palvelinasiakkaalle. Print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); viive (1000); }

Suositeltava: