Obsah:
- Zásoby
- Krok 1: Teardown pásky
- Krok 2: Dark Sky Pi
- Krok 3: Kód
- Krok 4: Unicorn HAT & Servo
- Krok 5: Kmitání sluchátek
- Krok 6: Sestavení
- Krok 7: Tichá posedlost
Video: 1984 WeatherMan Pi: 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Tento přenosný kazetový přehrávač je nyní zobrazením počasí v prostředí IoT ve stylu raných 80. let, které v okně kazety zobrazuje animaci "aktuálních podmínek", posouvání teploty a graf pravděpodobnosti deště. Když se změní povětrnostní podmínky, servírovaná sluchátka nahoře se budou třást tam a zpět jako jemné upozornění.
Když otevřete dvířka funkční pásky, můžeme vidět, že zaprášené původní komponenty byly nahrazeny Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) a malým servem. Data o počasí jsou získávána pomocí skriptu Python, který dotazuje ultrapřesné API Dark Sky Weather, přizpůsobené mému konkrétnímu umístění.
Je to jednoduchá, ale krásně vypadající a funkční sestava IoT, která sedí na opačném stolním reproduktoru než můj pult na YouTube a tiše mě udržuje v obraze s počasím.
Zásoby
Raspberry Pi Zero
Klobouk Pimoroni Unicorn HAT HD
Malé servo
1984 Hitachi SP-1 Osobní stereo a sluchátka
USB WiFi adaptér
2mm závitová tyč
Sugru (černá a šedá)
Magnet GeoMag
Krok 1: Teardown pásky
V září mi tchýně dala tento krásný starý kazetový přehrávač a okamžitě jsem se zamiloval do jeho ikonického vzhledu a robustních knoflíků. Skutečným tahákem však bylo velké okno s páskou - poté, co jsem jej vlastnil asi 15 sekund, jsem vytáhl pravítko a s úžasem jsem zjistil, že má na mm stejnou velikost jako standardní Raspberry Pi HAT (hardware připojený nahoře).
Už jen tento objev stačil na to, aby narazil na můj projekt kukačkových hodin dále v seznamu „co dělat“, a hned jsem začal pracovat, rozebráním přehrávače.
Trhání proběhlo docela dobře a skončil jsem se třemi odlišnými kusy, se kterými jsem pracoval - podařilo se mi rozbít pár plastových dílů, ale nic, co by se nedalo slepit dohromady.
Krok 2: Dark Sky Pi
Chvíli používám na svém telefonu Dark Sky a přesnost předpovědí mě opravdu ohromila, takže jsem byl potěšen, když jsem viděl, že nabízejí komplexní API, které bych mohl v tomto projektu použít. Je hezké a jednoduché nastavení taky nahoru!
Nejprve přejděte na https://darksky.net/dev a zaregistrujte si bezplatný účet - „zkušební“účet vám umožní odeslat 1000 požadavků API denně, což stačí na aktualizaci každých 1,5 minuty - dost často i pro mé Britská úroveň posedlosti počasím.
Jakmile se zaregistrujete, získáte „tajný klíč“- to je to, co potřebujete k přístupu k datům a které se používá ve skriptu Pythonu, takže mějte to po ruce (a víte, tajemství).
Začal jsem přizpůsobením skriptu, který jsem použil v sestavě Counter Subscriber Counter na YouTube, která používá modul Requests v Pythonu k načítání dat API. Skript, který jsem použil, je na GitHubu, stačí přidat klíč API služby Dark Sky a samozřejmě nahradit vlastní hodnoty zeměpisné šířky a délky.
Stahování dat o aktuálních povětrnostních podmínkách bylo docela jednoduché a rozhodl jsem se využít prvky „Ikona“, „Pravděpodobnost srážek“a „Teplota“.
Krok 3: Kód
Pokud chcete znovu použít nebo odrazit kód, který jsem použil, je to v úložišti WeatherMan na GitHub - klonujte nebo si stáhněte složku „počasí“do složky „pi“na svém Raspberry Pi.
Hlavní funkce skriptu jsou následující:
weatherman.py
Toto je hlavní skript, který extrahuje data o počasí z Dark Sky. Budete si muset nastavit účet Dark Sky na https://darksky.net/dev a do skriptu vložit, kde je uvedeno, svůj tajný klíč. Budete také muset zadat zeměpisnou šířku a délku místa, které vás zajímá - to najdete v Mapách Google, stačí kliknout pravým tlačítkem a vybrat „Co je tady?“a zobrazí se vyskakovací okno se zeměpisnou šířkou/délkou místa.
Po načtení dat API předá weatherman.py parametry několika menším skriptům, aby spustily animace a houpání sluchátek.
Skript je nastaven na spuštění při spuštění úpravou spouštěcího souboru …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… a přidávám:
@python3 /home/pi/weather/weatherman.py &
na konci souboru.
ikona.py
Tento skript přebírá parametr „aktuální podmínky“ze skriptu weatherman.py a používá ho k zobrazení animace počasí 16x16 - všechny jsou uloženy ve složce „ikony“a jsou součástí standardní dokumentace Unicorn HAT HD. Soubory animace-p.webp
telefony.py
Pokud se od posledního požadavku API změnily povětrnostní podmínky (nebo je to nový boot a nesněží), pak se tento skript zavolá z Weatherman.py a dá servu pokyn, aby se „pohupovalo“tam a zpět, aby vás upozornilo, že podmínky změnil.
precip.py
Tento skript akceptuje parametr „pravděpodobnost srážek“ze souboru weatherman.py a na řádku Unicorn HAT zobrazuje čáry modře související s pravděpodobností %. Pokud je 100%, všech 16 řádků bude svítit modře, pokud 50% pouze 8 řádků atd.
temp.py
Další standardní skript Pimoroni, tento přebírá parametr „temp“z Weatherman.py a zobrazuje jej s posouvajícím se textem. Je nastaveno na použití písma Herkules truetype (ve složce „fonty“), ale pokud chcete, můžete použít standardní písmo. Můžete jej dokonce vylepšit tak, aby zobrazovaný text změnil barvu v závislosti na hodnotě teploty!
Krok 4: Unicorn HAT & Servo
Schopnost získat data o počasí byla skvělá, ale teď jsem je potřeboval zobrazit na Unicorn HAT. Podíval jsem se na různé sady ikon počasí na internetu a byl jsem v polovině jejich přizpůsobování, když jsem si uvědomil, že v dokumentaci Pimoroni byl zahrnut příklad počasí - a to zahrnovalo animace počasí!
To ušetřilo obrovské množství práce a během chvilky jsem byl v provozu s animovanou ikonou aktuálních podmínek, textem pro posouvání teploty a grafem procent srážek (což zahrnovalo nějakou lehkou matematiku). Skripty jsem nechal oddělené a pomocí modulu Subprocess v Pythonu předával parametry sem a tam.
Přidání serva bylo pro tyto výstrahy ideálním prostředkem, protože by vydávalo trochu hluku a bylo atraktivní pro oko, aniž by bylo příliš otravné. Vzhledem k tomu, že HAT již zabíral mnoho pinů Pi, připájel jsem kabely serva ke spodní straně desky pomocí Pin 17 k ovládání pohybu serva pomocí Pulse Width Modulation.
Napájení serva z Pi nebylo ideální, ale bylo by použito jen na chvilkové chvilky, takže přesnost zde nebyla velká věc. Připojil se podle schématu s hnědým kabelem na GND, červeným na 5v a oranžovým (ovládací kabel) na GPIO17.
Nakonec jsem upravil některé soubory animace počasí v GIMPu, abych přidal své vlastní osobní dotyky, jako netopýři na Měsíci a smajlík na slunci. Také jsem přidal vlastní animaci kazetového kola „Old Tech New Spec“, která se bude hrát při spuštění, jen tak pro zábavu.
Krok 5: Kmitání sluchátek
Myšlenka WeatherManu byla, že bude pasivně sedět na mém stolním reproduktoru a občas ukazovat počasí, ale chtěl jsem, aby toho zvládl o něco víc! Sluchátka, která byla dodána, byla toastová, ale klasická 80. léta, a tak jsem se rozhodl s nimi něco udělat. Po odizolování všech kabelů a přilepení rozbitého kabelu mi zbyly tři části, 3,5 mm konektor, tlačítko ve tvaru diamantu a samotné telefony na pružném kovovém pásku.
Napadlo mě, že kdybych našel nějaký způsob upevnění telefonů na horní část jednotky, mohl bych je nechat otáčet sem a tam pomocí serva a použít to jako dodatečné oznámení.
Nejprve jsem vyvrtal 3,5 mm zástrčku a demontoval diamantový spínač a poté je navlékl na kus závitové tyče. Dále jsem nalepil matici na plastový konektor, aby tyč mohla bezpečně (a rovně) sedět na servu. Na druhý konec tyče jsem přidal další matici. Nakonec jsem použil šedý Sugru k připevnění horní části tyče k pásku sluchátek a také k zakrytí matice ve spodní části sestavy. Pokud jste o Sugru neslyšeli, je to tvarovatelné lepidlo, které se dodává v malých barevných sáčcích - formuje se jako Play -Doh, ale lepí se jako superglue a tvrdne jako plast!
S nedávným chladným počasím trvalo Sugruovi několik dní, než úplně ztvrdlo, ale sluchátka a jejich stojan byly brzy připraveny ke konečné montáži.
Krok 6: Sestavení
Pi, HAT a Servo na lavičce fungovali dobře, takže dalším úkolem bylo dostat je do případu. Než jsem začal s velkými součástmi, použil jsem zbylý šedý Sugru, abych zafixoval volič hlasitosti, zásuvku pro sluchátka a spínač „kovové pásky“a třídil kosmetiku. Také jsem nalepil původní tlačítka Play, Stop, FF & Rew na kus plastového potrubí, aby zůstaly na správném místě. Byla škoda tentokrát nepoužít žádné z tlačítek, ale ve skutečnosti nebylo nic, co by mohli ovládat!
Použil jsem poslední šedý Sugru, abych držel servo na místě, přičemž jeho hřídel trčel skrz zvětšenou zásuvku pro sluchátka. Přešel jsem do druhé poloviny pouzdra a pak jsem použil nějaký černý Sugru, abych připevnil sestavu HAT a Pi k páskovým dveřím, aby se s nimi otevřely. Opravdu jsem si užil závěrečný malý dotek - upevnění magnetem GeoMag, aby byly dveře pevně zavřené.
Spojení obou polovin bylo nervózní, protože jsem se obával, že se Pi & Servo střetnou proti sobě, ale nakonec v mé knize zbylo kolem milimetru. Vzhledem k tomu, že funky otevírací dveře poskytovaly plný přístup do interiéru pro budoucí servis, jednoduše jsem obě poloviny slepil dohromady a po setření mastných otisků prstů nasadil sestavu sluchátek nahoře - hotovo!
Krok 7: Tichá posedlost
Druhá cena v soutěži o opětovné použití
Doporučuje:
Postup: Instalace Raspberry PI 4 bezhlavého (VNC) s Rpi imagerem a obrázky: 7 kroků (s obrázky)
Jak na to: Instalace Raspberry PI 4 Headless (VNC) s Rpi-imager a obrázky: Mám v plánu použít tento Rapsberry PI ve spoustě zábavných projektů zpět na mém blogu. Neváhejte se na to podívat. Chtěl jsem se vrátit k používání svého Raspberry PI, ale na novém místě jsem neměl klávesnici ani myš. Už je to dlouho, co jsem nastavoval Raspberry
Počitadlo kroků - mikro: bit: 12 kroků (s obrázky)
Počitadlo kroků - Micro: Bit: Tento projekt bude počítadlem kroků. K měření našich kroků použijeme snímač akcelerometru, který je zabudovaný v Micro: Bit. Pokaždé, když se Micro: Bit zatřese, přidáme 2 k počtu a zobrazíme ho na obrazovce
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): 6 kroků (s obrázky)
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): Indukční nabíjení (známé také jako bezdrátové nabíjení nebo bezdrátové nabíjení) je druh bezdrátového přenosu energie. Využívá elektromagnetickou indukci k poskytování elektřiny přenosným zařízením. Nejběžnější aplikací je bezdrátové nabíjení Qi
Vykreslete 3D obrázky svých desek plošných spojů pomocí Eagle3D a POV-Ray: 5 kroků (s obrázky)
Vykreslování 3D obrázků vašich desek plošných spojů pomocí Eagle3D a POV-Ray: Pomocí Eagle3D a POV-Ray můžete vytvářet realistické 3D vykreslování vašich desek plošných spojů. Eagle3D je skript pro EAGLE Layout Editor. Tím se vygeneruje soubor pro sledování paprsku, který bude odeslán na POV-Ray, který nakonec vyskočí finální im
Vytvářejte stereofonní grafické obrázky v aplikaci Excel: 8 kroků (s obrázky)
Vytvářejte stereofonní grafické obrázky v aplikaci Excel: Stereo grafické obrázky mohou 3D hloubkám dodat hloubku