Përmbajtje:

Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 hapa
Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 hapa

Video: Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 hapa

Video: Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 hapa
Video: Глобальные тренды 2020 — от Agile до IoT / Java Tech Talk 2024, Dhjetor
Anonim
Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
Një stacion tjetër moti Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

Këtu mund të gjeni një përsëritje të përdorimit të OneWire me kunjat e pakta të një ESP-01. Pajisja e krijuar në këtë udhëzues lidhet me rrjetin Wifi të zgjedhur nga ju (duhet të keni kredencialet …) Mbledh të dhëna shqisore nga një BMP280 dhe një DHT11, dhe dërgon të dhënat e grumbulluara në kanalin ThingSpeak të siguruar. Unë supozoj se ju e dini se si të ngarkoni një skicë në ESP-01 tuaj, kështu që nuk po hyj në ato detaje. Pa një rregullator të tensionit, qarku duhet të fuqizohet me max 3.3V DC. Nuk shtohet shumë tekst, mësimi duhet të jetë i drejtpërdrejtë nga kjo pikë.

Hapi 1: Hapi 1: BOM

Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM
Hapi 1: BOM

Hardware:

1 x modul Wifi: ESP-01 (unë jam duke përdorur versionin 1024 KB)

1 x Sensori i presionit dhe temperaturës: BMP280

1 x Sensori i lagështisë dhe temperaturës: DHT11

1 x Rregullator i Tensionit AMS1117 (opsional për furnizim me energji të drejtpërdrejtë, ose mund të përdorni ndonjë tjetër të aftë për të rregulluar tensionin tuaj të hyrjes deri në një 3.3V fikse)

Hapi 2: Hapi 2: Instalimet elektrike

Hapi 2: Instalimet elektrike
Hapi 2: Instalimet elektrike

ESP-01 VCC në 3.3VESP-01 GND në GNDESP-01 TX në DHT11 DATAESP-01 GPIO0 në BMP280 SDAESP-01 GPIO2 në BMP280 SCLDHT11 VCC në 3.3VDHT11 GND në GNDBMP280 VCC në 3.3VBMP280ND

Hapi 3: Hapi 3: Kodi

#include #include #include // CHECK #define BMP280_ADDRESS punon me (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* "; // SSID -i juaj WIFI const char* fjalëkalimi = "asd"; // WIFIPASS YOUR const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // APIKEY YOUR // DHT11 sende noton temperature_buiten; temperatura e notimit_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Wire.filloni (0, 2); // DHT1 dht.filloj (); // BMP280 nëse (! Bmp.begin ()) {// Serial.println ("Jo BMP280"); // ndërsa (1) {}} // Lidhu me rrjetin WiFi WiFi.begin (ssid, fjalëkalim); ndërsa (WiFi.status ()! = WL_CONNECTED) {vonesë (500); }} void loop () {// DHT11 lagështia e notimit = dht.readHumidity (); temperatura e notimit = dht.readTemperature (); nëse (isnan (lagështia) || isnan (temperatura)) {kthehet; } // BMP280 String t = String (bmp.readTemperature ()); Vargu p = String (bmp.readPressure ()); // TCP LIDHJA WiFiClient klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += shkruajAPIKey; url += "& field1 ="; url += String (temperatura); // DHT11 CELSIUS url += "& fushë2 ="; url += String (lagështia); // DHT11 HUMIDITY RELATIVE 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 ((temperatura +bmp.readTemperature ())/2); // DHT11 + BMP280 url mesatar CELSIUS + = "\ r / n"; // Dërgo kërkesë klientit të serverit.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Lidhja: mbyll / r / n / r / n "); vonesa (1000); }

Recommended: