Satura rādītājs:

Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire): 4 soļi
Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire): 4 soļi

Video: Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire): 4 soļi

Video: Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire): 4 soļi
Video: Izmantojot Melexis MLX90614 infrasarkano staru termometru ar Arduino 2024, Novembris
Anonim
Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire)
Vēl viena Arduino meteoroloģiskā stacija (ESP-01 & BMP280 & DHT11 & OneWire)

Šeit jūs varat atrast vienu OneWire lietošanas atkārtojumu ar ļoti dažām ESP-01 tapām. Šajā pamācībā izveidotā ierīce izveido savienojumu ar jūsu izvēlēto Wifi tīklu (jums ir jābūt akreditācijas datiem …). Savāc maņu datus no BMP280 un DHT11 un nosūta savāktos datus uz norādīto ThingSpeak kanālu. Es pieņemu, ka jūs zināt, kā augšupielādēt skici savā ESP-01, tāpēc es neiedziļināšos šajās detaļās. Bez sprieguma regulatora ķēdei jābūt barotai ar maksimālo 3,3 V līdzstrāvu. Nav pievienots daudz teksta, no šī brīža apmācībai jābūt vienkāršai.

1. darbība: 1. darbība: BOM

1. darbība: BOM
1. darbība: BOM
1. darbība: BOM
1. darbība: BOM
1. darbība: BOM
1. darbība: BOM
1. darbība: BOM
1. darbība: BOM

Aparatūra:

1 x Wifi modulis: ESP-01 (es izmantoju 1024 KB versiju)

1 x spiediena un temperatūras sensors: BMP280

1 x mitruma un temperatūras sensors: DHT11

1 x sprieguma regulators AMS1117 (pēc izvēles tiešai barošanai, vai arī varat izmantot jebkuru citu, kas spēj regulēt jūsu ieejas spriegumu līdz fiksētam 3,3 V)

2. darbība: 2. darbība: elektroinstalācija

2. solis: Elektroinstalācija
2. solis: Elektroinstalācija

ESP-01 VCC līdz 3.3VESP-01 GND līdz GNDESP-01 TX uz DHT11

3. darbība: 3. darbība: kods

#include #include #include // CHECK #define BMP280_ADDRESS raktuves darbojas ar (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // JŪSU WIFI SSID const char* parole = "asd"; // JŪSU WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // JŪSU APIKEY // DHT11 sīkumi float temperature_buiten; pludiņa temperatūra_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Savienojuma izveide ar WiFi tīklu WiFi.begin (ssid, parole); while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); }} void loop () {// DHT11 pludiņa mitrums = dht.readHumidity (); pludiņa temperatūra = dht.readTemperature (); if (isnan (mitrums) || isnan (temperatūra)) {return; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP CONNECTION WiFiClient klients; const int httpPort = 80; if (! client.connect (resursdators, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& lauks1 ="; url += String (temperatūra); // DHT11 CELSIUS url += "& field2 ="; url += String (mitrums); // DHT11 RELATIVE HUMIDITY url += "& field3 ="; url += String (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += String (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += String (bmp.readAltitude (1013.25)); // BMP280 METER url += "& field6 ="; url += String ((temperatūra +bmp.readTemperature ())/2); // DHT11 + BMP280 AVERAGE CELSIUS url + = "\ r / n"; // Nosūtīt pieprasījumu uz servera klientu. Print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + resursdators + "\ r / n" + "Savienojums: aizvērt / r / n / r / n "); kavēšanās (1000); }

Ieteicams: