Obsah:

Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky
Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky

Video: Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky

Video: Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire): 4 kroky
Video: Kosmické novinky - Vesmír v roce 2023 2024, Listopad
Anonim
Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire)
Ještě jedna meteorologická stanice Arduino (ESP-01 a BMP280 a DHT11 a OneWire)

Zde najdete jednu iteraci používání OneWire s velmi malým počtem pinů ESP-01. Zařízení vytvořené v tomto pokynu se připojuje k síti Wifi podle vašeho výběru (musíte mít přihlašovací údaje …) Shromažďuje senzorická data z BMP280 a DHT11 a odešle shromážděná data na poskytnutý kanál ThingSpeak. Předpokládám, že víte, jak nahrát skicu do vašeho ESP-01, takže se nebudu zabývat těmito detaily. Bez regulátoru napětí musí být obvod napájen s max. 3,3 V DC. Není přidáno mnoho textu, návod by měl být od tohoto bodu přímočarý.

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

Hardware:

1 x WiFi modul: ESP-01 (používám verzi 1024 KB)

1 x snímač tlaku a teploty: BMP280

1 x snímač vlhkosti a teploty: DHT11

1 x regulátor napětí AMS1117 (volitelně pro přímé napájení, nebo můžete použít jakýkoli jiný, který dokáže regulovat vaše vstupní napětí až na pevných 3,3 V)

Krok 2: Krok 2: Zapojení

Krok 2: Zapojení
Krok 2: Zapojení

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

Krok 3: Krok 3: Kód

#include #include #include // CHECK #define BMP280_ADDRESS moje práce s (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // VAŠE WIFI SSID const char* heslo = "asd"; // VAŠE WIFIPASS konstantní char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // VAŠE APIKEY // DHT11 věci plovoucí teplota_buiten; plovoucí teplota_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C věci Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Připojení k WiFi síti WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (500); }} void loop () {// DHT11 float vlhkost = dht.readHumidity (); plovoucí teplota = dht.readTemperature (); if (isnan (vlhkost) || isnan (teplota)) {return; } // Řetězec BMP280 t = Řetězec (bmp.readTemperature ()); Řetězec p = Řetězec (bmp.readPressure ()); // TCP CONNECTION WiFiClient klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } Řetězec url = "/aktualizovat? Klíč ="; url += writeAPIKey; url += "& field1 ="; url += řetězec (teplota); // DHT11 CELSIUS url += "& field2 ="; url += řetězec (vlhkost); // DHT11 RELATIVNÍ VLHKOST url += "& field3 ="; url += String (bmp.readTemperature ()); // URL BMP280 CELSIUS += "& field4 ="; url += řetězec (bmp.readPressure ()/100); // URL BMP280 MILLIBAR += "& field5 ="; url += String (bmp.readAltitude (1013,25)); // URL BMP280 METER += "& field6 ="; url += String ((teplota +bmp.readTemperature ())/2); // DHT11 + BMP280 PRŮMĚRNÁ CELSIUS url + = "\ r / n"; // Odeslání požadavku na server client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Připojení: zavřít / r / n / r / n "); zpoždění (1000); }

Doporučuje: