Sisukord:

1984 WeatherMan Pi: 7 sammu (piltidega)
1984 WeatherMan Pi: 7 sammu (piltidega)

Video: 1984 WeatherMan Pi: 7 sammu (piltidega)

Video: 1984 WeatherMan Pi: 7 sammu (piltidega)
Video: Curb Your Enthusiasm - Larry goes on Judge Judy 2024, November
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

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

Teip Teardown
Teip Teardown
Teip Teardown
Teip Teardown
Teip Teardown
Teip Teardown

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

Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
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

Kood
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

Ükssarvik MÜTS & Servo
Ükssarvik MÜTS & Servo
Ükssarvik MÜTS & Servo
Ükssarvik MÜTS & Servo
Ükssarvik MÜTS & Servo
Ükssarvik MÜTS & 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

Kõrvaklappide helisemine
Kõrvaklappide helisemine
Kõrvaklappide helisemine
Kõrvaklappide helisemine
Kõrvaklappide helisemine
Kõrvaklappide helisemine
Kõrvaklappide helisemine
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

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
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

Vaikne kinnisidee
Vaikne kinnisidee
Vaikne kinnisidee
Vaikne kinnisidee

Taaskasutusvõistluse teine preemia

Soovitan: