Obsah:

Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky
Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky

Video: Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky

Video: Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky
Video: Трансильвания Румыния Путешествие в Салина Турда Алба Юлия и Сибиу 🇷🇴 Румыния что посмотреть 2024, Júl
Anonim
Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire)
Ešte jedna meteorologická stanica Arduino (ESP-01 a BMP280 a DHT11 a OneWire)

Tu nájdete jednu iteráciu použitia OneWire s veľmi malým počtom pinov ESP-01. Zariadenie vytvorené v tomto návode sa pripája k sieti Wi-Fi podľa vášho výberu (musíte mať poverenia …) Zhromažďuje senzorické údaje z BMP280 a DHT11 a odosiela zozbierané údaje na poskytnutý kanál ThingSpeak. Predpokladám, že viete, ako nahrať skicu do svojho ESP-01, takže nejdem do týchto podrobností. Bez regulátora napätia musí byť obvod napájaný s max. 3,3 V DC. Nie je pridaného veľa textu, návod by mal byť z tohto bodu jednoduchý.

Krok 1: Krok 1: kusovník

Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník
Krok 1: kusovník

Hardvér:

1 x Wifi modul: ESP-01 (používam verziu 1024 KB)

1 x snímač tlaku a teploty: BMP280

1 x snímač vlhkosti a teploty: DHT11

1 x regulátor napätia AMS1117 (voliteľný pre priame napájanie, alebo môžete použiť ktorýkoľvek iný, ktorý dokáže regulovať vaše vstupné napätie až na pevných 3,3 V)

Krok 2: Krok 2: Zapojenie

Krok 2: Zapojenie
Krok 2: Zapojenie

ESP-01 VCC až 3,3 VESP-01 GND až GNDESP-01 TX až DHT11 DATAESP-01 GPIO0 až BMP280 SDAESP-01 GPIO2 až BMP280 SCLDHT11 VCC až 3,3 VDHT11 GND až GNDBMP280 VCC až 3,3 VBMP280 GND až GND

Krok 3: Krok 3: Kód

#include #include #include // CHECK #define BMP280_ADDRESS baňa pracuje s (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // VAŠA WIFI SSID const char* heslo = "asd"; // VAŠA WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // VAŠE APIKEY // veci DHT11 float temperature_buiten; teplota plaváka_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C veci Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Pripojenie k sieti WiFi WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {oneskorenie (500); }} void loop () {// DHT11 float vlhkost = dht.readHumidity (); plávajúca teplota = dht.readTemperature (); if (isnan (vlhkosť) || isnan (teplota)) {návrat; } // BMP280 Reťazec t = Reťazec (bmp.readTemperature ()); Reťazec p = Reťazec (bmp.readPressure ()); // TCP CONNECTION WiFiClient klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } Adresa URL reťazca = "/aktualizovať? Kľúč ="; url += writeAPIKey; url += "& field1 ="; url += reťazec (teplota); // DHT11 CELSIUS url += "& field2 ="; url += reťazec (vlhkosť); // DHT11 RELATÍVNA VLHKOSŤ url += "& field3 ="; url += String (bmp.readTemperature ()); // URL BMP280 CELSIUS += "& field4 ="; url += reťazec (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += String (bmp.readAltitude (1013,25)); // URL METRU BMP280 += "& field6 ="; url += String ((teplota +bmp.readTemperature ())/2); // DHT11 + BMP280 PRIEMERNÝ CELSIUS url + = "\ r / n"; // Odoslať požiadavku na server client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Pripojenie: zavrieť / r / n / r / n "); oneskorenie (1000); }

Odporúča: