Мазмуну:

Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 кадам
Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 кадам

Video: Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 кадам

Video: Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 кадам
Video: ESP8266 Project: How to control 2 AC bulb or load using 2 Relay with NodeMCU and D1 Mini over WiFi 2024, Июль
Anonim
Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)
Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)

Бул жерде сиз OneWire колдонуунун бир кайталанышын таба аласыз, бул ESP-01дин аз сандагы түйүндөрү менен. Бул көрсөтмөдө түзүлгөн түзмөк сиз тандаган Wifi тармагына туташат (сизде ишеним грамотасы болушу керек …) BMP280ден жана сенсордук маалыматтарды чогултат. DHT11, жана алынган маалыматты ThingSpeak каналына жөнөтөт. Мен сиз ESP-01ге эскизди кантип жүктөөнү билесиз деп ойлойм, андыктан мен ал деталдарга кирбеймин. максимум 3.3V DC менен. Көп текст кошулган жок, үйрөткүч ушул учурдан тартып жөнөкөй болушу керек.

1 -кадам: 1 -кадам: БОМ

1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ
1 -кадам: БОМ

Аппараттык:

1 x Wifi модулу: ESP-01 (мен 1024 KB нускасын колдонуп жатам)

1 х басым жана температура сенсору: BMP280

1 нымдуулук жана температура сенсору: DHT11

1 x Voltage Regulator AMS1117 (түздөн -түз иштетүү үчүн милдеттүү эмес, же сиз киргизүү чыңалууңузду туруктуу 3.3V чейин жөнгө салуучу башка жөндөмдү колдонсоңуз болот)

2 -кадам: 2 -кадам: Зымдарды өткөрүү

2 -кадам: Кабелдөө
2 -кадам: Кабелдөө

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

3 -кадам: 3 -кадам: Код

#include #include #include // CHECK #define BMP280_ADDRESS кени (0x76) менен иштейт #кошуу #аныктоо DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = " "; // СИЗДИН WIFI SSID const char* password = "asd"; // СИЗДИН WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // СИЗДИН АПИКЕЙ // DHT11 нерселери float temperatur_buiten; сүзүү температурасы_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 ("BMP280 жок"); // while (1) {}} // WiFi тармагына туташуу WiFi.begin (ssid, password); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); }} void loop () {// DHT11 калкып турган нымдуулугу = dht.readHumidity (); сүзүү температурасы = dht.readTemperature (); if (isnan (нымдуулук) || isnan (температура)) {кайтуу; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP CONNECTION WiFiClient кардары; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += сап (температура); // DHT11 CELSIUS url += "& field2 ="; url += сап (нымдуулук); // DHT11 САЛЫШТУУ НЫМДЫК 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 ((температура +bmp.readTemperature ())/2); // DHT11 + BMP280 ORTA CELSIUS url + = "\ r / n"; // Server client.print сурам жөнөтүү (String ("Get") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); кечигүү (1000); }

Сунушталууда: