INHOUDSOPGAWE:
- Voorrade
- Stap 1: Afplakband
- Stap 2: Dark Sky Pi
- Stap 3: Die kode
- Stap 4: Unicorn HAT & Servo
- Stap 5: Jiggle met koptelefoon
- Stap 6: Montering
- Stap 7: Stil obsessie
Video: 1984 WeatherMan Pi: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie draagbare kassetspeler is nou 'n omringende IoT -weerskerm met 'n vroeë 80's -styl, met 'n "huidige toestande" -animasie, roltemperatuur en waarskynlikheidsgrafiek vir reën deur die bandvenster. As die weerstoestand verander, draai die servo-beheerde koptelefoon bo-op heen en weer as 'n subtiele waarskuwing.
Deur die funksionele banddeur oop te maak, kan ons sien dat die stowwerige oorspronklike komponente vervang is met 'n Raspberry Pi Zero W, 'n Pimoroni Unicorn Hat HD (LED Matrix) en 'n klein servo. Die weerdata word verkry met behulp van 'n Python-script wat navraag doen oor die ultra-akkurate Dark Sky Weather API, aangepas vir my spesifieke ligging.
Dit is 'n eenvoudige, maar aantreklike en funksionele IoT-konstruksie wat op die teenoorgestelde luidspreker van my YouTube-toonbank sit en my stilweg op hoogte hou van die weer.
Voorrade
Framboos Pi Zero
Pimoroni Unicorn HAT HD
Klein servo
1984 Hitachi SP-1 Persoonlike stereo en koptelefoon
USB WiFi -adapter
2 mm draadstang
Sugru (swart en grys)
GeoMag magneet
Stap 1: Afplakband
Ek het in September hierdie pragtige ou kassetspeler deur my skoonma gegee en het dadelik verlief geraak op sy ikoniese voorkoms en dik knoppies. Die ware trekpleister was egter die groot bandvenster - nadat ek dit ongeveer 15 sekondes besit het, het ek 'n liniaal uitgehaal en was verbaas om te sien dat dit in mm dieselfde grootte is as 'n standaard Raspberry Pi -hoed (hardeware bo -op).
Die ontdekking alleen was genoeg om my koekoekprojek verder in die lys te doen, en ek het dadelik begin werk deur die speler af te breek.
Die afbreek het redelik goed gegaan en ek het drie verskillende stukke gekry waarmee ek kon werk - ek het 'n paar plastiekdele kon breek, maar niks wat nie aan mekaar vasgemaak kon word nie.
Stap 2: Dark Sky Pi
Ek gebruik Dark Sky al 'n rukkie op my foon en was baie beïndruk met die akkuraatheid van die voorspellings, en ek was verheug om te sien dat dit 'n uitgebreide API bied wat ek in hierdie projek kan gebruik. ook op!
Gaan eers na https://darksky.net/dev en meld u aan vir 'n gratis rekening - met 'n 'proef' -rekening kan u 1000 API -versoeke per dag rig, wat genoeg is om elke 1,5 minute te herlaai - gereeld genoeg vir selfs my Britse vlak van weerbeheptheid.
Sodra u aangemeld het, kry u 'n 'geheime sleutel' - dit is wat u nodig het om toegang tot die data te kry en dit word in die Python -script gebruik, dus hou dit byderhand (en, u weet, geheim).
Ek het begin met die aanpassing van 'n script wat ek in die YouTube Subscriber Counter -build gebruik het, wat die Requests -module in Python gebruik om API -data op te haal. Die script wat ek gebruik het, is op GitHub, u hoef net u Dark Sky API -sleutel by te voeg en natuurlik u eie Latitude & Longitude -waardes te vervang.
Dit was redelik eenvoudig om data oor die huidige weersomstandighede af te haal, en ek het besluit om die elemente "Ikoon", "Neerslagwaarskynlikheid" en "Temperatuur" te gebruik.
Stap 3: Die kode
As u die kode wat ek gebruik het, wil hergebruik of afskakel, is dit in die WeatherMan -bewaarplek op GitHub - kloon of laai die "weer" -map af in die "pi" -map op u Raspberry Pi.
Die belangrikste skriffunksies is soos volg:
weerman.py
Dit is die hoofskrif wat die weerdata uit Dark Sky onttrek. U moet 'n Dark Sky -rekening op https://darksky.net/dev opstel en u geheime sleutel in die script plaas, waar aangedui. U moet ook die breedtegraad en lengtegraad van die weerligging waarin u belangstel, invoer - dit kan op Google Maps gevind word, klik net met die rechtermuisknop en kies 'Wat is hier?' en u kry 'n pop-up met die lengte/lengte van die ligging.
Na die herwinning van die API -data, stuur weatherman.py parameters deur na verskeie kleiner skrifte om die animasies en koptelefoonskommelings af te skop.
Die skrip sal begin word tydens die opstart deur die opstartlêer te wysig …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… en voeg by:
@python3 /home/pi/weather/weatherman.py &
aan die einde van die lêer.
ikoon.py
Hierdie skrif neem 'n parameter "huidige toestande" uit die weatherman.py -script en gebruik dit om 'n weer -animasie van 16 x 16 te vertoon - dit word alles in die "ikone" -map gestoor en is deel van die standaard Unicorn HAT HD -dokumentasie. U kan die-p.webp
telefone.py
As die weerstoestande verander het vanaf die laaste API -versoek (of dit is 'n vars skoen en dit nie sneeu nie), word hierdie script van weatherman.py gebel en die servo word opdrag gegee om heen en weer te "jiggle" om u te waarsku dat toestande verander.
precip.py
Hierdie skrif aanvaar 'n "neerslagwaarskynlikheid" parameter van weatherman.py en vertoon lyne in blou op die Unicorn HAT met betrekking tot die % waarskynlikheid. As 100% al 16 rye blou gloei, as 50% slegs 8 rye ens.
temp.py
'N Ander standaard Pimoroni -skrif, hierdie neem 'n' temp' -parameter van weatherman.py en vertoon dit met rolteks. Dit is ingestel op die Herkules -truetype -lettertipe (in die "fonts" -map), maar u kan 'n standaardletter gebruik as u dit verkies. U kan dit selfs verbeter sodat die teks wat vertoon word, verander na gelang van die temperatuurwaarde!
Stap 4: Unicorn HAT & Servo
Dit was wonderlik om die weerdata in die hande te kry, maar nou moes ek dit op die Unicorn HAT vertoon. Ek het na verskillende stelle weerikone op die internet gekyk en was halfpad besig om dit aan te pas toe ek besef dat daar 'n weervoorbeeld by die Pimoroni -dokumentasie was - en dit sluit weeranimasies in!
Dit het baie werk bespaar, en ek was binne 'n kort tyd aan die gang, met 'n geanimeerde ikoon vir die huidige omstandighede, 'n bietjie rolteks vir die temperatuur en 'n grafiek vir die % neerslag (wat ligte wiskunde behels het). Ek het die skrifte apart gehou en die subprosesmodule van Python gebruik om parameters heen en weer deur te gee.
Die byvoeging van die servo was die ideale voertuig vir hierdie waarskuwings, aangesien dit 'n bietjie geraas sou maak en opvallend sou wees sonder om te irriterend te wees. Aangesien die HAT reeds baie van die Pi se penne opneem, het ek die servokabels aan die onderkant van die bord gesoldeer, met behulp van Pin 17 om die servo se beweging te beheer met behulp van Pulse Width Modulation.
Dit was nie ideaal om die servo van die Pi aan te dryf nie, maar dit sou slegs vir 'n kort rukkie gebruik word, so presisie was hier nie 'n groot probleem nie. Dit het gekoppel soos aangedui in die diagram, met bruin kabel na GND, rooi na 5v en oranje (die beheerkabel) na GPIO17.
Laastens het ek 'n paar van die weeranimasie -lêers in GIMP geredigeer om my persoonlike aanraking by te voeg, soos vlermuise op die maan en 'n glimlaggie op die son. Ek het ook 'n pasgemaakte kassetwielanimasie van 'Old Tech New Spec' bygevoeg om by die begin te speel, net vir die pret.
Stap 5: Jiggle met koptelefoon
Die idee van die WeatherMan was dat dit passief op my lessenaarluidspreker sou sit en soms die weer sou vertoon, maar ek wou hê dat dit net 'n bietjie meer sou doen! Die oorfone wat daarmee gepaard gegaan het, was roosterbrood, maar klassieke 80's, so ek het besluit om iets daarmee te doen. Nadat ek al die kabels verwyder het en die gebroke een warm geplak het, het ek drie dele, die 3,5 mm-prop, die diamantvormige knoppie en die telefone self op hul buigsame metaalband.
Die idee het my opgeval dat as ek 'n manier kon vind om die telefone bo -op die eenheid te monteer, ek dit met 'n servo heen en weer kon laat draai, en dit as 'n ekstra kennisgewing kon gebruik.
Eers het ek die 3,5 mm -prop geboor en die diamantskakelaar uitmekaar gehaal en dit dan op 'n stuk draadstang gegooi. Vervolgens het ek 'n moer op 'n plastiekverbinder vasgeplak, sodat die staaf veilig (en reguit) bo -op die servo kon sit. Aan die ander kant van die staaf het ek nog 'n neut bygevoeg. Uiteindelik het ek grys Sugru gebruik om die bokant van die staaf aan die oorfoonband vas te bind en ook die moer aan die onderkant van die vergadering te bedek. As u nog nie van Sugru gehoor het nie, is dit 'n vormbare gom wat in klein sakkies kom - dit vorm soos Play -Doh, maar plak soos supergom en word hard soos plastiek!
Met die onlangse koue weer het die Sugru 'n paar dae geneem om heeltemal te verhard, maar die koptelefoon en hul standaard was gou gereed vir die finale vergadering.
Stap 6: Montering
Die Pi, HAT en Servo werk almal goed op die bank, dus die volgende taak was om hulle in die saak te kry. Voordat ek met die groot komponente begin, het ek 'n bietjie grys Sugru gebruik om die volumeknop, die koptelefoonaansluiting en die "metal tape" -skakelaar vas te maak en die skoonheidsmiddels uit te sorteer. Ek het ook die oorspronklike Play, Stop, FF & Rew -knoppies aan 'n stuk plastiekbuis vasgeplak sodat hulle op die regte plek bly. Dit was jammer om hierdie keer nie een van die knoppies te gebruik nie, maar daar was nie regtig iets om oor te beheer nie!
Ek het die laaste van die grys Sugru gebruik om die servo in posisie te hou, met die as wat deur die vergrote koptelefoonaansluiting steek. Met die oorgang na die ander helfte van die omhulsel gebruik ek 'n swart Sugru om die HAT en Pi -eenheid aan die banddeur vas te maak sodat hulle daarmee kan oopgaan. Ek het die laaste aanraking baie geniet - om 'n GeoMag -magneet vas te maak sodat die deur stewig gesluit sou word.
Om die twee helftes bymekaar te maak, was 'n senuweeagtige onderneming, want ek was bang dat die Pi & Servo teen mekaar sou bots, maar uiteindelik was daar ongeveer 'n millimeter oor, baie in my boek. Aangesien die funky deur die volle toegang tot die binnekant sou gee vir toekomstige diens, het ek die twee helftes net aan mekaar vasgeplak, en nadat ek my vetterige vingerafdrukke afgevee het, was die koptelefoon bo -op klaar!
Stap 7: Stil obsessie
Tweede prys in die hergebruikskompetisie
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer