Innehållsförteckning:
- Tillbehör
- Steg 1: Rivning av tejp
- Steg 2: Dark Sky Pi
- Steg 3: Koden
- Steg 4: Unicorn HAT & Servo
- Steg 5: Hörlurar Jiggle
- Steg 6: Montering
- Steg 7: Tyst besatthet
Video: 1984 WeatherMan Pi: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
Denna bärbara kassettspelare är nu en omgivande IoT -väderdisplay med tidig 80 -talsstil, som visar en "nuvarande förhållanden" -animation, rullningstemperatur och regnsannolikhetsgraf genom bandfönstret. När väderförhållandena ändras, servrar de servostyrda hörlurarna på toppen upp och tillbaka som en subtil varning.
När vi öppnar den funktionella banddörren kan vi se att de dammiga originalkomponenterna har ersatts med en Raspberry Pi Zero W, en Pimoroni Unicorn Hat HD (LED Matrix) och en liten servo. Väderdata kommer från ett Python-skript som frågar efter det ultra-exakta Dark Sky Weather API, skräddarsytt efter min specifika plats.
Det är en enkel men härlig och funktionell IoT-byggnad som sitter på den motsatta skrivbordshögtalaren till min YouTube-räknare och tyst håller mig uppdaterad om vädret.
Tillbehör
Hallon Pi Zero
Pimoroni Unicorn HAT HD
Liten servo
1984 Hitachi SP-1 personlig stereo och hörlurar
USB WiFi -adapter
2 mm gängstång
Sugru (svart och grå)
GeoMag magnet
Steg 1: Rivning av tejp
Jag fick den här underbara gamla kassettspelaren av min svärmor redan i september och blev genast kär i sitt ikoniska utseende och tjocka knappar. Den verkliga dragningen var dock det stora tejpfönstret - efter att ha ägt det i cirka 15 sekunder hade jag en linjal ute och blev förvånad över att upptäcka att den är i mm, samma storlek som en vanlig Raspberry Pi HAT (Hardware Attached On Top).
Bara denna upptäckt var tillräckligt för att stöta mitt gökprojekt längre ner på "att göra" -listan och jag började arbeta direkt genom att demontera spelaren.
Nedrivningen gick ganska bra och jag slutade med tre distinkta bitar att arbeta med - jag lyckades bryta ett par av plastdelarna, men inget som inte kunde limmas ihop igen.
Steg 2: Dark Sky Pi
Jag har använt Dark Sky på min telefon ett tag och har verkligen blivit imponerad av prognosernas noggrannhet, så jag var glad att se att de erbjuder ett omfattande API som jag kan använda i det här projektet. Det är trevligt och enkelt att ställa in upp också!
Gå först till https://darksky.net/dev och registrera dig för ett gratis konto - ett "test" -konto låter dig göra 1000 API -begäranden om dagen, vilket är tillräckligt för en uppdatering var 1,5: e minut - tillräckligt ofta för även min Brittisk nivå av väderbesatthet.
När du har registrerat dig får du en "hemlig nyckel" - det här är vad du behöver för att komma åt data och den används i Python -skriptet, så behåll den (och, du vet, hemlig).
Jag började med att anpassa ett skript som jag använde i YouTube Subscriber Counter -build, som använder modulen Requests i Python för att hämta API -data. Skriptet jag använde finns på GitHub, du behöver bara lägga till din Dark Sky API -nyckel och naturligtvis ersätta dina egna Latitude & Longitude -värden.
Det var ganska enkelt att dra ner data om de aktuella väderförhållandena, och jag bestämde mig för att använda elementen "Ikon", "Nederbördssannolikhet" och "Temperatur".
Steg 3: Koden
Om du vill återanvända eller hoppa av koden jag använde finns den i WeatherMan -förvaret på GitHub - klona eller ladda ner "väder" -mappen till "pi" -mappen på din Raspberry Pi.
De viktigaste skriptfunktionerna är följande:
weatherman.py
Detta är huvudskriptet som extraherar väderdata från Dark Sky. Du måste skapa ett Dark Sky -konto på https://darksky.net/dev och placera din hemliga nyckel i skriptet där det anges. Du måste också ange latitud och longitud för den väderplats du är intresserad av - det finns på Google Maps, bara högerklicka och välj "Vad är här?" och du får en popup som visar platsens lat/längd.
Efter att ha hämtat API -data skickar weatherman.py parametrar till flera mindre skript för att starta animeringarna och hörlurar.
Skriptet är inställt för att köras vid start genom att redigera startfilen …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… och lägger till:
@python3 /home/pi/weather/weatherman.py &
i slutet av filen.
ikon. py
Detta skript tar en "aktuella förhållanden" -parameter från scriptet weatherman.py och använder den för att visa en 16x16 väderanimation - dessa lagras alla i "ikoner" -mappen och ingår i standard Unicorn HAT HD -dokumentation. Du kan enkelt redigera-p.webp
telefoner.py
Om väderförhållandena har ändrats från den senaste API -begäran (eller om det är en ny start och det inte snöar), kallas detta skript från weatherman.py och instruerar servon att "jiggla" fram och tillbaka för att varna dig om att förhållandena har ändrats.
precip.py
Det här skriptet accepterar en "nederbördssannolikhet" -parameter från weatherman.py och visar linjer i blått på Unicorn -hatten som rör % probabilty. Om 100% lyser alla 16 raderna blå, om 50% bara 8 rader etc.
temp.py
Ett annat standard Pimoroni -skript, det här tar en "temp" -parameter från weatherman.py och visar det med rullande text. Den är inställd på att använda Herkules -typsnittet (i mappen "typsnitt") men kan använda ett standardteckensnitt om du föredrar det. Du kan till och med förbättra det så att den visade texten ändrar färg beroende på temperaturvärdet!
Steg 4: Unicorn HAT & Servo
Att få tag på väderdata var bra, men nu behövde jag visa den på Unicorn HAT. Jag tittade på olika uppsättningar av väderikoner på internet och var halvvägs med att anpassa dessa när jag insåg att det fanns ett väderexempel med Pimoroni -dokumentationen - och detta inkluderade väderanimationer!
Detta sparade en hel del arbete, och jag var igång på nolltid, med en animerad ikon för de aktuella förhållandena, lite rullande text för temperaturen och en graf för % nederbörd (vilket involverade lite lätt matematik). Jag höll skripten åtskilda och använde Pythons delprocessmodul för att skicka parametrar fram och tillbaka.
Att lägga till i servon var det perfekta fordonet för dessa varningar, eftersom det skulle göra lite ljud och vara iögonfallande utan att vara för irriterande. Eftersom hatten redan tog upp många av Pi -stiften lödde jag servokablarna på undersidan av brädet, med hjälp av stift 17 för att styra servos rörelse med hjälp av pulsbreddsmodulering.
Att driva servon från Pi var inte idealisk, men den skulle bara någonsin användas för en tillfällig jiggle så precision var ingen stor sak här. Den kopplades upp som visas i diagrammet, med brun kabel till GND, röd till 5v och orange (kontrollkabel) till GPIO17.
Slutligen redigerade jag några av väderanimationsfilerna i GIMP för att lägga till mina egna personliga detaljer, som fladdermöss på månen och ett leende på solen. Jag har också lagt till i en anpassad "Old Tech New Spec" -kassetthjulanimation som ska spelas vid start, bara för skojs skull.
Steg 5: Hörlurar Jiggle
Tanken med WeatherMan var att den passivt skulle sitta på min skrivbordshögtalare och ibland visa vädret, men jag ville att den skulle göra lite mer! Hörlurarna som följde med var rostade men klassiska 80 -tal, så jag bestämde mig för att göra något med dem. Efter att ha tagit bort all kabel och varmlimt den trasiga stod jag kvar med tre delar, 3,5 mm-kontakten, den diamantformade knappen och själva telefonerna på sitt flexibla metallband.
Tanken slog mig att om jag kunde hitta något sätt att montera telefonerna ovanpå enheten så kunde jag få dem att rotera fram och tillbaka med en servo och använda detta som en extra avisering.
Först borrade jag ut 3,5 mm -kontakten och demonterade diamantbrytaren och drog dem sedan på en bit gängad stång. Därefter limmade jag en mutter på en plastkontakt, så att stången skulle kunna sitta säkert (och rakt) ovanpå servon. I andra änden av stången tillsatte jag i en annan mutter. Slutligen använde jag grå Sugru för att fästa toppen av stången till hörlursbandet och även för att täcka över muttern i botten av enheten. Om du inte har hört talas om Sugru är det ett formbart lim som kommer i små färgade påsar - det formar som Play -Doh men fastnar som superlim och stelnar som plast!
Med det senaste kalla vädret tog Sugru några dagar att härda helt, men hörlurarna och deras stativ var snart redo för slutmontering.
Steg 6: Montering
Pi, HAT och Servo fungerade alla bra på bänken så nästa jobb var att få dem in i fallet. Innan jag började på de stora komponenterna använde jag lite grå Sugru som fanns kvar för att fixa i volymratten, hörlursuttaget och "metalltejp" -brytaren för att reda ut kosmetiken. Jag limmade också de ursprungliga Play, Stop, FF & Rew -knapparna på en bit plaströr så att de skulle stanna på rätt plats. Det var synd att inte återanvända någon av knapparna den här gången men det fanns egentligen inget för dem att kontrollera!
Jag använde den sista av den grå Sugru för att hålla servon på plats, med axeln som sticker genom det förstorade hörlursuttaget. När jag flyttade till den andra halvan av fodralet använde jag sedan lite svart Sugru för att fästa HAT och Pi -enheten till banddörren, så att de skulle öppna med den. Jag gillade verkligen den sista lilla touchen - fixering i en GeoMag -magnet så att dörren skulle hållas ordentligt stängd.
Att sätta ihop de två halvorna var en nervös affär eftersom jag fruktade att Pi & Servo skulle kollidera mot varandra, men i slutändan fanns det ungefär en millimeter kvar, gott om i min bok. Eftersom den funky öppningsdörren skulle ge full åtkomst till interiören för framtida service, limde jag precis ihop de två halvorna och efter att ha torkat av mina feta fingeravtryck monterade jag hörlurarna ovanpå - klart!
Steg 7: Tyst besatthet
Andra pris i återanvändningstävlingen
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Hur man digitaliserar bilder och filmnegativ med en DSLR: 12 steg (med bilder)
Hur man digitaliserar diabilder och filmnegativ med en DSLR: En mångsidig och stabil inställning för digitalisering av diabilder och negativ med en DSLR eller en kamera med ett makroalternativ. Denna instruerbara är en uppdatering av Hur man digitaliserar 35 mm negativ (uppladdad juli 2011) med flera förbättringar för att utöka dess
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen