Tartalomjegyzék:

Raspberry Pi barométer időjárási óra: 9 lépés (képekkel)
Raspberry Pi barométer időjárási óra: 9 lépés (képekkel)

Videó: Raspberry Pi barométer időjárási óra: 9 lépés (képekkel)

Videó: Raspberry Pi barométer időjárási óra: 9 lépés (képekkel)
Videó: Raspberry Pi Weather Station 2024, November
Anonim
Raspberry Pi barométer időjárási óra
Raspberry Pi barométer időjárási óra

Ebben az oktatható útmutatóban megmutatom, hogyan lehet egy alapvető hőmérő / barométer órát felépíteni egy Raspberry Pi 2 segítségével egy BMP180 I2C érzékelővel, amely egy Adafruit 4 számjegyű, 7 szegmenses I2C kijelzőn jelenik meg. A Pi egy DS3231 valós idejű I2C óra modult is használ, hogy tartsa az időt a Pi újraindításakor.

Az óra 4 lépcsőn keresztül, 5 másodpercig tart. Először a Celsius -fokban, majd Fahrenheitben, majd a légköri nyomást kPa -ban *mutatja (ezt a számot balra sétálja a korlátozott számjegyek miatt), végül pedig a barometrikus nyomás változásának tendenciáját mutatja a mostani és a előző óra.

Ez az óra különbözteti meg a legtöbbet attól, hogy MySQL adatbázist használ a Pi -n, hogy percenként naplózza a BMP180 -ból származó adatokat. Mivel a jelenlegi légköri nyomás nem olyan értékes, mint felfelé vagy lefelé történő mozgása egy adott időtartam alatt, ezt az adatbázist használja egy 2 órás és 1 óra közötti egy órás átlag kiszámításához, és összehasonlítja azt a jelenlegi nyomással. A barometrikus nyomás jelentős növekedése általában az időjárási viszonyok javulását jelezte, szemben a nagy eséssel a közelgő viharra.

Az óra egy 3D nyomtatott ABS házban van elhelyezve, a BMP180 pedig egy szellőzősapkával az óra hátoldalán, hogy megakadályozza, hogy a Pi által termelt hő befolyásolja a hőmérsékletet. Elküldöm az Autodesk 123D Design sematikáját, ha saját nyomtatni szeretne.

Az óra szabványos USB fali szemölcsökkel működik, és körülbelül 450 mA -t vesz fel.

Nem fogok túl sokat részletezni a Pi és az I2C alapbeállításairól, mivel ezt számos más utasítás tartalmazta, amelyekhez linkeket adok.

Lépés: Készítse elő a Pi -t

Készítse elő a Pi -t
Készítse elő a Pi -t

A Raspberry Pi beállítása - Részletek a Raspberrypi.org oldalon

  1. Töltse le és telepítse a kiválasztott Linux disztribúciót egy SD -kártyára - én Raspbian -t használtam
  2. Csatlakoztassa a pi -t és indítsa el
  3. Egy mikro WiFi adaptert használtam a pi csatlakoztatásához az útválasztóhoz, mivel az óraház eltakarja az Ethernet portot.
  4. Fej nélküli módot használtam, ahol SS -hez csatlakozva csatlakoztok a pi -hez, így csak a tápellátásra van szüksége.
  5. Állítsa be az I2C -t a Pi -n - követtem ezeket az utasításokat az Adafruit webhelyen.

2. lépés: Csatlakoztassa az egészet

Vegye fel az egészet
Vegye fel az egészet

A projektben használt összes modul 5V -os toleráns, és I2C -t használ, amely egy 2 vezetékes protokoll, amelyet az IC -k használnak az egymással való kommunikációhoz, így a bekötés meglehetősen egyszerű. Csatlakoztassa az összes VCC -t 5V -ra, az összes földelést és az összes SCA- és SCL -vezetéket a vázlat szerint. Kész a munka.

3. lépés: Tesztelje I2C -jét

Teszteld az I2C -t
Teszteld az I2C -t

Az I2C telepítés része az i2cdetect futtatása, amelynek úgy kell kinéznie, mint a mellékelt képnek, ha minden megfelelően be van kötve.

Az alábbiakban a megfelelő címek találhatók

  1. 0x70 = 7 szegmenses kijelző
  2. 0x77 = BMP180 Hőmérő / barométer érzékelő
  3. 0x68 = DS3231 Valós idejű óra modul
  4. 0x57 = DS3231 az EEPROM fedélzetén a riasztási adatok tárolására.

4. lépés: Telepítse a MySQL és a PhpMyAdmin alkalmazást

Telepítse a MySQL és a PhpMyAdmin alkalmazást
Telepítse a MySQL és a PhpMyAdmin alkalmazást

A mySQL telepítése meglehetősen egyszerű, ha követi az itt található útmutatót

sudo apt-get install mysql-server

Telepítettem a phpMyAdmin -t is, amely az Apache rendszeren futó weboldal, amellyel mySQL adatbázisokat hozhat létre és kezelhet. Oktatóanyag itt

sudo apt-get install phpmyadmin

A telepítés után beállítottam egy BP180 nevű adatbázist a phpMyAdmin használatával, a kép szerinti szerkezettel.

Használok egy mysqlDB nevű python modult is, amellyel telepíthet

sudo apt-get install python-mysqldb

Lépés: Telepítse a Python modulokat

Töltse le és telepítse az alábbi python modulokat, amelyeket az érzékelők csatlakoztatásához használ.

  1. Adafruit_BMP085 modul
  2. SDL_DS3231 modul
  3. Adafruit 7 szegmens modul

6. lépés: Kód az adatbázisba való bejelentkezéshez

Az alábbi kódrészletet a hőmérséklet és a légnyomás naplózására használják, és egy 5 percenként futó cron szkriptből (Linux ütemezett feladatok) hívják meg. A crond használatának megismeréséhez nézze meg ezt az oktatóanyagot.

NB! Ne fárasztja magát a kódolási készségeim kidobásával, nem vagyok fejlesztő, szóval igen, erre valószínűleg millió jobb, gyorsabb, simább, tisztább módszer létezik

Észre fogja venni a kódban, hogy a hőmérséklet 7 fokkal csökken, ami megegyezik a Raspberry Pi által termelt hővel, még akkor is, ha a BMP180 a ház külső oldalára van felszerelve. Amikor eredetileg a házban volt, körülbelül 15 fokkal melegebb volt, mint a környezet. Elég lineárisnak tűnik, de nem volt lehetőségem végletek tesztelésére. A tapasztalataitokra vonatkozó visszajelzéseket nagyra értékelnénk.

7. lépés: Kód megjelenítési hőmérséklethez

Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm
Kód megjelenítési hőm

Ezt a kódot arra hívják, hogy a bevezető szerint ciklusban végigmenjen a kijelzőn.

Ismétlem, nem vagyok fejlesztő, így a kód nagyon durva, de működik

8. lépés: 3D nyomtatott ház

3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház
3D nyomtatott ház

A következő a szekrény kialakítása. Ez meglehetősen kihívást jelentett, mivel az alak hajlamos a vetemedésre, mivel a külső héj részei csak 2 mm vastagok. Először a Pi és az összes alkatrész makettjeit rajzoltam, majd körülterveztem a házat. A nyomtatás körülbelül 7 órát vett igénybe a RapMan 3.2 készüléken (ami elég lassú nyomtató), 0,25 réteg mélységben.

A mellékelt vázlat az Autodesk 123D Design -ban készült, amely szerintem fantasztikus ingyenes szoftver.

Ne feledje, hogy néhány lyuk, például a Pi felszereléséhez szükséges lyukak nem szerepelnek a tervezésben, mivel jobb, ha ezeket később fúrja, ha a nyomtatás kissé deformálódik. Egy stabil kéz, egy 3 mm -es fúrófej, amire szüksége van. Jelölje meg a mélységet a szerszámon valamilyen maszkolószalaggal, hogy véletlenül ne menjen egyenesen a 7 órás nyomaton, mint én.

9. lépés: tennivalók

Látnivalók
Látnivalók
  1. A Valós idejű óra kiegészítés volt a ház ötödik kinyomtatása után, így jelenleg forró ragasztóval van ragasztva a ház oldalára, ami nem néz ki jól, ezért szeretném újra megtervezni a tervezést és hozzáadni egy helyet.
  2. A 7 szegmenses kijelző fényereje jelenleg a legkönnyebb, ami nem optimális erős fényviszonyokhoz. Szeretnék egy fotóellenállást hozzáadni a ház tetejéhez, és beállítani a 7 szegmens fényerejét a környezeti fényviszonyok alapján.
  3. Vannak kisebb tervezési problémák az alap repedésével kapcsolatban, amelyeket szintén kijavítanak.
  4. Bármilyen ötletet szívesen fogadunk.

Remélem, élvezte ezt az oktathatót, és elég inspirálónak találta a folytatáshoz. Az ötlet az, hogy olyan platformot biztosítson, amellyel hozzáadhatja saját ötleteit. Érezd jól magad!

Ajánlott: