Spisu treści:
Wideo: Stacja pogodowa DIY wykorzystująca DHT11, BMP180, Nodemcu z Arduino IDE przez serwer Blynk: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Github: DIY_Pogoda_Stacja
Hackster.io: Stacja pogodowa
Widziałeś aplikację pogodową, prawda? Na przykład, kiedy go otworzysz, poznasz warunki pogodowe, takie jak temperatura, wilgotność itp. Te odczyty są średnią wartością dużego obszaru, więc jeśli chcesz poznać dokładne parametry związane z twoim pomieszczeniem, nie możesz po prostu polegać na Aplikacji Pogodowej. W tym celu przejdźmy do tworzenia Stacji Pogodowych, która jest opłacalna, a także niezawodna i daje nam dokładną wartość.
Stacja pogodowa to obiekt wyposażony w przyrządy i sprzęt do pomiaru warunków atmosferycznych w celu dostarczania informacji do prognoz pogody oraz badania pogody i klimatu. Podłączanie i kodowanie wymaga trochę wysiłku. Więc zacznijmy.
O Nodemcu:
NodeMCU to platforma IoT typu open source.
Zawiera oprogramowanie układowe działające na ESP8266 Wi-Fi SoC firmy Espressif Systems oraz sprzęt oparty na module ESP-12.
Termin „NodeMCU” domyślnie odnosi się do oprogramowania układowego, a nie do zestawów deweloperskich. Oprogramowanie układowe wykorzystuje język skryptowy Lua. Jest oparty na projekcie eLua i zbudowany na Espressif Non-OS SDK dla ESP8266. Wykorzystuje wiele projektów open source, takich jak lua-cjson i spiffs.
Wymagania dotyczące czujników i oprogramowania:
1. Nodemcu (esp8266-12e v1.0)
2. DHT11
3. BMP180
4. IDE Arduino
Krok 1: Poznaj swoje czujniki
BMP180:
Opis:
BMP180 składa się z czujnika piezorezystancyjnego, przetwornika analogowo-cyfrowego oraz jednostki sterującej z E2PROM i szeregowym interfejsem I2C. BMP180 dostarcza nieskompensowaną wartość ciśnienia i temperatury. E2PROM przechowuje 176 bitów indywidualnych danych kalibracyjnych. Służy do kompensacji przesunięcia, zależności od temperatury i innych parametrów czujnika.
- UP = dane ciśnienia (16 do 19 bitów)
- UT = dane temperatury (16 bitów)
Specyfikacja techniczna:
- Vin: 3 do 5VDC
- Logika: zgodność z 3 do 5 V
- Zakres wykrywania ciśnienia: 300-1100 hPa (9000m do -500m nad poziomem morza)
- Rozdzielczość do 0,03 hPa / 0,25 m Zakres roboczy -40 do +85°C, dokładność temperatury +-2°C
- Ta płyta/układ używa 7-bitowego adresu I2C 0x77.
DHT11:
Opis:
- DHT11 to podstawowy, bardzo tani cyfrowy czujnik temperatury i wilgotności.
- Wykorzystuje pojemnościowy czujnik wilgotności i termistor do pomiaru otaczającego powietrza i wypuszcza sygnał cyfrowy na pin danych (nie są potrzebne analogowe piny wejściowe). Jest dość prosty w użyciu, ale wymaga starannego czasu, aby pobrać dane.
- Jedyną wadą tego czujnika jest to, że nowe dane można z niego pobierać tylko raz na 2 sekundy, więc przy korzystaniu z naszej biblioteki odczyty czujnika mogą mieć nawet 2 sekundy.
Specyfikacja techniczna:
- Zasilanie od 3 do 5 V i we/wy
- Dobry dla odczytów temperatury 0-50 ° C ± 2 ° C dokładność
- Dobry dla odczytów wilgotności 20-80% z dokładnością 5%
- Maksymalne natężenie prądu 2,5 mA podczas konwersji (podczas żądania danych)
Krok 2: Łączność
DHT11 z Nodemcu:
Pin 1 - 3,3 V
Sworzeń 2 - D4
Pin 3 - NC
Pin 4 - Gnd
BMP180 z Nodemcu:
Vin - 3,3V
Gnd - Gnd
SCL - D6
SDA - D7
Krok 3: Skonfiguruj Blynk
Co to jest Blynk?
Blynk to platforma z aplikacjami na iOS i Androida do kontrolowania Arduino, Raspberry Pi i podobnych przez Internet.
Jest to cyfrowy pulpit nawigacyjny, w którym możesz zbudować interfejs graficzny swojego projektu, po prostu przeciągając i upuszczając widżety. Konfiguracja wszystkiego jest naprawdę prosta i zaczniesz majstrować w mniej niż 5 minut. Blynk nie jest przywiązany do jakiejś konkretnej planszy lub tarczy. Zamiast tego obsługuje wybrany przez Ciebie sprzęt. Niezależnie od tego, czy Twój Arduino, czy Raspberry Pi jest połączony z Internetem przez Wi-Fi, Ethernet lub ten nowy układ ESP8266, Blynk zapewni Ci połączenie z Internetem i przygotuje się na Internet Twoich rzeczy.
Aby uzyskać więcej informacji na temat konfiguracji Blynk: Szczegółowa konfiguracja Blynk
Krok 4: Kod
//Komentarze dla każdej linii znajdują się w poniższym pliku.ino
#include #define BLYNK_PRINT Serial #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; char dstmp[20], btmp[20], bprs[20], balt[20]; bool bmp085_present=prawda; char auth="Wstaw tutaj swój klucz autoryzacji z aplikacji Blynk"; char ssid = "Twój SSID Wi-Fi"; char pass = "Twoje hasło"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); //Definiowanie pinu i timera dhttype BlynkTimer; void sendSensor() { if (!bmp.begin()) { Serial.println("Nie można znaleźć prawidłowego czujnika BMP085, sprawdź okablowanie!"); while (1) {} } float h = dht.readHumidity(); float t = dht.odczytTemperatura(); if (isnan(h) || isnan(t)) { Serial.println("Nie udało się odczytać z czujnika DHT!"); powrót; } podwójna gamma = log(h/100) + ((17,62*t) / (243,5+t)); podwójne dp = 243,5*gamma / (17,62 gamma); float bp = bmp.readPressure()/100; float ba = bmp.readAltitude(); float bt = bmp.odczytTemperatura(); float dst = bmp.readSealevelPressure()/100; Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); Blynk.virtualWrite(V10, pz); Blynk.virtualWrite(V11, ba); Blynk.virtualWrite(V12, bt); Blynk.virtualWrite(V13, dst); Blynk.virtualWrite(V14, dp); } void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); dht.początek(); Drut.początek(I2C_SDA, I2C_SCL); opóźnienie(10); timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); timer.uruchom(); }
Zalecana:
Profesjonalna stacja pogodowa wykorzystująca ESP8266 i ESP32 DIY: 9 kroków (ze zdjęciami)
Profesjonalna stacja pogodowa przy użyciu ESP8266 i ESP32 DIY: LineaMeteoStazione to kompletna stacja pogodowa, która może być połączona z profesjonalnymi czujnikami firmy Sensirion, a także z niektórymi komponentami Davis Instrument (deszczomierz, anemometr) Projekt jest przeznaczony do samodzielnej stacji pogodowej, ale wymaga tylko
Mini stacja pogodowa wykorzystująca Arduino i ThingSpeak: 4 kroki
Mini stacja pogodowa wykorzystująca Arduino i ThingSpeak: Witam wszystkich. W tej instrukcji poprowadzę Cię przez kroki, aby stworzyć spersonalizowaną mini stację pogodową. Ponadto będziemy używać interfejsu API ThingSpeak do przesyłania naszych danych o pogodzie na ich serwery, albo do czego służy statystyka pogodowa
Osobista stacja pogodowa wykorzystująca Raspberry Pi z BME280 w Javie: 6 kroków
Osobista stacja pogodowa korzystająca z Raspberry Pi z BME280 w Javie: Zła pogoda zawsze wygląda gorzej przez okno. Zawsze byliśmy zainteresowani monitorowaniem naszej lokalnej pogody i tego, co widzimy za oknem. Chcieliśmy również mieć lepszą kontrolę nad naszym systemem ogrzewania i klimatyzacji. Budowanie osobistej stacji pogodowej to świetna
Stacja pogodowa NaTaLia: stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: 8 kroków (ze zdjęciami)
Stacja pogodowa NaTaLia: Stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: po roku udanej pracy w 2 różnych lokalizacjach dzielę się planami projektu stacji pogodowej zasilanej energią słoneczną i wyjaśniam, jak ewoluował w system, który może naprawdę przetrwać przez długi czas okresy z energii słonecznej. Jeśli obserwujesz
Stacja pogodowa wykorzystująca Raspberry Pi z BME280 w Pythonie: 6 kroków
Stacja pogodowa korzystająca z Raspberry Pi z BME280 w Pythonie: jest to obraz i cel (Pogoda to dobry gawędziarz) W związku z problemami z globalnym ociepleniem i zmianami klimatycznymi, globalny wzorzec pogody staje się nieregularny w całym naszym świecie, co prowadzi do wielu związanych z pogodą klęski żywiołowe (susze, ekstrem