Sisukord:

Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire): 4 sammu
Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire): 4 sammu

Video: Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire): 4 sammu

Video: Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire): 4 sammu
Video: Уроки Arduino. Работа с цифровым потенциометром и написание библиотеки 2024, Juuli
Anonim
Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire)
Veel üks Arduino ilmajaam (ESP-01 & BMP280 & DHT11 & OneWire)

Siit leiate ühe korduse OneWire'i kasutamise kohta ESP-01 väga väheste tihvtidega. Selles juhendis loodud seade ühendub teie valitud WiFi-võrguga (teil peab olema volitused …) Kogub sensoorseid andmeid BMP280 ja DHT11 ja saadab kogutud andmed ThingSpeak kanalile. Ma eeldan, et teate, kuidas oma ESP-01-le eskiisi üles laadida, nii et ma ei lähe nendesse üksikasjadesse. Ilma pingeregulaatorita peab ahel olema toiteallikas maksimaalselt 3,3 V alalisvooluga. Teksti pole palju lisatud, õpetus peaks sellest kohast olema lihtne.

1. samm: 1. samm: BOM

1. samm: BOM
1. samm: BOM
1. samm: BOM
1. samm: BOM
1. samm: BOM
1. samm: BOM
1. samm: BOM
1. samm: BOM

Riistvara:

1 x WiFi-moodul: ESP-01 (kasutan 1024 KB versiooni)

1 x rõhu- ja temperatuuriandur: BMP280

1 x niiskus- ja temperatuuriandur: DHT11

1 x pingeregulaator AMS1117 (valikuline otsetoiteallikaks või võite kasutada mõnda muud, mis on võimeline reguleerima teie sisendpinget kuni fikseeritud 3,3 V -ni)

2. samm: 2. samm: juhtmestik

2. samm: juhtmestik
2. samm: juhtmestik

ESP-01 VCC kuni 3.3 VESP-01 GND kuni GNDESP-01 TX kuni DHT11 DATAESP-01 GPIO0 kuni BMP280 SDAESP-01 GPIO2 kuni BMP280 SCLDHT11 VCC kuni 3.3VDHT11 GND kuni GNDBMP280 VCC kuni 3.3VBMP280 GND

3. samm: 3. samm: kood

#include #include #include // CHECK #define BMP280_ADDRESS kaevandus töötab (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // SINU WIFI SSID const char* password = "asd"; // SINU WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // SINU APIKEY // DHT11 kraam float temperature_buiten; ujuktemperatuur_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C kraam Wire.pins (0, 2); Traat.algus (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // WiFi -võrguga ühenduse loomine WiFi.begin (ssid, parool); while (WiFi.status ()! = WL_CONNECTED) {delay (500); }} void loop () {// DHT11 ujuki niiskus = dht.readHumidity (); ujuktemperatuur = dht.readTemperature (); if (isnan (niiskus) || isnan (temperatuur)) {return; } // BMP280 String t = String (bmp.readTemperature ()); String p = string (bmp.readPressure ()); // TCP CONNECTION WiFiClient klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& väli1 ="; url += String (temperatuur); // DHT11 CELSIUS url += "& field2 ="; url += String (niiskus); // DHT11 SUHTELINE NIISKUS url += "& field3 ="; url += String (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += String (bmp.readRõhk ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += String (bmp.readAltitude (1013.25)); // BMP280 METER url += "& field6 ="; url += String ((temperatuur +bmp.readTemperature ())/2); // DHT11 + BMP280 KESKMINE CELSIUS url + = "\ r / n"; // Saada taotlus serveri kliendile.print (String ("GET") + URL + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Ühendus: sulge / r / n / r / n "); viivitus (1000); }

Soovitan: