Indholdsfortegnelse:

One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 trin
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 trin

Video: One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 trin

Video: One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 trin
Video: DS18B20 Temperature sensor with Arduino IoT Cloud | DS18B20 with Esp32 & Arduino IoT Cloud @Arduino 2024, November
Anonim
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)

Her kan du finde en gentagelse af at bruge OneWire med de meget få pins på en ESP-01. Enheden, der er oprettet i denne instruktør, opretter forbindelse til det valgte Wifi-netværk (du skal have legitimationsoplysninger …) Indsamler sansedata fra en BMP280 og en DHT11, og sender de indsamlede data til den medfølgende ThingSpeak-kanal. Jeg går ud fra, at du ved, hvordan du uploader en skitse til din ESP-01, så jeg går ikke ind på disse detaljer. Uden en spændingsregulator skal kredsløbet strømforsynes med maks. 3.3V DC. Der tilføjes ikke meget tekst, selvstudiet bør være ligetil fra dette punkt.

Trin 1: Trin 1: BOM

Trin 1: BOM
Trin 1: BOM
Trin 1: BOM
Trin 1: BOM
Trin 1: BOM
Trin 1: BOM
Trin 1: BOM
Trin 1: BOM

Hardware:

1 x Wifi-modul: ESP-01 (jeg bruger 1024 KB-versionen)

1 x Tryk- og temperatursensor: BMP280

1 x Fugt- og temperatursensor: DHT11

1 x Spændingsregulator AMS1117 (valgfri til direkte strømforsyning, eller du kan bruge enhver anden, der er i stand til at regulere din indgangsspænding ned til en fast 3,3V)

Trin 2: Trin 2: Ledningsføring

Trin 2: Ledningsføring
Trin 2: Ledningsføring

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

Trin 3: Trin 3: Kode

#include #include #include // CHECK #define BMP280_ADDRESS mine arbejder med (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // DIN WIFI SSID const char* password = "asd"; // DIN WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // DIN APIKEY // DHT11 ting flyde temperatur_buiten; flyde temperatur_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 ("Ingen BMP280"); // mens (1) {}} // Opret forbindelse til WiFi -netværk WiFi.begin (ssid, adgangskode); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); }} void loop () {// DHT11 float -fugtighed = dht.readHumidity (); flyde temperatur = dht.readTemperature (); hvis (isnan (fugtighed) || isnan (temperatur)) {return; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP -TILSLUTNING WiFiClient -klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += String (temperatur); // DHT11 CELSIUS url += "& field2 ="; url += String (fugtighed); // DHT11 RELATIV FUGTIGHED 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 ((temperatur +bmp.readTemperature ())/2); // DHT11 + BMP280 GENNEMSNIT CELSIUS url + = "\ r / n"; // Send anmodning til serveren client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); forsinkelse (1000); }

Anbefalede: