Sisukord:
- Tarvikud
- Samm: lindistage maha
- 2. samm: Dark Sky Pi
- 3. samm: kood
- 4. samm: ükssarviku müts ja servo
- Samm: kõrvaklappide helisemine
- 6. samm: kokkupanek
- 7. samm: vaikne kinnisidee
Video: 1984 WeatherMan Pi: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
See kaasaskantav kassettmängija on nüüd 80 -ndate alguse stiilis ümbritseva IoT ilmateade, mis kuvab "praeguste tingimuste" animatsiooni, temperatuuri ja vihma tõenäosuse graafikut läbi lindi akna. Kui ilmastikutingimused muutuvad, liiguvad üleval servo-juhitavad kõrvaklapid peene hoiatusena edasi-tagasi.
Funktsionaalse lindiukse avamisel näeme, et tolmused originaalkomponendid on asendatud Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) ja väikese servoga. Ilmateabe hankimisel kasutatakse Pythoni skripti, mis pärib ülitäpse Dark Sky Weather API, mis on kohandatud minu konkreetsele asukohale.
See on lihtne, kuid ilusa välimusega ja funktsionaalne IoT-konstruktsioon, mis asub minu YouTube'i loenduri vastas laua kõlaris, hoides mind vaikselt ilmaga kursis.
Tarvikud
Vaarika Pi Zero
Pimoroni ükssarvik MÜTS HD
Väike servo
1984 Hitachi SP-1 isiklikud stereod ja kõrvaklapid
USB WiFi -adapter
2mm keermestatud varras
Sugru (must ja hall)
GeoMag magnet
Samm: lindistage maha
Selle ämma andis mulle see armas vana kassettmängija juba septembris ja armusin koheselt selle ikoonilisse väljanägemisse ja jämedatesse nuppudesse. Tõeline tõmbenumber oli aga suur lintaken - umbes 15 sekundi pärast oli mul joonlaud väljas ja imestasin, kui avastasin, et see on millimeetrites sama suur kui tavaline Raspberry Pi HAT (riistvara kinnitatud peal).
Ainuüksi sellest avastusest piisas, et mu kägukellaprojekt "ülesannete" nimekirjast kaugemale jõuda ja ma alustasin kohe tööd, pleieri demonteerides.
Lahtilangemine läks päris hästi ja lõpuks sain töötada kolme erineva tükiga - mul õnnestus paar plastdetaili purustada, kuid mitte midagi, mida ei saaks tagasi kokku liimida.
2. samm: Dark Sky Pi
Olen mõnda aega oma telefonis Dark Sky -d kasutanud ja mulle on prognooside täpsus väga muljet avaldanud, nii et mul oli hea meel näha, et nad pakuvad kõikehõlmavat API -d, mida saaksin selles projektis kasutada. Seda on tore ja lihtne seada ka üles!
Kõigepealt minge aadressile https://darksky.net/dev ja registreeruge tasuta kontole - prooviversioon võimaldab teil teha 1000 API taotlust päevas, millest piisab värskendamiseks iga 1,5 minuti järel - piisavalt sageli isegi minu jaoks Suurbritannia ilmastikukindlus.
Kui olete registreerunud, saate "salajase võtme" - see on see, mida vajate andmetele juurdepääsemiseks ja mida kasutatakse Pythoni skriptis, nii et hoidke see käepärast (ja teate, saladus).
Alustuseks kohandasin skripti, mida kasutasin YouTube'i tellijate loenduri koostamisel, mis kasutab API -andmete toomiseks Pythoni päringumoodulit. Skript, mida ma kasutasin, on GitHubis, peate lihtsalt lisama oma Dark Sky API võtme ja loomulikult asendama oma laius- ja pikkuskraadi väärtused.
Praeguste ilmastikutingimuste kohta andmete kogumine oli üsna lihtne ja otsustasin kasutada elemente "Ikoon", "Sademete tõenäosus" ja "Temperatuur".
3. samm: kood
Kui soovite minu kasutatud koodi uuesti kasutada või hüppelaualt välja lülitada, on see GitHubi WeatherMani hoidlas - kloonige või laadige kaust "ilm" oma Raspberry Pi kausta "pi" alla.
Skripti peamised funktsioonid on järgmised:
ilmateade.py
See on peamine skript, mis eraldab ilmastiku andmed Dark Sky'st. Peate seadistama Dark Sky konto aadressil https://darksky.net/dev ja sisestama oma salajase võtme skripti, kus see on näidatud. Samuti peate sisestama teid huvitava ilma asukoha laius- ja pikkuskraadi - selle leiate Google Mapsist, paremklõpsake ja valige "Mis siin on?" ja kuvatakse hüpikaken, mis näitab asukoha latti/pikkust.
Pärast API andmete allalaadimist saadab weatherman.py parameetrid mitmele väiksemale skriptile, et alustada animatsioone ja kõrvaklappide helisemist.
Skript on käivitamisel käivitatud, muutes käivitusfaili …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Ja lisades:
@python3 /home/pi/weather/weatherman.py &
faili lõpus.
icon.py
See skript võtab skripti weatherman.py parameetri "praegused tingimused" ja kasutab seda 16x16 ilmaanimatsiooni kuvamiseks - need kõik on salvestatud kausta "ikoonid" ja on osa Unicorn HAT HD standarddokumentatsioonist.-p.webp
phones.py
Kui ilmastikutingimused on alates viimasest API päringust muutunud (või see on värske alglaadimine ja lund ei saja), siis kutsutakse see skript saidilt weatherman.py ja juhitakse servot edasi -tagasi liikuma, et hoiatada, et tingimused on muutunud muutunud.
vihma.py
See skript aktsepteerib Weatherman.py parameetrit "sademete tõenäosus" ja kuvab Unicorn HAT -il sinised jooned, mis on seotud tõenäosusega %. Kui 100% helendavad kõik 16 rida siniselt, kui 50% ainult 8 rida jne.
temp.py
Veel üks tavaline Pimoroni skript, see võtab parameetri "temp" saidilt weatherman.py ja kuvab selle koos keritava tekstiga. See on seadistatud kasutama Herkulesi tõetüüpi fonti (kaustas "fondid"), kuid soovi korral võib kasutada ka standardset fonti. Saate seda isegi täiustada, nii et kuvatav tekst muudab värvi sõltuvalt temperatuuriväärtusest!
4. samm: ükssarviku müts ja servo
Ilmaandmete kättesaamine oli suurepärane, kuid nüüd oli mul vaja neid kuvada ükssarviku mütsil. Vaatasin Internetis erinevaid ilmastikuikoonide komplekte ja olin nende kohandamisega poole peal, kui mõistsin, et Pimoroni dokumentatsiooniga on kaasas ilmateade - ja see hõlmas ka ilmaanimatsioone!
See säästis tohutul hulgal tööd ja olin hetkega töövalmis, kus oli animeeritud ikoon praeguste tingimuste jaoks, mõni keriv tekst temperatuuri jaoks ja graafik sademete protsendi kohta (mis hõlmas mõningast kerget matemaatikat). Ma hoidsin skripte eraldi ja kasutasin parameetrite edastamiseks edasi -tagasi Pythoni alamprotsessi moodulit.
Servo lisamine oli nende hoiatuste jaoks ideaalne vahend, kuna see tekitaks natuke müra ja oleks pilkupüüdev, ilma et see oleks liiga tüütu. Kui HAT võttis juba paljud Pi tihvtid enda kätte, jootsin servokaablid plaadi alumisele küljele, kasutades tihvti 17, et juhtida servo liikumist impulsi laiuse modulatsiooni abil.
Servo toide Pi -lt ei olnud ideaalne, kuid seda kasutataks vaid hetkeks, nii et täpsus polnud siin suur asi. See ühendati vastavalt skeemile, pruun kaabel GND -ga, punane 5v ja oranž (juhtkaabel) GPIO17 -ga.
Lõpuks redigeerisin GIMPis mõningaid ilmastiku animatsioonifaile, et lisada oma isiklikke nüansse, näiteks nahkhiired Kuul ja naeratav nägu päikese käes. Lisasin ka kohandatud "Old Tech New Spec" kassetiratta animatsiooni, mida mängitakse käivitamisel, lihtsalt lõbu pärast.
Samm: kõrvaklappide helisemine
WeatherMani idee oli see, et see istuks passiivselt mu laua kõlari peal, näidates aeg -ajalt ilma, kuid ma tahtsin, et see teeks natuke rohkem! Kaasas olnud kõrvaklapid olid röstsai, kuid klassikalised 80ndad, seega otsustasin nendega midagi ette võtta. Pärast kõigi kaablite eemaldamist ja katkise kuumliimimist jäid mulle kolm osa, 3,5 mm pistik, teemandikujuline nupp ja telefonid oma paindlikul metallribal.
Mulle tuli mõte, et kui ma leiaksin viisi, kuidas telefonid seadme peale kinnitada, siis võiksin need servoga edasi -tagasi pöörata ja kasutada seda lisateatisena.
Esiteks puurisin 3,5 mm pistiku välja ja demonteerisin teemantlüliti, seejärel libistasin need keermestatud vardale. Järgmisena liimisin plastpistiku külge mutri, et varras saaks kindlalt (ja sirgelt) servo peal istuda. Varda teise otsa lisasin veel ühe pähkli. Lõpuks kasutasin halli Sugru abil varda ülaosa kõrvaklappide sidumiseks ja ka sõlme põhjas oleva mutri katmiseks. Kui te pole Sugrust kuulnud, on see vormitav liim, mis on saadaval väikestes värvilistes kotikestes - see vormib nagu Play -Doh, kuid kleepub nagu superliim ja kõvastub nagu plastik!
Hiljutise külma ilmaga kulus Sugrule paar päeva, et see täielikult kõvaks muutuks, kuid kõrvaklapid ja nende alus olid peagi valmis lõplikuks kokkupanekuks.
6. samm: kokkupanek
Pi, HAT ja Servo töötasid pingil kõik hästi, nii et järgmine töö oli nende juhtumi kaasamine. Enne suurte komponentidega alustamist kasutasin kosmeetikat sorteerides helitugevusnuppu, kõrvaklappide pistikupesa ja "metalllindi" lülitit fikseerides halli Sugru. Samuti liimisin originaalnupud Play, Stop, FF & Rew plasttoru külge, et need jääksid õigesse kohta. Kahju oli seekord mitte ühtegi nuppu uuesti kasutada, kuid tegelikult polnud neil midagi juhtida!
Ma kasutasin viimast hallist Sugrust servo hoidmiseks, selle võll laienes kõrvaklappide pesast. Korpuse teisele poole liikudes kasutasin seejärel mõnda musta Sugrut, et kinnitada HAT- ja Pi -komplekt lindiukse külge, nii et need sellega avaneksid. Nautisin väga viimast väikest puudutust - GeoMagi magnetisse kinnitamist, et ust kindlalt kinni hoida.
Kahe poole kokku panemine oli närviline äri, kuna kartsin, et Pi & Servo lähevad üksteise vastu, kuid lõpuks jäi umbes millimeeter varuks, minu raamatus palju. Kuna funky avanev uks annaks edaspidiseks hoolduseks täieliku juurdepääsu sisemusele, liimisin need kaks poolt kuumalt kokku ja pärast rasvaste sõrmejälgede pühkimist panin kõrvaklappide komplekti peale - valmis!
7. samm: vaikne kinnisidee
Taaskasutusvõistluse teine preemia
Soovitan:
DIY 37 LED Arduino ruleti mäng: 3 sammu (piltidega)
DIY 37 Leds Arduino rulett Mäng: Rulett on kasiinomäng, mis on nime saanud prantsuse sõna järgi, mis tähendab väikest ratast
Kuidas: Raspberry PI 4 peata (VNC) installimine RPI-pildistaja ja piltidega: 7 sammu (koos piltidega)
Kuidas: Raspberry PI 4 peata (VNC) installimine Rpi-pildistaja ja piltidega: kavatsen seda Rapsberry PI-d kasutada oma blogis hunniku lõbusate projektide jaoks. Vaadake seda julgelt. Tahtsin uuesti oma Raspberry PI kasutamist alustada, kuid mul polnud uues asukohas klaviatuuri ega hiirt. Vaarika seadistamisest oli tükk aega möödas
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
Arvuti demonteerimine lihtsate sammude ja piltidega: 13 sammu (piltidega)
Arvuti demonteerimine lihtsate sammude ja piltidega: see on juhis arvuti demonteerimiseks. Enamik põhikomponente on modulaarsed ja kergesti eemaldatavad. Siiski on oluline, et oleksite selles osas organiseeritud. See aitab vältida osade kaotamist ja ka kokkupanekut