فهرست مطالب:

یکی دیگر از ایستگاه های هواشناسی آردوینو (ESP-01 & BMP280 & DHT11 & OneWire): 4 مرحله
یکی دیگر از ایستگاه های هواشناسی آردوینو (ESP-01 & BMP280 & DHT11 & OneWire): 4 مرحله

تصویری: یکی دیگر از ایستگاه های هواشناسی آردوینو (ESP-01 & BMP280 & DHT11 & OneWire): 4 مرحله

تصویری: یکی دیگر از ایستگاه های هواشناسی آردوینو (ESP-01 & BMP280 & DHT11 & OneWire): 4 مرحله
تصویری: ESP32 Tutorial 43 - IoT Internet Weather Station | SunFounder's ESP32 IoT Learnig kit 2024, جولای
Anonim
یک ایستگاه هواشناسی آردوینو دیگر (ESP-01 و BMP280 و DHT11 و OneWire)
یک ایستگاه هواشناسی آردوینو دیگر (ESP-01 و BMP280 و DHT11 و OneWire)

در اینجا می توانید یک بار استفاده از OneWire را با تعداد کمی پین ESP-01 پیدا کنید. دستگاه ایجاد شده در این دستورالعمل به شبکه Wifi دلخواه شما متصل می شود (باید اعتبارنامه داشته باشید …) داده های حسی را از BMP280 و DHT11 ، و داده های جمع آوری شده را به کانال ارائه شده ThingSpeak ارسال می کند. من فرض می کنم که می دانید چگونه یک طرح را در ESP-01 خود بارگذاری کنید ، بنابراین به این جزئیات نمی پردازم. بدون تنظیم کننده ولتاژ ، مدار باید تغذیه شود با حداکثر 3.3V DC. متن زیادی اضافه نمی شود ، آموزش از این نقطه باید ساده باشد.

مرحله 1: مرحله 1: BOM

مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM
مرحله 1: BOM

سخت افزار:

1 عدد ماژول Wifi: ESP-01 (من از نسخه 1024 کیلوبایت استفاده می کنم)

1 عدد سنسور فشار و دما: BMP280

1 عدد سنسور رطوبت و دما: DHT11

1 x تنظیم کننده ولتاژ AMS1117 (اختیاری برای تغذیه مستقیم ، یا می توانید از هر وسیله دیگری که بتواند ولتاژ ورودی خود را تا 3.3 ولت ثابت تنظیم کند ، استفاده کنید)

مرحله 2: مرحله 2: سیم کشی

مرحله 2: سیم کشی
مرحله 2: سیم کشی

ESP-01 VCC تا 3.3VESP-01 GND به GNDESP-01 TX به DHT11 DATAESP-01 GPIO0 به BMP280 SDAESP-01 GPIO2 به BMP280 SCLDHT11 VCC تا 3.3VDHT11 GND به GNDBMP280 VCC به 3.3VBMP280ND تا 3.3VBMP280ND

مرحله 3: مرحله 3: کد

#include #include #include // CHECK #definine BMP280_ADDRESS معدن با (0x76) #Include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #deineine ONE_WIRE_BUS 3 // GPIO3 = Rx const char* "؛ // WIFI SSID شما char char* password = "asd"؛ // WIFIPASS شما const char* host = "api.thingspeak.com"؛ const char* writeAPIKey = "asd"؛ // APIKEY شما // DHT11 stuff float temperature_buiten؛ float temperature_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 ، گذرواژه) ؛ while (WiFi.status ()! = WL_CONNECTED) {تأخیر (500)؛ }} void loop () {// DHT11 رطوبت شناور = dht.readHumidity ()؛ دمای شناور = dht.readTemperature ()؛ if (isnan (رطوبت) || isnan (دما)) {return؛ } // BMP280 String t = String (bmp.readTemperature ())؛ رشته p = رشته (bmp.readPressure ()) ؛ // مشتری TCP CONNECTION WiFiClient؛ const int httpPort = 80؛ if (! client.connect (میزبان ، httpPort)) {return؛ } url رشته = "/update؟ key ="؛ url += writeAPIKey؛ url += "& field1 ="؛ url += رشته (دما) ؛ // آدرس DHT11 CELSIUS += "& field2 ="؛ url += رشته (رطوبت) ؛ // DHT11 رطوبت نسبی url += "& field3 ="؛ url += رشته (bmp.readTemperature ()) ؛ // BMP280 CELSIUS url += "& field4 ="؛ url += رشته (bmp.readPressure ()/100) ؛ // url BMP280 MILLIBAR += "& field5 ="؛ url += String (bmp.readAltitude (1013.25)) ؛ // url BMP280 METER += "& field6 ="؛ url += String ((دما +bmp.readTemperature ())/2) ؛ // DHT11 + BMP280 url میانگین CELSIUS url + = "\ r / n"؛ // ارسال درخواست به سرور client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n ")؛ تاخیر (1000) ؛ }

توصیه شده: