Ehitage LED-indikaator vaarika pi (e-posti, ilmateade või midagi)

Sisukord:

Ehitage LED-indikaator vaarika pi (e-posti, ilmateade või midagi)
Ehitage LED-indikaator vaarika pi (e-posti, ilmateade või midagi)

Video: Ehitage LED-indikaator vaarika pi (e-posti, ilmateade või midagi)

Video: Ehitage LED-indikaator vaarika pi (e-posti, ilmateade või midagi)
Video: Installing Cloudera VM on Virtualbox on Windows - YouTube 2024, Aprill
Anonim
Rasvapuu Pi teeb kena kompaktse platvormi, et lisada märgutuledele kõikvõimalikud projektid - ilmateade, uued e-kirjad jne. Loe edasi, kui näeme sulle, kuidas ühendada LED-moodul oma pi-ga, ja luua mõned põhilised teated.
Rasvapuu Pi teeb kena kompaktse platvormi, et lisada märgutuledele kõikvõimalikud projektid - ilmateade, uued e-kirjad jne. Loe edasi, kui näeme sulle, kuidas ühendada LED-moodul oma pi-ga, ja luua mõned põhilised teated.

Miks ma tahan seda teha?

Sest see on lõbus. Erinevalt paljudest meie õpetustest, kus me lisame ülaosale väikese valiku, mis näitab täpselt, millist kasu te projektist saadate, on sellel juhul üsna lühike, sest kasu on lihtsalt lõbus.

Vaarika Pi on ideaalne seade mängimiseks, elektroonika katsetamine ja mõned programmeerimine. Keegi pole vajadustele näiteks ümbritseva vihmaindikaator oma köögis, kuid selle loomine on lõbus harjutus ja suurepärane meeldetuletus, et tuua oma vihmavari teiega potentsiaalselt tormituudel.

Mida ma vajan?

Selleks, et jälgida koos õpetusega, vajate mõnda asja. Kõigepealt eeldame, et olete juba järginud meie eelmist õpetust: HTG juhend Raspberry Pi-ga alustamiseks (ja seega on Rasbiini installimisega seotud rasvapõrsaid Pi).

Kui soovite seda projekti eelarvesse teha, võime kindlalt öelda, et uusim mudel Vaarikas Pi on selle töö jaoks märkimisväärne ülemäärane tase ja soovitame teil puhtaks tolmu vanast vaarika Pist kappis või võta odavalt kasutatud üks eBay vms. Eelarve mõistlik pikk-to-hammaste raspberry Pi 1 mudel A või mudel B ebaõnnestunud eBay jaoks 10-15 dollarini sobib ideaalselt selle projekti jaoks täiesti uue $ 35 praeguse põlvkonna ostmisega.

Lisaks funktsionaalse Pi seadme installimisele, kus on installitud Raspbian, on teil vaja järgmisi asju:

  • 1 LedBorg moodul (umbes $ 5.00 koos 4 USD saatmisega Ühendkuningriigist USA-sse, töötab kõigi Raspberry Pi mudelitega).
  • 1 selge vaarikas Pi Koht sobib teie eriti Pi mudelile nagu see Rasvlik Pi 1 mudel B juhtum.

Märge: Läbipaistva / frosteeritud pi juht on täiesti vabatahtlik, kuid kui te kasutate läbipaistmatuid juhtumeid, peidetakse teie LED-indikaator sees. Te peate oma juhtumi jaoks auk välja laskma, et lasta valgust välja võtta või kasutada GPIO pikenduskaablit koos Breakout komplektiga nagu see, mida Adafruit Industries -l on LedBorg teie Vaarika Pi külge kinnitada. Breakout-kaabli kasutamine lisab projekti arvelt ligikaudu 8 dollarit, see pakub lõpptoote kohandamiseks rohkem võimalusi, nii et saate hõlpsalt asetada LED-i sees asjadesse või millegi alla, mida soovite valgustada.

LedBorgi installimine

Image
Image

Kuigi te võite kindlasti luua täiesti nullist LED-indikaatori (ja otsingumootorite uurimine tooks kaasa palju inimesi, kes seda teinud on), valmistab Piborg organisatsiooni sellist kompaktset ja odavat LED-moodulit LedBorgi, mida me ei suutnud ' t vastupanu, kasutades seda meie Raspberry Pi LED indikaatorprojekti aluseks.

Mooduli paigaldamine on snap, kuna see on kavandatud otse piori GPIO tihvtidele. Esiteks, lülitage oma Pi välja ja avage kaas.

Paigaldusprotsessi kõige olulisem osa on see, et orienteerite moodulit nii, et LedBorgi ikoon oleks Raspberry Pi pardal RCA moodulile kõige lähemal (ja seega on LedBorg serv ääristatud Pi-laua äärega ja rippuvate LedBorgi osa, mis ripub üle Pi lauaplaadi ja mitte servast välja). Vaata ülaltoodud fotot.

Kui teil on Pi-laud avatud, oleks nüüd suurepärane aeg, et katta pardadiagnostika indikaatorid (USB-portide kõrval), eriti kui kasutate selget juhtumit. Te ei soovi, et see oleks segane teie LedBorgi indikaatori lugemiseks, sest võrgu- ja võrgu märgutuled on nii säravad.

Me kattisime oma valge elektrilindi kihiga. See hämaras neid piisavalt, et saaksime neid ikka veel viidetena, kuid need olid LedBorgiga nii palju hämmastunud, et see ei olnud enam häiriv.

Kui olete paigaldanud LedBorgi ja on valikuliselt kaetud Pi-valgusdioodi indikaatoritega elektrilintiga, on aeg korpuse sulgeda. Käivitage oma pi enne, kui asute õppetundi järgmisele etapile.

LedBorgi tarkvara installimine

PiBorg pakub suurepärast tarkvarapaketti LedBorgile, mis sisaldab nii GUI-kontrollerit kui ka draivereid LedBorgile käsurealt.
PiBorg pakub suurepärast tarkvarapaketti LedBorgile, mis sisaldab nii GUI-kontrollerit kui ka draivereid LedBorgile käsurealt.

Enne alustamist peate veenduma, et olete oma Rasbiini versiooni ja teie Raspberry Pi pardal # läbivaatamise # õige paketi haaranud.

Kui teie Rasvapargi pardal pole montaaži auke, on see 1. versioon. Kui teie Vaarika Pi-l on paigaldusavad (asuvad USB-portide ja toite- ja HDMI-pordi vahel), siis on see versioon 2. Samuti peate teadma kerneli versiooni oma Rasbiani installist. Avage terminal ja sisestage järgmine käsk, et kontrollida:

uname -r

Kui olete versiooniuuenduse numbri ja tuumade arvu, võite külastada pakettide jaotist siin, et hankida oma paketi link. Meie juhul kasutame revision 1-d koos kerneliga 3.6.11, nii et me võtaksime raspbianii-02-09-rev1.zip-faili.

Kõigi maiusemete paigaldamiseks peame piima terminali avama. ja sisestage järgmised käsklused, et installida LedBorg pakett.

Märge: Te peate kolmanda käsuga URL-i asendama oma parooli / kerneli kombinatsiooni paketi URL-iga.

mkdir ~/ledborg-setup cd ~/ledborg-setup wget -O setup.zip https://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip unzip setup.zip chmod +x install.sh./install.sh

Praegu on teil LedBorgi draiverite ja draiverite installitud GUI-ümbris. Teie Raspbian-töölaual näete GUI-ümbrise ikooni:

Minge edasi ja klõpsake LedBorgi ikoonil, et käivitada GUI ümbris. Teid käsitletakse värvivalija liidesega nii:
Minge edasi ja klõpsake LedBorgi ikoonil, et käivitada GUI ümbris. Teid käsitletakse värvivalija liidesega nii:
Nüüd on parim aeg veendumaks, et teie moodul on funktsionaalne. Selleks proovige värvi, välja arvatud must, valimiseks. Proovime seda, valides mõned värvid:
Nüüd on parim aeg veendumaks, et teie moodul on funktsionaalne. Selleks proovige värvi, välja arvatud must, valimiseks. Proovime seda, valides mõned värvid:
Näeb hea välja! See on särav ja juhtum, mille me tellisime, on varustatud mõõduka hajutusega. Kui soovite enne liikumist LED-mooduliga rohkem mängida, klõpsake valikut Demorežiim:
Näeb hea välja! See on särav ja juhtum, mille me tellisime, on varustatud mõõduka hajutusega. Kui soovite enne liikumist LED-mooduliga rohkem mängida, klõpsake valikut Demorežiim:
Demorežiimis saate tsükli läbi kõigi värvide erinevatel kiirustel, kontrollida kõrge / madala väljundi ja muidu panna LED mooduli sammudesse.
Demorežiimis saate tsükli läbi kõigi värvide erinevatel kiirustel, kontrollida kõrge / madala väljundi ja muidu panna LED mooduli sammudesse.

See on siin demo-režiimi jaotises, mille abil saate oma LedBorgi ka esimesena paljudest näitajatest sisse lülitada. Kui valite CPU-de jaotises Colours (värvid), hakkab LED Raspberry Pi's ARM-protsessoril koormust näitama, muutub see roheliseks kollaseks punaseks punaseks. Soovitame kiiruse muutmist aeglaseks muuta, kui olete sellel. - Kiirelt uuendatakse LED-i liiga kiiresti ja muudab CPU indikaatori häiriva asemel kasu.

Värvide valimiseks kasutage lisaks GUI liidesele ka terminali värve, kasutades RGB väärtusi. Avage terminal ja sisestage järgmine käsk, et LED välja lülitada:

echo '000' > /dev/ledborg

LedBorg käitleb RGB väärtusi - see tähendab, et kanal on välja lülitatud, 1 tähendab, et kanal on poole võimsusega ja 2 tähendab, et kanal on täisvõimsus. Nii näiteks määrab 001 0% punase kanali, 0% -lise rohelise kanali ja 50% võimsusega sinine kanal.

Muutke väärtust väärtusele 002 ja LED-väljund jääb siniseks, kuid muutub heledamaks, sest sinine kanal on nüüd 100% -lise väljundi korral. Muutke väärtuseks 202 ja punane ja sinine täisvõimsusel kombineerivad magenta värvi.

Nüüd, kui me teame, kuidas LED-i käsitsi manipuleerida, vaatame skriptide kasutamist, et lülitada LED-d lihtsast valgust tegeliku näitaja juurde.

LedBorgi kui vihmaindikaatori seadistamine

Selle õpetuse selle osa jaoks on meil mitu asja koos, et muuta meie LedBorg LED moodul vihmasindeksiks, mis põhineb meie asukoha prognoosil. Me kasutame Pythoni skripti, et helistada ilmateate API-le, mis omakorda loeb päevase vihma võimaluse ja seejärel lülitate LED-i välja, et näidata prognoositavat vihma, et helesinine oleks eredane sinine.
Selle õpetuse selle osa jaoks on meil mitu asja koos, et muuta meie LedBorg LED moodul vihmasindeksiks, mis põhineb meie asukoha prognoosil. Me kasutame Pythoni skripti, et helistada ilmateate API-le, mis omakorda loeb päevase vihma võimaluse ja seejärel lülitate LED-i välja, et näidata prognoositavat vihma, et helesinine oleks eredane sinine.

Esiteks peame andma Underground Ilma API-liidese võtme. Isiklikuks kasutamiseks ja väikeste arendusprojektide jaoks API on tasuta. Külastage Weather API registreerumise lehte ja registreeruge API-võtme jaoks.

Kui teil on oma API-võti, külastage Weather Underground'it ja otsige linna, mida soovite jälgida. Meie puhul jälgime San Fransisco, CA-d. San Fransisco'i prognooside lehe URL on:

https://www.wunderground.com/US/CA/San_Francisco.html

Meie eesmärkide oluline osa on URL-i viimane osa: /CA/San_Francisco.html. Me kavatseme seda kasutada API tööriista prognoositud URL-i muutmiseks. Põhi URL on:

https://api.wunderground.com/api/YOUR API KEY/forecast/q/STATE/CITY.json

Võite genereerida prognoosi iga USA linna jaoks, sisestades oma API-võtme, kahe tähe riigikoodi ja linna nime URL-ist, mille olete oma Weather Underground otsingutulemustest tõmbanud.

Kui olete oma API-klahviga ja riigi / linnaga sisestatud API-liidese URL-i, saate seejärel redigeerida järgmist Pythoni skripti, luues oma Pi-le piipiga uue teksti dokumendi ja lisades sellele järgmise koodi:

from urllib2 import urlopen import json

req = urlopen('https://api.wunderground.com/api/YOUR API KEY/forecast/q/STATE/CITY.json') parsed_json = json.load(req) pop = int(parsed_json['forecast']['txt_forecast']['forecastday'][0]['pop'])

# Järgmine on silumine väärtus. # Muuda räsi ja muuda # täisarv testida 0-100-ni # LED-vastus

# pop = 0

print 'Current chance of precipitation is {}.'.format(pop)

# The default setting is to turn on the LED # for any chance of rain above 20%. You can adjust # the value in 'if pop > 20:' as you wish.

if pop > 20: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('002') del LedBorg print ('Rain!') else: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('000') del LedBorg print ('No rain!')

Salvestage fail wunderground.py kataloogis / home / pi /. Avage terminal ja tippige järgmine käsk:

python wunderground.py

Kui olete sisestanud oma API-võtme ja oma riigi / linna koodid õigesti, peaks see tagama vastuse, mis näeb välja nagu:

Kui teie piirkonnas on prognoositud sademete arv, peaks LedBorgi väljaanne olema selline:
Kui teie piirkonnas on prognoositud sademete arv, peaks LedBorgi väljaanne olema selline:
Nüüd ootab vihmane päev, et skript korralikult testida, oleks kohutav. Kui tänapäeval teie piirkonnas pole vihma vihma ja soovite, et LED süttib, redigeerige wunderground.py skripti ja asendage rea 13 väärtusega "pop = pop" ülekande väärtus, mille väärtus on suurem kui 20, näiteks 60 et meie prognoos tagastati. Ärge unustage, et kui olete lõpetanud, muutke joont tagasi "pop = pop".
Nüüd ootab vihmane päev, et skript korralikult testida, oleks kohutav. Kui tänapäeval teie piirkonnas pole vihma vihma ja soovite, et LED süttib, redigeerige wunderground.py skripti ja asendage rea 13 väärtusega "pop = pop" ülekande väärtus, mille väärtus on suurem kui 20, näiteks 60 et meie prognoos tagastati. Ärge unustage, et kui olete lõpetanud, muutke joont tagasi "pop = pop".

Viimane samm on luua cron-töö, et automaatselt käivitada skript, mida me just korrapäraselt vahetasime, et hoida LED-indikaator voolu. Kuna see ülesanne on vajalik nii selle skripti kui ka järgneva e-postiindikaatori jaoks, katma me cron-tööde seadistamise pärast seda, kui oleme näidanud, kuidas teise skripti seadistada.

LedBorgi seadistamine Gmaili näitajana

Kes ei meeldi dopamiini parandamine, mis kaasneb uue kirja nägemisega oma postkastis? Selle juhendi selles osas me näitame teile, kuidas kasutada LedBorgi uue Gmaili näitajaga. Nagu eelmisel korral, ühendame välise sisendi (antud juhul Atom'i voog API asemel) ja meie LED-i juhtimise lihtsa skripti.
Kes ei meeldi dopamiini parandamine, mis kaasneb uue kirja nägemisega oma postkastis? Selle juhendi selles osas me näitame teile, kuidas kasutada LedBorgi uue Gmaili näitajaga. Nagu eelmisel korral, ühendame välise sisendi (antud juhul Atom'i voog API asemel) ja meie LED-i juhtimise lihtsa skripti.

Peame Pythoni installi funktsionaalsust veidi laiendama, installides FeedParseri, Pythoni RSS / Atomi voo lugemisvahendi. Avage terminal ja sisestage järgmine käsk:

sudo easy_install feedparser

Kui installimine on lõpule jõudnud, võime töötada Gmaili kontroll-skripti loomisel. Kleepige uuesti lehekaardi abil järgmine tekst redaktorisse. Muutke kasutajanime ja parooli Gmaili konto kasutajanimi ja parool, mida soovite kontrollida.

import feedparser

# Enter your Gmail username # and password. Don't include # the @gmail.com portion of # your username.

username = 'username' password = 'password'

mail = int(feedparser.parse('https://' + username + ':' + password +'@mail.google.com/gmail/feed/atom')['feed']['fullcount'])

# Järgmine on silumine väärtus. # Muuda räsi ja muuda # täisarv proovile 0 või 1 # LED-vastus

# mail = 0

if mail > 0: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('020') del LedBorg print ('Mail!') else: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('000') del LedBorg print ('No mail!')

Salvestage skript gmailcheck.py-ga. Avage terminal ja tippige järgmine käsk:

python gmailcheck.py

Kui Gmaili postkastis on e-kiri, läheb LED-ekraan roheliseks ja saad vastuse selliselt:

Kui Gmaili postkastis on postitus, näeb LedBorg välja nii:
Kui Gmaili postkastis on postitus, näeb LedBorg välja nii:
Nagu vihma kontrollimise skript, oleme lisanud silumisväärtust. Kui teil pole uut e-posti, võite saata ennast e-kirjaga, et tõsta oma postkasti loendisse 1, või saate redigeerida kommentaari räsi ja muuta skripti testimiseks silumiseks joone "mail = 1". Ärge unustage, kui olete katsetamise lõpetanud, rida.
Nagu vihma kontrollimise skript, oleme lisanud silumisväärtust. Kui teil pole uut e-posti, võite saata ennast e-kirjaga, et tõsta oma postkasti loendisse 1, või saate redigeerida kommentaari räsi ja muuta skripti testimiseks silumiseks joone "mail = 1". Ärge unustage, kui olete katsetamise lõpetanud, rida.

Hüppa juhendaja järgmise sektsiooni juurde, et teie Gmaili skript ajakava järgi käivitada.

Cron-i töö käivitamine skripti käitamiseks

Nüüd, kui meil on kaks skripti, mida me peame mängima, peame seadma croni töö, et neid kogu päeva jooksul käivitada, et hoida LED-indikaator voolu.
Nüüd, kui meil on kaks skripti, mida me peame mängima, peame seadma croni töö, et neid kogu päeva jooksul käivitada, et hoida LED-indikaator voolu.

Esimene asi, mida me tahame teha, on LED-i välja lülitada, kui see on praegu meie eelmistest katsetest. Terminali tüüp:

echo “000” > /dev/ledborg

Kui olete ikka veel käsureal, võite avada cron-redaktori. Kui te pole kunagi varem cron-i töö juba seadistanud, soovitame kindlasti tutvuda meie juhendiga selle kasutamiseks siin. See tähendab, et me juhindume teid põhirakenduse seadistamisest siin.

Terminali tüüp:

sudo crontab –e

See avab Nano tekstiredaktoris Raspbian croni tabeli. Kasutage nooleklahve, et liikuda allapoole. See on koht, kus me hakkame seadistama korduvat croni tööd meie Pythoni skriptidele.

Kui soovite vihma skripti seadistada, sisestage cron tabelis järgmine rida:

*/5 * * * * python /home/pi/wunderground.py

Väljumiseks vajutage CTRL + X; valige olemasolev cron tabel salvestamiseks ja üle kirjutamiseks Jah. Väärtus, mille me sisestasime cron tabelisse "* / 5 * * * *", seadistab skripti iga 5 minuti järel igaveseks.

Iga 5 minuti järel on suurepärane aeg skripti jaoks, mis kontrollib prognoositud vihma - võite isegi väita, et see on natuke liiga agressiivne, aga kui sa üritad oma e-kirja peal hoida, on see teate pikkuseks liiga pikk. Kui seadisite Gmaili teate skripti ajakava, sisestage cron tabelis järgmine rida:

*/1 * * * * python /home/pi/wunderground.py

See sisestus käitab iga minutiga gmailcheck.py skripti palju kiiremini värskendusteate jaoks.

See on kõik selleks! Saate katsetada oma Pythoni skripte, tõmbates / / muu väljavõtteid välja ja eemaldades uued muutujad. Kui leiate andmete sisendallika, võite selle muutuda Pythoni skripti aktsiaturu keskmisteks muutujateks, märkides Twitteri, kui see on olemas API jaoks, saate selle muuta ümbritseva LED-indikaatoriks.

Lõpuks tahaksin tänada kõiki suuri ressursse, mida ma selle projekti jaoks töötasin. See on olnud natuke üle kümne aasta, sest ma kirjutasin aktiivselt programme ja see võttis paar koputamist tolmu ja rooste välja saamiseks. Õppurite / r / LearnPythoni kaasautorid aitasid mulle Weather Underground'i API väljundis uurida, kuidas Michael Mitch Tech tegeles Gmail Aomi toiduga, mis oli lihtne LedBorgi parsimisel, ja õppides koodiakadakoloogia akadeemia Pythoni õppemooduleid suurepärane viis selle keele põhilise süntaksi ja struktuuri omandamiseks, mida ma varem kunagi ei kasutanud.

Soovitan: