2026. március 30., hétfő

Időjárás állomás

 Az elmúlt hónapok során beszerzésre került egy Raspberry Pi 4-b, továbbá egy Raspberry Pi 5, melyek új feladatokat kaptak. A 4-esre került a BirdNET rendszer, melyről itt olvashatsz, és beüzemeltem az ADS-B és AirBAND rendszereket is. Felszabadult a nagyon régi Raspberry Pi 3-b, melynek izgalmas feladatot szánok, mert miért is menne nyugdíjba ?! Kitaláltam, hogy szeretnék egy saját időjárás állomást, melyet könnyen megvalósíthatok egy ESP32 OLED és egy Bosch BME280-M modullal. Ez utóbbi méri a hőmérsékletet, légnyomást és a páratartalmat, elküldi az ESP32 modulnak, amely Wi-Fi-n továbbítja az adatokat a 3-as Pi-nek, amin fut egy webkiszolgáló, mely böngészőben bárhonnan elérhető módon, megmutat minden eredményt. Szépen ki fogom publikálni Internetre, és bárki, bárhonnan elérheti. Legfőbb feladata az ennek a rendszernek, hogy családunknak szolgáltasson "első kézből" időjárási adatokat. A későbbiekben szeretném ezt bővíteni még egy Bosch modullal (napon és árnyékban mérnék), illetve egy szél és csapadék modullal is. Neki is álltam ennek, március utolsó szombatján. Erről szeretnék beszámolni ebben a posztban.


A működési alapelv ...

Mindösszesen 4 vezeték kell a szenzor és az ESP32 közé
Ennél a konfigurációnál 21-22 helyett a 25-26 PIN-ek játszanak !!!


Az ESP32 OLED modul (katalógus fotó)


Adatok 5 sorban (bőven elég lesz, kontroll jelleggel)

Ismerkedünk ...

Így kell majd beforrasztanom ...

Bosch szenzor (20 x 20 mm)

A kívánt végeredmény ...

Nos, akkor készítsük elő az elektronikát !

ESP32 (Wi-Fi + BT) + Bosch BME280-M

Forrasztó állomás

Hozzáadott kezem és a szemem ...

Lehet "küzdeni" ezekkel az apró forrasztópontokkal
Végigforrasztottam. Nem lett szép, de nincs zárlat sehol. Jó közel vannak egymáshoz ...

Aztán jött a hidegzuhany ... Sajnos a vezetékek egyik vége male (apa).
Female - female kellett volna. Pontatlanul rendeltem




Végigforrasztottam a 26 + 4 db forrasztási pontot, nem kis küzdelem árán. Nem lettek szépek a forrasztások, de nem érnek össze, nincs zárlat. Áthidaló megoldásként, levágtam a male csatlakozókat megcsupaszítottam a vezetékeket, majd felfuttattam ónnal azokat. Ehhez a rendszernek mindösszesen 4 vezetékre van szüksége, gondoltam felforrasztom őket arra a négy PIN-re, jó lesz az úgy is. Hát ezek a 0.05 m2 átmérőjű erek nem nem nagyon akartak "megtapadni" a réz PIN-eken. Igen dühös lettem, mert a Webshopban a sima képeken nem látszottak jól a vezetékek csatlakozói az agyonvilágított fotókon és a rossz rendelés miatt nem tudtam befejezni a mai tervemet. Rendeltem hosszabb és jó csatlakozóvégű vezetékeket. Ha nem szívtam volna meg, most a kódot írnám és zajlana a tesztelés ...

AMINT MEGJÖNNEK A CUCCOK, FOLYTATOM ...
Rendeltem még egy világító, fejpántos nagyítószemüveget is !



Két nap alatt megérkezett a HESTORE-ból

Össze is lett rakva a jó vezetékkel




Szóval akkor keltsük életre ! Nagypénteken koradélelőtt neki is álltam. 


Működési struktúra:


1. Szenzor réteg (HW)

BME280 sensor module → hőmérséklet, páratartalom, légnyomás
ESP32 development board → vezérlő + WiFi

Feladat:
Fizikai környezeti adatok mérése


2. Mikrovezérlő réteg (ESP32)

Arduino / ESP-IDF kód
szenzorok kiolvasása (I2C / ADC)
adatok strukturálása (JSON)
WiFi kapcsolaton keresztül továbbküldés

Feladat:
Ez a rendszer adatgyűjtő feje


3. Kommunikációs réteg

Mosquitto MQTT broker

Feladat:
Üzenet közvetítés (publish / subscribe), csatolás az ESP32 és a backend között
ESP32 → pubkálás → MQTT → Pi


4. Backend / Adatfeldolgozás (Raspberry Pi)


Python (Flask + paho-mqtt)
collector script (systemd service)

Feladat:
MQTT üzenetek fogadása, adatok feldolgozása, tárolás (pl. SQLite)
API / JSON endpoint biztosítása

Feladat: Ez a rendszer agya.


5. Web alkalmazás (Dashboard)

Flask app (portok: 5000 / 5001)
HTML + JS frontend

Feladat:
Adatok megjelenítése a Dashboard-on
Ezt látja a felhasználó



Az első "szívdobbanás" ...

Fel kell készíteni az Arduino IDE rendszert a modul kezelésére

Modulok:
ESP32 Arduino Core, Adafruit BME280 Library, Wire library Arduino,
WiFi library ESP32, PubSubClient MQTT library, Adafruit SSD1306

Megy fel az első kód. Cél, hogy a kijelzőn megjelenjenek az értékek


Tesztelés ! (a nyomás itt még natív értéketen áll)
A forrasztást ne minősítse senki, mert nagyítóval is alig látom.
Működik a modul, zárlat nincs a PIN-ek között.

Mosquitto telepítése a Linuxra

Config, majd restart

Felépült az összeköttetés az ESP32 és a Easpberry Pi között

Érkeznek az adatok, eszi a Linux

Python környezet és a Flask telepítése

Nano alatt a Python kód

ESP json -> Pi

Nulladik verziójú "DashBoard"



A rendszer kiépítése, tesztelése hat (6) órát vett igénybe.
Mivel soha nem volt a kezemben ESP32 modul, előfordultak tanácstalan pillanatok.
A mesterséges intelligencia segít.


Rengeteget tanultam, és nagyon örülök hogy kész van.
Bicske Weather Station