Tartalomjegyzék:
- Kellékek
- 1. lépés: Szalag lebontása
- 2. lépés: Dark Sky Pi
- 3. lépés: A kód
- 4. lépés: Unicorn HAT & Servo
- 5. lépés: Fejhallgató csörgés
- 6. lépés: Összeszerelés
- 7. lépés: Csendes megszállottság
Videó: 1984 WeatherMan Pi: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ez a hordozható kazettalejátszó immár környezeti IoT időjárás -kijelző a 80 -as évek elején, amely "aktuális körülmények" animációt, görgetési hőmérsékletet és eső valószínűségi grafikont jelenít meg a szalagon. Amikor az időjárási körülmények megváltoznak, a tetején lévő szervo-vezérelt fejhallgató finom riasztásként ide-oda mozog.
A funkcionális szalag ajtaját kinyitva láthatjuk, hogy a poros eredeti alkatrészeket lecserélték egy Raspberry Pi Zero W, egy Pimoroni Unicorn Hat HD (LED Matrix) és egy kis szervóra. Az időjárási adatokat egy Python-szkript segítségével szerezzük be, amely lekérdezi az ultra-pontos Dark Sky Weather API-t, a saját helyemhez igazítva.
Ez egy egyszerű, de szép megjelenésű és funkcionális IoT felépítés, amely a YouTube-pultom ellentétes asztali hangszóróján ül, és csendben értesít az időjárásról.
Kellékek
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Kis szervó
1984 Hitachi SP-1 személyi sztereó és fejhallgató
USB WiFi adapter
2 mm -es menetes rúd
Sugru (fekete és szürke)
GeoMag mágnes
1. lépés: Szalag lebontása
Ezt a kedves régi kazettás lejátszót az anyósom adta nekem még szeptemberben, és azonnal beleszerettem ikonikus megjelenésébe és vaskos gombjaiba. Az igazi húzás mégis az a nagy szalagos ablak volt - miután birtokoltam körülbelül 15 másodpercig, egy vonalzót kaptam ki, és meglepődve tapasztaltam, hogy mm -es méretben megegyezik a szabványos Raspberry Pi HAT (Hardware Attached on Top) méretével.
Ez a felfedezés önmagában elég volt ahhoz, hogy a kakukkórás projektemet lejjebb tegyem a "tennivalók" listáján, és azonnal elkezdtem dolgozni, a lejátszó szétszerelésével.
A leszakítás nagyon jól sikerült, és végül három különálló darabot dolgoztam - néhány műanyag alkatrészt sikerült összetörnöm, de semmi olyat, amit nem lehetett összeragasztani.
2. lépés: Dark Sky Pi
Egy ideje a Dark Sky -t használom a telefonomon, és nagyon lenyűgözött az előrejelzések pontossága, ezért örömmel láttam, hogy átfogó API -t kínálnak, amelyet ebben a projektben használhatok. Szép és egyszerű beállítani fel is!
Először menjen a https://darksky.net/dev oldalra, és iratkozzon fel egy ingyenes fiókra - a "próba" fiók lehetővé teszi, hogy naponta 1000 API -kérelmet küldjön, ami elegendő egy 1,5 perces frissítéshez - elég gyakran még az én fiókomhoz is Brit időjárási megszállottság.
Miután regisztrált, kap egy "titkos kulcsot" - ez az, amire szüksége van az adatokhoz való hozzáféréshez, és ezeket használják a Python -szkriptben, ezért tartsa kéznél (és tudja, titokban).
Először a YouTube Subscriber Counter buildben használt szkript alkalmazásával kezdtem, amely a Python Requests modulját használja az API -adatok lekéréséhez. Az általam használt szkript a GitHubon található, csak be kell adnia a Dark Sky API kulcsát, és természetesen le kell cserélnie a saját szélességi és hosszúsági értékeit.
Elég egyszerű volt lekérni az aktuális időjárási adatok adatait, és úgy döntöttem, hogy az "Ikon", a "Csapadék valószínűsége" és a "Hőmérséklet" elemeket használom.
3. lépés: A kód
Ha az általam használt kódot újra fel akarja használni, vagy ki akarja ugrani, akkor a WeatherMan tárolóban található a GitHubon - klónozzon, vagy töltse le az "weather" mappát a Raspberry Pi "pi" mappájába.
A fő szkript funkciók a következők:
meteorológus.py
Ez a fő szkript, amely kivonja az időjárási adatokat a Dark Sky -ból. Be kell állítania egy Dark Sky fiókot a https://darksky.net/dev címen, és be kell írnia a titkos kulcsot a szkriptbe, ahol meg van jelölve. Azt is be kell írnia, hogy milyen szélességi és hosszúsági fokú az időjárási terület, amely érdekli - ez megtalálható a Google Térképen, kattintson a jobb egérgombbal, és válassza a "Mi van itt?" és megjelenik egy előugró ablak, amely a hely szélességét/hosszát mutatja.
Az API -adatok lekérése után a weatherman.py számos kisebb szkriptnek továbbítja a paramétereket, hogy elindítsa az animációkat és a fejhallgató -csörgést.
A szkript úgy van beállítva, hogy indításkor fusson az indítási fájl szerkesztésével …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… És hozzátéve:
@python3 /home/pi/weather/weatherman.py &
a fájl végén.
icon.py
Ez a szkript az "aktuális körülmények" paramétert veszi át a weatherman.py szkriptből, és egy 16x16 -os időjárási animáció megjelenítésére használja - mindezek az "ikonok" mappában vannak tárolva, és a szabványos Unicorn HAT HD dokumentáció részét képezik. A-p.webp
telefonok.py
Ha az időjárási körülmények megváltoztak az utolsó API -kérés óta (vagy friss rendszerindításról van szó, és nem esik a hó), akkor ezt a szkriptet hívja a weatherman.py, és utasítja a szervót, hogy "mozogjon" oda -vissza, hogy figyelmeztesse Önt a körülményekre megváltozott.
csapadék.py
Ez a szkript elfogadja a weatherman.py "csapadék valószínűség" paraméterét, és kék színű sorokat jelenít meg az Unicorn HAT -on a % valószínűséggel kapcsolatban. Ha 100%, mind a 16 sor kéken világít, ha 50%, akkor csak a 8 sor stb.
temp.py
Egy másik szabványos Pimoroni -szkript, ez a "temp" paramétert veszi az weatherman.py -ből, és görgetett szöveggel jeleníti meg. Úgy van beállítva, hogy a Herkules truetype betűtípust használja (a "fonts" mappában), de ha kívánja, használhat szabványos betűtípust is. Még azt is javíthatja, hogy a megjelenített szöveg a hőmérséklet értékétől függően megváltoztassa a színét!
4. lépés: Unicorn HAT & Servo
Nagyszerű volt, hogy megszerezhettem az időjárási adatokat, de most meg kellett jelenítenem az Unicorn HAT. Nézegettem az időjárás -ikonok különböző készleteit az interneten, és félúton végeztem ezek adaptálását, amikor rájöttem, hogy van egy időjárási példa a Pimoroni dokumentációban - és ez időjárási animációkat is tartalmaz!
Ez óriási munkát takarított meg, és pillanatok alatt elindultam, egy animált ikonnal az aktuális körülményekhez, néhány görgetős szöveggel a hőmérséklethez és egy grafikonhoz a százalékos csapadékhoz (ami némi matematikát is tartalmazott). A szkripteket külön tartottam, és a Python Alfolyamat modulját használva adtam át a paramétereket oda -vissza.
A szervó hozzáadása ideális eszköz volt ezekhez a riasztásokhoz, mivel egy kis zajt kelt és szemet gyönyörködtető anélkül, hogy túl bosszantó lenne. Mivel a HAT már felvette a Pi számos csapját, forrasztottam a szervókábeleket a tábla alsó oldalára, a 17 -es csap segítségével a szervó mozgását impulzusszélesség -modulációval szabályozva.
A szervó Pi -ről való táplálása nem volt ideális, de azt csak pillanatnyi rázkódásra használnák, így a pontosság itt nem volt nagy gond. Az ábrán látható módon csatlakozott, barna kábellel a GND -hez, Pirossal az 5V -hoz és a narancssárgával (a vezérlőkábel) a GPIO17 -hez.
Végül szerkesztettem néhány időjárás -animációs fájlt a GIMP -ben, hogy hozzáadhassam a saját személyes érzéseimet, például denevéreket a Holdon és mosolygós arcot a napon. Hozzáadtam egy egyedi "Old Tech New Spec" kazettakerék -animációt is, amelyet indításkor kell lejátszani, csak szórakozásból.
5. lépés: Fejhallgató csörgés
A WeatherMan ötlete az volt, hogy passzívan ül az asztali hangszórómon, időnként megjelenítve az időjárást, de azt akartam, hogy csak egy kicsit többet tegyen! A hozzá tartozó fülhallgató pirítós volt, de klasszikus 80 -as évek, ezért úgy döntöttem, hogy csinálok velük valamit. Miután leszereltem az összes kábelt és melegen ragasztottam a töröttet, három részem maradt, a 3,5 mm-es dugó, a gyémánt alakú gomb és a telefonok a rugalmas fémszalagon.
Megfogalmazódott bennem az ötlet, hogy ha találok valamilyen módot a telefonok felszerelésére az egység tetejére, akkor egy szervóval előre -hátra forgathatom őket, és ezt további értesítésként használhatom.
Először kifúrtam a 3,5 mm -es dugót, és leszereltem a gyémántkapcsolót, majd felcsúsztattam őket egy menetes rúdra. Ezután anyát ragasztottam egy műanyag csatlakozóhoz, hogy a rúd biztonságosan (és egyenesen) ülhessen a szervo tetején. A rúd másik végén hozzáadtam egy másik anyát. Végül a szürke Sugru -val a rúd tetejét a fülhallgató -szalaghoz kötöttem, és a szerelvény alján lévő anyát is elfedtem. Ha még nem hallottál a Sugru -ról, akkor ez egy formázható ragasztó, amely kis színes tasakokban kapható - úgy formálódik, mint a Play -Doh, de tapad, mint a szuperragasztó, és keményedik, mint a műanyag!
A közelmúlt hideg időjárásával a Sugru néhány napba telt, mire teljesen megkeményedett, de a fejhallgató és az állvány hamar készen állt a végső összeszerelésre.
6. lépés: Összeszerelés
A Pi, a HAT és a Servo jól működött a kispadon, így a következő feladat az volt, hogy bevonják őket az ügybe. Mielőtt hozzákezdtem a nagy alkatrészekhez, némi balra maradt szürke Sugru-t használtam a hangerőszabályzó, a fejhallgató-csatlakozó és a "fémszalag" kapcsoló rögzítésére, a kozmetikumok rendezésére. Az eredeti Play, Stop, FF & Rew gombokat is ragasztottam egy műanyag vezetékre, hogy azok a megfelelő helyen maradjanak. Kár volt ezúttal nem használni egyik gombot sem, de igazából nem volt mit irányítaniuk!
Az utolsó szürke Sugru -t használtam a szervó helyzetben tartására, tengelyével a kibővített fejhallgató -foglalaton keresztül. A tok másik felére áttérve némi fekete Sugru -val rögzítettem a HAT és Pi szerelvényt a szalag ajtajához, hogy azok kinyílhassanak vele. Nagyon élveztem az utolsó apró érintést - egy GeoMag mágnes rögzítése, hogy az ajtó szilárdan zárva legyen.
A két fél összerakása ideges üzlet volt, mivel féltem, hogy a Pi & Servo összecsap egymással, de végül egy milliméter körül maradt, bőven a könyvemben. Mivel a funky nyitható ajtó teljes hozzáférést biztosítana a belső térhez a későbbi szervizeléshez, a két felet csak melegen ragasztottam, és miután letöröltem a zsíros ujjlenyomatomat, ráhelyeztem a fejhallgató szerelvényt - kész!
7. lépés: Csendes megszállottság
Második díj az újrafelhasználási versenyen
Ajánlott:
DIY 37 LED Arduino rulett játék: 3 lépés (képekkel)
DIY 37 Leds Arduino Roulette Játék: A rulett egy kaszinójáték, amelyet a francia szóról neveztek el, jelentése kis kerék
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: 20 lépés (képekkel)
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: Helló, barátom! Ebben a kétrészes sorozatban megtanuljuk használni a Tinkercad áramköreit - ez egy szórakoztató, hatékony és oktató eszköz az áramkörök működésének megismerésére! A tanulás egyik legjobb módja, ha megteszed. Tehát először megtervezzük saját projektünket:
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is