
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47



maith scéalaí és aimir (Az időjárás jó mesemondó)
A globális felmelegedéssel és az éghajlatváltozással kapcsolatos problémák miatt a globális időjárási viszonyok egyre szerteágazóvá válnak világszerte, ami számos időjárással összefüggő természeti katasztrófához vezet (aszály, szélsőséges hőmérséklet, árvíz, vihar és erdőtűz), szükségszerűnek tűnik az időjárásállomás gonosz otthon. Sokat tanulhat az alapvető elektronikáról egy meteorológiai állomás projektből, egy csomó olcsó alkatrész és érzékelő segítségével. Elég könnyű beállítani, és rövid időn belül megkaphatja.
1. lépés: Szükséges berendezésekről szóló törvényjavaslat



1. A Málna Pi
Tegye a kezét egy Raspberry Pi táblára. A Raspberry Pi egy Linux alapú egylapos számítógép. A Raspberry Pi valóban olcsó, apró és sokoldalú, hozzáférhető és funkcionális számítógépből épül fel, hogy a tanulók gyakorolják a programozás és a szoftverfejlesztés alapjait.
2. I2C Shield a Raspberry Pi számára
Az INPI2 (I2C adapter) biztosítja a Raspberry Pi 2/3 an I²C portot, amely több I2C eszközzel használható. Elérhető a DCUBE Store -ban.
3. Digitális páratartalom-, nyomás- és hőmérsékletérzékelő, BME280
A BME280 egy páratartalom-, nyomás- és hőmérséklet -érzékelő, amely gyors válaszidőt és nagy általános pontosságot mutat. Ezt az érzékelőt a DCUBE Store -ból vásároltuk.
4. I2C csatlakozó kábel
Az itt található I²C kábelt használtuk a DCUBE Store -ban.
5. Micro USB kábel
A mikro USB kábel Tápegység ideális választás a Raspberry Pi tápellátásához.
6. Az Internet -hozzáférés értelmezése Ethernet -kábel/WiFi adapter segítségével
Az internet -hozzáférést a helyi hálózathoz és az internethez csatlakoztatott Ethernet -kábelen keresztül lehet engedélyezni. Alternatív megoldásként csatlakozhat vezeték nélküli hálózathoz USB vezeték nélküli hardverkulcs használatával, amely konfigurációt igényel.
7. HDMI kábel (kijelző és csatlakozókábel)
Bármely HDMI/DVI monitornak és TV -nek a Pi kijelzőjeként kell működnie. Alternatív megoldásként távolról is hozzáférhet a Pi -hez SSH -n keresztül, és nincs szükség monitorra (csak haladó felhasználók).
2. lépés: Hardvercsatlakozások az áramkörhöz


Készítse el az áramkört az ábrán látható vázlat szerint. Általában a csatlakozások nagyon egyszerűek. Maradjon nyugodt, és kövesse a fenti utasításokat és képeket, és nem lehet gond. Tanulás közben alaposan megismerkedtünk az elektronika hardver és szoftver ismeretekkel kapcsolatos alapjaival. Egy egyszerű elektronikai vázlatot akartunk elkészíteni ehhez a projekthez. Az elektronikus rajzok olyanok, mint a tervrajzok. Készítsen tervrajzot, és gondosan kövesse a tervezést. Az elektronika néhány alapfogalma hasznos lehet itt!
A Raspberry Pi és az I2C Shield csatlakoztatása
Először vegye be a Raspberry Pi -t, és tegye rá az I²C pajzsot. Óvatosan nyomja meg a pajzsot, és készen vagyunk ezzel a lépéssel, ami olyan egyszerű, mint a pite (lásd a képet).
Az érzékelő és a Raspberry Pi csatlakoztatása
Fogja meg az érzékelőt, és csatlakoztassa hozzá az I²C kábelt. Győződjön meg arról, hogy az I²C kimenet MINDIG csatlakozik az I²C bemenethez. Ugyanezt kell követni a Raspberry Pi esetében is, amelyre az I²C pajzs van felszerelve, és a GPIO csapokat. Javasoljuk az I²C kábelek használatát, mivel ez nem teszi szükségessé a leolvasás, forrasztás és a legkisebb csúszás okozta rossz közérzetet.. Ezzel az egyszerű plug and play kábellel könnyedén telepíthet, cserélhet táblákat, vagy további táblákat adhat egy alkalmazáshoz.
Megjegyzés: A barna vezetéknek mindig követnie kell a föld (GND) kapcsolatot az egyik eszköz kimenete és egy másik eszköz bemenete között
Az internetkapcsolat kulcsfontosságú
Itt két választási lehetősége van. Vagy csatlakoztathatja a Raspberry Pi -t a hálózathoz Ethernet -kábellel, vagy használhat USB -WiFi adaptert a WIFI -kapcsolathoz. Akárhogy is, amíg az internethez csatlakozik, lefedett.
Az áramkör bekapcsolása
Csatlakoztassa a Micro USB kábelt a Raspberry Pi tápcsatlakozójához. Üss fel és íme! A mi csapatunk információ.
Csatlakozás a képernyőhöz
A HDMI -kábelt csatlakoztathatjuk monitorhoz vagy TV -hez. Ezenkívül elérhetjük a Raspberry Pi -t anélkül, hogy távoli hozzáféréssel csatlakoztatnánk a monitorhoz. Az SSH egy praktikus eszköz a biztonságos távoli eléréshez. Ehhez használhatja a PUTTY szoftvert is. Ez a lehetőség a haladó felhasználók számára készült, így itt nem foglalkozunk vele részletesen.
Gazdaságos módszer, ha nem akar sokat költeni
3. lépés: Raspberry Pi programozás Pythonban

A Python kód a Raspberry Pi és a BME280 érzékelőhöz. Ez elérhető a Github tárházunkban.
Mielőtt folytatná a kódot, feltétlenül olvassa el a Readme fájlban található utasításokat, és állítsa be a Raspberry Pi -t ennek megfelelően. Csak egy kis idő fog felkészülni a beállításra. Az időjárás állomás szárazföldi vagy tengeri létesítmény, amely a légköri viszonyok mérésére szolgáló eszközökkel és berendezésekkel szolgál az időjárás -előrejelzésekhez, valamint az időjárás és az éghajlat tanulmányozásához.
A kód egyértelműen előtted van, és a legegyszerűbb formában képzelhető el, és nem lehet gond. Még mindig kérdezze meg, hogy van -e (Még ha ezer dolgot is tud, kérdezzen meg valakit, aki tudja).
Innen is másolhatja az érzékelő működő Python -kódját.
# Szabad akaratú licenccel terjesztik.# Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez. # BME280 # Ezt a kódot a ControlEverything.com webhelyen elérhető BME280_I2CS I2C Mini modullal való együttműködésre tervezték. #
import smbus
importálási idő
# Szerezzen I2C buszt
busz = smbus. SMBus (1)
# BME280 cím, 0x76 (118)
# Adatok visszaolvasása 0x88 -ból (136), 24 bájt b1 = bus.read_i2c_block_data (0x76, 0x88, 24)
# Konvertálja az adatokat
# Hőmérsékleti együtthatók dig_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] ha dig_T2> 32767: dig_T2 -= 65536 dig_T3 = b1 [5] * 256 + b1 [4] ha dig_T3> 32767: dig_T3 -= 65536
# Nyomás együtthatói
dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] ha dig_P2> 32767: dig_P2 -= 65536 dig_P3 = b1 [11] * 256 + b1 [10], ha dig_P3 > 32767: dig_P3 -= 65536 dig_P4 = b1 [13] * 256 + b1 [12] ha dig_P4> 32767: dig_P4 -= 65536 dig_P5 = b1 [15] * 256 + b1 [14], ha dig_P5> 32767: dig_P5 -= 65536 dig_P6 = b1 [17] * 256 + b1 [16] ha dig_P6> 32767: dig_P6 -= 65536 dig_P7 = b1 [19] * 256 + b1 [18] ha dig_P7> 32767: dig_P7 -= 65536 dig_P8 = b1 [21] * 256 + b1 [20] ha dig_P8> 32767: dig_P8 -= 65536 dig_P9 = b1 [23] * 256 + b1 [22], ha dig_P9> 32767: dig_P9 -= 65536
# BME280 cím, 0x76 (118)
# Adatok visszaolvasása a 0xA1 -ből (161), 1 bájtos dig_H1 = bus.read_byte_data (0x76, 0xA1)
# BME280 cím, 0x76 (118)
# Adatok visszaolvasása a 0xE1 -ből (225), 7 bájt b1 = bus.read_i2c_block_data (0x76, 0xE1, 7)
# Konvertálja az adatokat
# Páratartalom együtthatók dig_H2 = b1 [1] * 256 + b1 [0] ha dig_H2> 32767: dig_H2 -= 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) ha dig_H4> 32767: dig_H4 -= 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) ha dig_H5> 32767: dig_H5 -= 65536 dig_H6 = b1 [6] ha dig_H6> 127: dig_H6 -= 256
# BME280 cím, 0x76 (118)
# Válassza ki a vezérlő páratartalom regisztert, 0xF2 (242) # 0x01 (01) Páratartalom túlmintavételezés = 1 bus.write_byte_data (0x76, 0xF2, 0x01) # BME280 cím, 0x76 (118) # Vezérlő mérési regiszter kiválasztása, 0xF4 (244) # 0x27 (39) Nyomás és hőmérséklet túlmintavételi arány = 1 # Normál mód bus.write_byte_data (0x76, 0xF4, 0x27) # BME280 cím, 0x76 (118) # Konfigurációs regiszter kiválasztása, 0xF5 (245) # 0xA0 (00) Készenléti idő = 1000 ms busz.write_byte_data (0x76, 0xF5, 0xA0)
time.sleep (0,5)
# BME280 cím, 0x76 (118)
# Adatok visszaolvasása a 0xF7 (247), 8 bájtból
# A nyomás és a hőmérséklet adatait 19 bitesre konvertálja
adc_p = ((adatok [0] * 65536) + (adatok [1] * 256) + (adatok [2] és 0xF0)) / 16 adc_t = ((adatok [3] * 65536) + (adatok [4] *) 256) + (adatok [5] és 0xF0)) / 16
# Konvertálja a páratartalom adatait
adc_h = adatok [6] * 256 + adatok [7]
# Hőmérsékleteltolás számítások
var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2) var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t) /131072.0 - (dig_T1) / 8192.0)) * (dig_T3) t_fine = (var1 + var2) cTemp = (var1 + var2) / 5120.0 fTemp = cTemp * 1.8 + 32
# Nyomáseltolási számítások
var1 = (t_finom / 2.0) - 64000.0 var2 = var1 * var1 * (dig_P6) / 32768.0 var2 = var2 + var1 * (dig_P5) * 2.0 var2 = (var2 / 4.0) + ((dig_P4) * 65536.0) var1 = (((dig_P3) * var1 * var1 / 524288.0 + (dig_P2) * var1) / 524288.0 var1 = (1.0 + var1 / 32768.0) * (dig_P1) p = 1048576.0 - adc_p p = (p - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / 2147483648.0 var2 = p * (dig_P8) / 32768.0 nyomás = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100
# Páratartalom -számítások
var_H = {)) páratartalom = var_H * (1.0 - dig_H1 * var_H / 524288.0), ha a páratartalom> 100.0: páratartalom = 100.0 elif páratartalom <0.0: páratartalom = 0.0
# Adatok megjelenítése a képernyőn
nyomtatás "Hőmérséklet Celsius -fok: %.2f C" %cTemp nyomtatás "Fahrenheit -hőmérséklet: %.2f F" %fTemp nyomtatás "Nyomás: %.2f hPa" %nyomásnyomtatás "Relatív páratartalom: %.2f %%" %páratartalom
4. lépés: A futó kód

Most töltse le (vagy git pull) a kódot, és nyissa meg a Raspberry Pi -ben.
Futtassa a parancsokat a fordításhoz és a kód feltöltéséhez a terminálon, és nézze meg a kimenetet a kijelzőn. Néhány másodperc múlva megjelenik az összes paraméter. Miután meggyőződött arról, hogy minden remekül működik, fejleszthet néhány érdekesebbet.
5. lépés: Használat a gyakorlati világban
A BME280 nagy teljesítményt ér el minden olyan alkalmazásban, amely páratartalom- és nyomásmérést igényel. Ezek a feltörekvő alkalmazások a Kontextus -tudatosság, pl. Bőrfelismerés, Helyiségváltozás-észlelés, Fitness-felügyelet / Jólét, Figyelmeztetés a szárazságra vagy a magas hőmérsékletre, Térfogat- és légáramlásmérés, Otthonautomatizálás-vezérlés, Fűtésvezérlés, Szellőzés, Légkondicionálás (HVAC), Dolgok Internete (IoT), GPS-javítás (pl. Az első javításhoz szükséges idő javítása, holtpont-számítás, lejtésérzékelés), beltéri navigáció (padlóváltás, lift-észlelés), szabadtéri navigáció, szabadidő- és sportalkalmazások, időjárás-előrejelzés és függőleges sebességjelzés (emelkedés/süllyedés) Sebesség).
6. lépés: Következtetés
Reméljük, hogy ez a projekt további kísérleteket inspirál. Egy kifinomultabb időjárás -állomás elkészítése több érzékelőt is magában foglalhat, például esőmérőt, fényérzékelőt, szélmérőt (szélsebesség) stb. Hozzáadhatja és módosíthatja a kódot. Van egy videó oktatóanyagunk a YouTube -on, amely tartalmazza az I²C érzékelő alapvető működését a Rasp Pi segítségével. Valóban elképesztő látni az I²C kommunikáció eredményeit és működését. Ellenőrizze azt is. Jó szórakozást az építkezéshez és a tanuláshoz! Kérjük, ossza meg velünk, mit gondol erről az oktatási lehetőségről. Szükség esetén szeretnénk néhány fejlesztést végrehajtani.
Ajánlott:
Professzionális meteorológiai állomás ESP8266 és ESP32 DIY használatával: 9 lépés (képekkel)

Professzionális időjárás -állomás az ESP8266 és az ESP32 barkácsolás segítségével: A LineaMeteoStazione egy komplett időjárás -állomás, amely összekapcsolható a Sensirion professzionális érzékelőivel, valamint néhány Davis -műszeregységgel (esőmérő, szélmérő)
Szoba meteorológiai állomás Arduino és BME280 használatával: 4 lépés

Szobai időjárás állomás az Arduino és a BME280 használatával: Korábban megosztottam egy egyszerű időjárás -állomást, amely megjelenítette a helyi hőmérsékletet és páratartalmat. A probléma az volt, hogy időbe telik a frissítés, és az adatok nem voltak pontosak. Ebben az oktatóanyagban beltéri időjárás -figyelőt készítünk
Meteorológiai állomás a Wemos D1 Mini, a BME280 és a Sensate használatával: 6 lépés

Meteorológiai állomás a Wemos D1 Mini, a BME280 és a Sensate használatával: Az előző bejegyzésekben különböző módszereket osztottam meg egy időjárásállomás építésére. Ha még nem ellenőrizte, itt egy link. Ebben az oktatóanyagban bemutatom, hogyan lehet egy egyszerű meteorológiai állomást felépíteni a Wemos és a Sensate nevű IoT platform segítségével
Arduino meteorológiai állomás a BMP280 -DHT11 használatával - Hőmérséklet, páratartalom és nyomás: 8 lépés

Arduino meteorológiai állomás a BMP280 -DHT11 használatával - Hőmérséklet, páratartalom és nyomás: Ebben az oktatóanyagban megtanuljuk, hogyan készítsünk időjárás -állomást, amely HŐMÉRSÉKLETET, PÁRÁT ÉS NYOMÁST jelenít meg a TFT 7735 LCD -kijelzőn
Acurite 5 az 1 -ben meteorológiai állomás Raspberry Pi és Weewx használatával (más időjárás -állomások kompatibilisek): 5 lépés (képekkel)

Acurite 5 az 1 -ben meteorológiai állomás Raspberry Pi és Weewx használatával (más időjárás -állomások kompatibilisek): Amikor megvettem az Acurite 5 az 1 -ben meteorológiai állomást, szerettem volna ellenőrizni az időjárást otthonomban, amíg távol voltam. Amikor hazaértem és beállítottam, rájöttem, hogy vagy csatlakoztatnom kell a kijelzőt a számítógéphez, vagy meg kell vennem az intelligens hubot