Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Nauhan purkaminen
- Vaihe 2: Dark Sky Pi
- Vaihe 3: Koodi
- Vaihe 4: Yksisarvinen HAT & Servo
- Vaihe 5: Kuulokkeiden jiggle
- Vaihe 6: Kokoonpano
- Vaihe 7: Hiljainen pakkomielle
Video: 1984 WeatherMan Pi: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tämä kannettava kasettisoitin on nyt ympäristön IoT -säänäyttö, jossa on 80 -luvun alun tyyli ja joka näyttää "nykyiset olosuhteet" -animaation, vierityslämpötilan ja sateen todennäköisyyskaavion nauhaikkunan läpi. Kun sääolosuhteet muuttuvat, ylhäällä olevat servo-ohjattavat kuulokkeet heiluvat edestakaisin hienovaraisena hälytyksenä.
Kun avaamme toiminnallisen teippioven, voimme nähdä, että pölyiset alkuperäiset komponentit on korvattu Raspberry Pi Zero W: llä, Pimoroni Unicorn Hat HD: llä (LED Matrix) ja pienellä servolla. Säätiedot hankitaan käyttämällä Python-komentosarjaa, joka kyselee erittäin tarkan Dark Sky Weather -sovellusliittymän, joka on räätälöity tiettyyn sijaintiini.
Se on yksinkertainen mutta ihanan näköinen ja toimiva IoT-rakenne, joka sijaitsee YouTube-laskurini vastakkaisella pöytäkaiuttimella ja pitää minut hiljaa ajan tasalla säästä.
Tarvikkeet
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Pieni servo
1984 Hitachi SP-1 henkilökohtaiset stereot ja kuulokkeet
USB WiFi -sovitin
2mm kierretanko
Sugru (musta ja harmaa)
GeoMag -magneetti
Vaihe 1: Nauhan purkaminen
Anoppi antoi minulle tämän ihanan vanhan kasettisoittimen syyskuussa ja rakastuin heti sen ikoniseen ulkonäköön ja kookkaisiin painikkeisiin. Todellinen veto oli kuitenkin se suuri teippi -ikkuna - sen omistamisen jälkeen noin 15 sekuntia minulla oli hallitsija, ja hämmästyin huomatessani, että se on millimetreittäin samankokoinen kuin tavallinen Raspberry Pi HAT (Hardware Attached on Top).
Pelkästään tämä löytö riitti lyömään käki -kelloprojektini "tehtävä" -luettelon alapuolelle ja aloitin työt heti purkamalla soittimen.
Purku sujui varsin hyvin ja päädyin kolmeen erilliseen kappaleeseen työskennellä - onnistuin rikkoa pari muoviosaa, mutta mitään, mitä ei voitu liimata takaisin yhteen.
Vaihe 2: Dark Sky Pi
Olen käyttänyt Dark Skyä puhelimessani jonkin aikaa ja olen ollut todella vaikuttunut ennusteiden tarkkuudesta, joten olin iloinen nähdessäni, että ne tarjoavat kattavan sovellusliittymän, jota voisin käyttää tässä projektissa. ylhäällä myös!
Siirry ensin osoitteeseen https://darksky.net/dev ja rekisteröi ilmainen tili - "kokeilutilin" avulla voit tehdä 1000 sovellusliittymäpyyntöä päivässä, mikä riittää päivittämiseen 1,5 minuutin välein - tarpeeksi usein jopa Britannian sää pakkomielle.
Kun olet rekisteröitynyt, saat "salaisen avaimen" - tämä on mitä tarvitset päästäksesi tietoihin ja sitä käytetään Python -komentosarjassa, joten pidä se käsillä (ja tiedätkö, salaisuus).
Aloitin mukauttamalla komentosarjaa, jota käytin YouTube -tilaajalaskurin koonnissa, joka käyttää Pythonin Requests -moduulia sovellusliittymän tietojen noutamiseen. Käyttämäni komentosarja on GitHubissa, sinun tarvitsee vain lisätä Dark Sky -sovellusliittymäavain ja tietysti korvata omat leveys- ja pituusastearvot.
Oli melko yksinkertaista hakea tietoja nykyisistä sääolosuhteista, ja päätin käyttää "Icon", "Precipitation Probability" ja "Temperature" -elementtejä.
Vaihe 3: Koodi
Jos haluat käyttää uudelleen tai ponnahtaa pois käyttämästäni koodista, se on WeatherMan -arkistossa GitHubissa - kloonaa tai lataa "sää" -kansio Raspberry Pi -laitteen "pi" -kansioon.
Skriptin päätoiminnot ovat seuraavat:
Weatherman.py
Tämä on tärkein käsikirjoitus, joka poimii säätiedot Dark Skystä. Sinun on luotava Dark Sky -tili osoitteessa https://darksky.net/dev ja laitettava salainen avaimesi skriptiin, jos se on ilmoitettu. Sinun on myös syötettävä haluamasi sääaseman leveys- ja pituusaste - tämä löytyy Google Mapsista, napsauta hiiren kakkospainikkeella ja valitse "Mitä täällä on?" ja saat ponnahdusikkunan, jossa näkyy sijainnin leveys/pituus.
Sovellusliittymän tietojen noutamisen jälkeen weatherman.py välittää parametrit useille pienemmille skripteille animaatioiden ja kuulokkeiden heilumisen käynnistämiseksi.
Skripti on asetettu toimimaan käynnistyksen yhteydessä muokkaamalla käynnistystiedostoa…
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Ja lisätään:
@python3 /home/pi/weather/weatherman.py &
tiedoston lopussa.
icon.py
Tämä skripti ottaa Weatherman.py -skriptistä "nykyiset olosuhteet" -parametrin ja näyttää sen avulla 16x16 sääanimaation - nämä kaikki on tallennettu "icons" -kansioon ja ne ovat osa Unicorn HAT HD -dokumentaatiota. Voit muokata-p.webp
phones.py
Jos sääolosuhteet ovat muuttuneet viimeisestä API -pyynnöstä (tai se on uusi käynnistys eikä lunta), tämä komentosarja kutsutaan osoitteesta weatherman.py ja kehottaa servoa "heilumaan" edestakaisin varoittaakseen olosuhteista muuttunut.
sad. py
Tämä skripti hyväksyy "sademäärä todennäköisyys" -parametrin osoitteesta weatherman.py ja näyttää yksisarvisen HAT: ssa siniset viivat, jotka liittyvät % todennäköisyyteen. Jos 100%, kaikki 16 riviä palavat sinisenä, jos 50% vain 8 riviä jne.
temp.py
Toinen tavallinen Pimoroni -skripti, tämä ottaa "temp" -parametrin osoitteesta weatherman.py ja näyttää sen vieritystekstillä. Se on asetettu käyttämään Herkules -truetype -fonttia ("fontit" -kansiossa), mutta voi käyttää vakiokirjasinta, jos haluat. Voit jopa parantaa sitä niin, että näytettävä teksti muuttaa väriä lämpötila -arvon mukaan!
Vaihe 4: Yksisarvinen HAT & Servo
Säätietojen saaminen oli hienoa, mutta nyt minun piti näyttää se Unicorn HATissa. Katselin erilaisia sääkuvakkeita Internetissä ja olin puolivälissä mukauttamassa niitä, kun tajusin, että Pimoroni -dokumentaatiossa oli sääesimerkki - ja tämä sisälsi sääanimaatioita!
Tämä säästi valtavan määrän työtä, ja olin käynnissä hetkessä, animoidulla kuvakkeella nykyisiin olosuhteisiin, jonkin verran rullaavaa tekstiä lämpötilaan ja kaavioon prosenttiosuudesta (johon sisältyi kevyttä matematiikkaa). Pidin komentosarjat erillisinä ja käytin Pythonin aliprosessimoduulia parametrien siirtämiseen edestakaisin.
Servon lisääminen oli ihanteellinen väline näille hälytyksille, koska se aiheuttaisi hieman melua ja olisi silmäänpistävä olematta liian ärsyttävä. Kun HAT jo otti monet Pi: n nastat, juotin servokaapelit levyn alapuolelle käyttämällä nasta 17 ohjaamaan servon liikettä pulssileveysmodulaatiolla.
Servon käynnistäminen Pi: stä ei ollut ihanteellinen, mutta sitä käytettäisiin vain hetkelliseen heilumiseen, joten tarkkuus ei ollut iso juttu täällä. Se on kytketty kaavion mukaisesti, ruskea kaapeli GND: hen, punainen 5 volttiin ja oranssi (ohjauskaapeli) GPIO17: een.
Lopuksi muokkasin joitain sää -animaatiotiedostoja GIMP: ssä lisäämään henkilökohtaisia yksityiskohtia, kuten lepakoita kuulla ja hymiöitä kasvoilla. Lisäsin myös mukautetun "Old Tech New Spec" -kasettipyörän animaation, joka toistetaan käynnistyksen yhteydessä, huvin vuoksi.
Vaihe 5: Kuulokkeiden jiggle
WeatherManin ajatus oli, että se istuisi passiivisesti pöytäkaiuttimellani, näyttäen toisinaan säätä, mutta halusin sen tekevän vain vähän enemmän! Mukana tulleet kuulokkeet olivat paahtoleipää, mutta klassisia 80 -lukuja, joten päätin tehdä jotain heidän kanssaan. Kun olin irrottanut kaikki kaapelit ja liimalla rikkoutuneen, jäin kolmeen osaan, 3,5 mm: n pistokkeeseen, timantin muotoiseen painikkeeseen ja itse puhelimiin joustavalle metallinauhalle.
Ajatus iski, että jos löydän jonkin tavan asentaa puhelimet laitteen päälle, voisin saada ne pyörimään edestakaisin servolla ja käyttää tätä lisäilmoituksena.
Ensin porasin 3,5 mm: n pistokkeen ja irrotin timanttikytkimen, ja sitten liu'utin ne kierretangon palalle. Seuraavaksi liimasin mutterin muoviliittimeen, jotta sauva pystyisi istumaan tukevasti (ja suoraan) servon päällä. Vavan toiseen päähän lisäsin toisen mutterin. Lopuksi käytin harmaata Sugrua kiinnittämään tangon yläosan kuulokkeeseen ja peittämään myös kokoonpanon alaosassa olevan mutterin. Jos et ole kuullut Sugrusta, se on muovattava liima, joka tulee pieniin värillisiin pusseihin - se muotoutuu kuten Play -Doh, mutta tarttuu kuin superliima ja kovettuu kuin muovi!
Viime kylmän sään myötä Sugrulla kesti muutaman päivän kovettua kokonaan, mutta kuulokkeet ja niiden teline olivat pian valmiita lopulliseen kokoonpanoon.
Vaihe 6: Kokoonpano
Pi, HAT ja Servo toimivat kaikki hyvin penkillä, joten seuraava tehtävä oli saada heidät tapaukseen. Ennen kuin aloitin suurten komponenttien käytön, käytin hieman jäänyttä harmaata Sugrua äänenvoimakkuuden säätimen, kuulokeliitännän ja "metalliteippi" -kytkimen kiinnittämiseen kosmeettisten aineiden lajitteluun. Liimasin myös alkuperäiset Play, Stop, FF & Rew -painikkeet muoviputkeen, jotta ne pysyisivät oikeassa paikassa. Oli sääli olla käyttämättä mitään painikkeita tällä kertaa, mutta heillä ei ollut oikeastaan mitään hallittavaa!
Käytin viimeistä harmaata Sugrua pitämään servon paikallaan, ja sen akseli työnsi suurennetun kuulokeliitännän läpi. Siirtyessäni kotelon toiselle puolelle käytin sitten mustaa Sugrua kiinnittämään HAT- ja Pi -kokoonpanon teipin oveen, jotta ne avautuisivat sen kanssa. Nautin todella viimeisestä pienestä kosketuksesta - kiinnittämisestä GeoMag -magneettiin, jotta ovi pidettäisiin tiukasti kiinni.
Kahden puolikkaan yhdistäminen oli hermostunut asia, koska pelkäsin, että Pi & Servo törmää toisiaan vastaan, mutta lopulta kirjassa oli paljon millimetriä varaa. Koska funky -avautuva ovi antaisi täyden pääsyn sisätiloihin tulevaa huoltoa varten, liimasin vain kaksi puoliskoa yhteen ja pyyhkimisen jälkeen rasvaiset sormenjälkeni kiinnittivät kuulokekokoonpanon päälle - valmis!
Vaihe 7: Hiljainen pakkomielle
Toinen palkinto uudelleenkäyttökilpailussa
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite