Aveņu Pi veido jauku kompaktu platformu, lai piestiprinātu indikatora gaismu visiem projektiem - laika ziņojumiem, jauniem e-pastiem utt. Lasiet tālāk, jo mēs parādīsim, kā pieslēgt LED moduli savam Pi un izveidot dažus pamata paziņojumus .
Jo tas ir jautri. Atšķirībā no daudziem mūsu apmācības veidiem, kur mēs iekļaujam nelielu pievilcību augšpusē, precīzi nosakot, kādu labumu jūs gūsiet no projekta, šajā gadījumā tā ir diezgan īsa, jo ieguvums ir vienkārši jautri.
Raspberry Pi ir ideāla ierīce, ar kuru var spēlēt, eksperimentēt ar elektroniku un apgūt kādu programmu. Neviens vajadzībām piemēram, apkārtējā ūdens lietus indikators savās virtuvēs, bet tā izveide ir jautrs uzdevums un lielisks atgādinājums, ka jūsu lietussargs ar jums varēs pavadīt vētras dienās.
Lai sekotu kopā ar mācību metodi, jums būs vajadzīgas dažas lietas. Pirmkārt, mēs pieņemam, ka jūs jau sekojat mūsu iepriekšējai apmācībai: HTG rokasgrāmata, lai sāktu darbu ar Raspberry Pi (un tādēļ ir pamats, uz ko attiecas Rasbian instalēšana mūsu Raspberry Pi).
Ja jūs meklējat, lai to paveiktu, izmantojot budžetu, mēs varam droši pateikt, ka jaunākais modelis "Aveņu Pī" ir ievērojams darba pārpalikums, un mēs aicinām jūs pūst putekļus no vecā Pīrāga Pi, kuru esat iegremdējies skapī vai uzņemt lētu lietotu vienu eBay vai tamlīdzīgi. Budžets saprātīgi ilgu zobu a Raspberry Pi 1 modelis A vai modelis B, kas piesaistīts pie eBay par 10-15 ASV dolāriem, ir ideāli piemērots šim projektam, salīdzinot ar iegādi pavisam jauna 35 ASV dolāra pašreizējās paaudzes Pi.
Papildus tam, ka tajā ir instalēta funkcionāla Pi vienība ar Raspbian, jums būs nepieciešamas šādas lietas:
Piezīme: Skaidrs / frosted pīķis ir pilnīgi izvēles iespēja, taču, ja jūs šobrīd izmantojat necaurspīdīgu lietu, tad jūsu LED indikators tiks paslēpts iekšā. Jums vai nu vajadzēs izgriezt caurumu jūsu gadījumā, lai izgaismotu gaismu vai izmantotu GPIO pagarinājuma kabeli ar izlaušanās komplektu, piemēram, šo no Adafruit Industries, lai piesaistītu LedBorg uz jūsu Raspberry Pi. Izmantojot izlaides kabeli, par projekta izmaksām tiek pieskaitīti aptuveni 8 ASV dolāri, tāpēc tas piedāvā lielāku potenciālu gala produkta pielāgošanai, jo jūs varat vieglāk novietot gaismas diodes iekšienē vai zem tā, ko vēlaties apgaismot.
Lai gan jūs noteikti varētu uzbūvēt pilnīgi no nulles LED indikatoru (un meklētājprogrammu aptauja radīs daudz cilvēku, kuri to ir izdarījuši), Piborg organizācija ražo tik kompaktu un lētu LED moduli, LedBorg, ka mēs nevarējām " T pretoties, izmantojot to kā pamatu mūsu Aveņu Pi LED indikatora projektam.
Moduļa instalēšana ir snap, jo tā ir izstrādāta tā, lai tas atbilstu tieši GP piķa pīķiem. Pirmkārt, izslēdziet savu Pi un atveriet lietu.
Vissvarīgākā instalēšanas procesa daļa ir tāda, ka jūs orientējat moduli tā, lai LedBorg ikona būtu vistuvāk RCA modulim uz Raspberry Pi paliktni (un tādējādi LedBorg mala ir izskrūvēta ar Pi malu malām ar pārklājumu daļa LedBorg karājas virs Pi plāksnes, nevis pie malas). Skatīt fotoattēlu iepriekš.
Lai gan jums ir atvērta Pi bloks, tagad būtu lielisks laiks, lai segtu borta LED indikatorus (blakus USB portiem), it īpaši, ja lietojat skaidru lietu. Jūs nevēlaties, lai tas būtu mulsinoši, lai izlasītu savu LedBorg indikatoru, jo strāvas un tīkla indikatora gaismas ir tik spilgtas.
Mēs pārklājāmies ar baltu elektriskās lentes slāni. Tas viņiem pietiekami aptumšoja, lai mēs vēl varētu tos atsaukties, bet tie bija tik daudz dimmeri kā LedBorg, tas vairs nenovērsa uzmanību.
Kad esat uzstādījis LedBorg un pēc izvēles ir aprīkots ar Pi indikatoriem ar elektrisko lenti, ir pienācis laiks slēgt lietu atpakaļ uz augšu. Ielādējiet savu pi pirms, pārejot uz nākamo apmācības fāzi.
PiBorg nodrošina lielisku programmatūras paketi LedBorg, kas ietver gan GUI kontrolieri, gan vadītājus, lai piekļūtu LedBorg no komandrindas.
Pirms sākat darbu, jums ir jāpārliecinās, ka esat satricinājis pareizo Rasbian versiju un jūsu Raspberry Pi kuģa versijas versiju.
Ja jūsu Aveņu Pi kartupei nav montāžas atveres, tas ir 1. redakcija. Ja jūsu Aveņu Pi ir montāžas caurumi (atrodas pie USB portiem un starp barošanas un HDMI portu), tad tas ir 2. redakcija. Jums arī jāzina kodola versija no jūsu Rasbian instalācijas. Atveriet termināli un ievadiet šādu komandu, lai pārbaudītu:
uname-r
Kad būsit pārskatīšanas numurs un kodola numurs, šeit jūs varat apmeklēt sadaļu Pakas, lai greifersu saiti uz jūsu pakotni. Mūsu gadījumā mēs izmantojam 1. pārskatīšanas paneli ar 3.6.11 kodolu, lai mēs varētu satvert failu raspbian-2013-02-09-rev1.zip.
Lai instalētu visus labumus, mums jāatver terminālis Pi. un pēc tam ievadiet šādas komandas, lai instalētu LedBorg pakotni.
Piezīme: Trešajā komandā URL jāaizvieto ar paketi vietnes / kodola kombinācijas vietrādim URL.
mkdir ~ / ledborg-setup
cd ~ / ledborg-setup
wget-O setup.zip http://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip
unzip setup.zip
chmod + x install.sh
./install.sh
Šajā brīdī jums tagad ir GUI aptinums LedBorg draiveriem un pašiem instalētajiem draiveriem. Jūsu Raspbian darbvirsmā redzēsit GUI iesaiņojuma ikonu:
Iet uz priekšu un noklikšķiniet uz LedBorg ikonas, lai palaistu GUI iesaiņojumu. Ar krāsu atlasītāju saskarni jūs apstrādāsiet šādi:
Tagad ir ideāls laiks, lai pārliecinātos, ka modulis ir funkcionāls. Izvēlies jebkuru krāsu, izņemot melnu, lai to izmēģinātu. Mēs to pārbaudīsim, izvēloties dažas krāsas:
Izskatās labi! Tas ir gaišs un matēta plastmasa no lietas, ko mēs pasūtījām projektam, piedāvā mērenu izplatību. Ja pirms demonstrēšanas vēlaties spēlēt ar LED moduli, noklikšķiniet uz Demo režīms:
Demo režīmā varat apiet visas krāsas ar dažādu ātrumu, pārbaudiet augstu / zemu izlaidi un citādi ievietojiet LED moduli pa soļiem.
Tajā ir sadaļa Demo režīms, kurā varat arī pārvērst LedBorg par pirmo no daudziem rādītājiem. Izvēloties CPU sadaļā Krāsas, gaismas diode sāks mainīties no zaļas uz dzeltenu uz sarkanu, lai norādītu uz Raspberry Pi ARM procesora slodzi. Mēs iesakām mainīt ātrumu uz lēnu, kamēr jūs to esat. Ātri atjauno LED pārāk ātri un padara CPU indikatoru uzmanīgu, nevis noderīgu.
Papildus GUI saskarnes izmantošanai, lai izvēlētos krāsas, jūs varat izvēlēties termināļa krāsas, izmantojot RGB vērtības. Atveriet termināli un ievadiet šādu komandu, lai izslēgtu LED:
echo "000"> / dev / ledborg
Kā LedBorg regulē RGB vērtības, 0 nozīmē, ka kanāls ir izslēgts, 1 nozīmē, ka kanāls ir puse jaudas, un 2 nozīmē, ka kanāls ir pilna jauda. Piemēram, 001 iestatītu Red kanālu 0%, zaļo kanālu 0% un zilu kanālu ar 50% jaudu.
Mainiet vērtību uz 002, un LED izvade paliek zila, bet kļūst spilgtāka, jo Blue kanāls tagad ir 100% izlaide. Mainiet vērtību līdz 202 un sarkanā un zilā krāsā ar pilnu jaudu, lai izveidotu purpura krāsu.
Tagad, kad mēs zinām, kā manuāli manipulēt ar LED, apskatiet, kā izmantot skriptus, lai LED no vienkāršas gaismas pārvērstu par faktisko rādītāju.
Šajā apmācības daļā mēs kopā saliedēsim vairākas lietas, lai mūsu LedBorg LED moduli padarītu par lietus rādītāju, ņemot vērā laika prognozi mūsu atrašanās vietai. Mēs izmantosim Python skriptu, lai izsauktu laikapstākļu API, kas savukārt izlasīs dienas lietus iespēju un pēc tam pārslēgsies no gaismas diode līdz spilgti zilā krāsā, lai norādītu uz prognozēto lietus.
Pirmkārt, mums ir jāiegūst API piekļuves atslēga, lai izmantotu Weather Underground. Lietošanai personiski un maziem attīstības projektiem API ir bezmaksas. Apmeklējiet Weather API reģistrēšanās lapu šeit un reģistrējieties API atslēgai.
Kad jums ir jūsu API atslēga, apmeklējiet Weather Underground un meklējiet pilsētu, kuru vēlaties kontrolēt. Šajā gadījumā mēs pārraudzīsim Sanfransisko, CA. Sanfrancisko prognožu lapas URL ir:
http://www.wunderground.com/US/CA/San_Francisco.html
Mūsu mērķiem svarīga ir pēdējā URL daļa: /CA/San_Francisco.html. Mēs to izmantosim, lai rediģētu API rīka prognožu URL. Bāzes URL ir:
http://api.wunderground.com/api/YOUR API KEY / prognoze / q / STATE / CITY.json
Varat ģenerēt prognozi jebkurai ASV pilsētai, ievadot savu API atslēgu, divu burtu valsts kodu un pilsētas nosaukumu no vietnes, kuru esat izvilkis no jūsu laika pavadīšanas meklēšanas rezultātiem.
Kad esat ievadījis API URL ar savu API atslēgu un ievadījis valsti / pilsētu, pēc tam varat rediģēt šādu Python skriptu, izveidojot jaunu pi dokumentu ar Leafpad un ielīmējot tajā šādu kodu:
no urllib2 importēt urlopen
import json
req = urlopen ('http://api.wunderground.com/api/YOUR API KEY / prognoze / q / STATE / CITY.json')
parsed_json = json.load (req)
pop = int (parsed_json ['prognoze'] ['txt_forecast'] ['prognoze dienas'] [0] ['pop'])# Sekojošā ir atkļūdošanas vērtība.
# Rediģējiet maiņu un mainiet
# veselais skaitlis 0-100, lai pārbaudītu
# LED reakcija.# pop = 0
drukāt 'Pašreizējā nokrišņu iespēja ir .'. formāts (pop)
# Noklusējuma iestatījums ir LED ieslēgšana
# ja kāda lietus iespēja pārsniedz 20%. Jūs varat pielāgot
# vērtību "ja pop> 20:", kā jūs vēlaties.
ja pop> 20:
LedBorg = atvērts ('/ dev / ledborg', 'w')
LedBorg.write ('002')
del LedBorg
izdrukāt ("Lietus")
citādi:
LedBorg = atvērts ('/ dev / ledborg', 'w')
LedBorg.write ('000')
del LedBorg
izdrukāt ("Nav lietus!")
Saglabājiet failu kā wunderground.py direktorijā / home / pi /. Atveriet termināli un ierakstiet šādu komandu:
python wunderground.py
Ja esat pareizi ievadījis savu API atslēgu un valsts / pilsētas kodus, tam jāatver atbilde, kas izskatās šādi:
Ja jūsu apgabalam ir paredzams nokrišņu daudzums, LedBorg produkcijai vajadzētu būt šādai:
Tagad gaida lietainu dienu, lai pareizi pārbaudītu skriptu būtu garlaicīgs. Ja šodien jūsu laika zonā nav lietus iespēju, un jūs vēlaties redzēt LED iedegties, rediģējiet wunderground.py skriptu un nomainiet 13. Rindiņas vērtību "pop = pop", kuru vērtība pārsniedz 20, piemēram, 60 ka mūsu prognoze atgriezās. Vienkārši atcerieties mainīt līniju atpakaļ uz "pop = pop", kad esat pabeidzis.
Pēdējais solis ir izveidot cronu darbu, lai automātiski palaistu skriptu, kuru mēs vienkārši saglabājām regulāri, lai LED indikators būtu noturīgs. Tā kā šis uzdevums ir vajadzīgs gan šim skriptam, gan nākamajam e-pasta rādītājam, mēs apskatīsim crona darba iestatīšanu, kad būsim parādījuši, kā iestatīt citu skriptu.
Kam nepatīk dopamīna izlabošana, kas rodas, redzot jaunu e-pastu viņu iesūtnē? Šajā apmācības daļā mēs parādīsim, kā izmantot LedBorg kā jaunu Gmail rādītāju. Tāpat kā pēdējā laikā, mēs apvienojam ārējo ievadni (šajā gadījumā Atom plūsmu, nevis API) un vienkāršu skriptu, lai vadītu LED.
Mums vajag mazliet paplašināt Python instalācijas funkcionalitāti, instalējot FeedParser, Python RSS / Atom plūsmas lasīšanas rīku. Atveriet termināli un ievadiet šādu komandu:
sudo easy_install feedparser
Kad instalēšana ir pabeigta, mēs varam iestatīt darbu, izveidojot mūsu Gmail pārbaudes skriptu. Atkal, izmantojot Leafpad, ielīmējiet šādu tekstu redaktorā. Mainiet lietotājvārdu un paroli, lai atbilstu Gmail konta lietotājvārdam un parolē, kuru vēlaties pārbaudīt.
importēt padevēju
# Ievadiet savu Gmail lietotājvārdu
# un paroli. Neiekļaujiet
# @ gmail.com daļa no
# Tavs lietotājvārds.
lietotājvārds = "lietotājvārds"
parole = "parole"
pasts = int (feedparser.parse ("https: //" + lietotājvārds +: "+ parole +" @ mail.google.com/gmail/feed/atom")["feed"][" pilna summa "])
# Sekojošā ir atkļūdošanas vērtība.
# Rediģējiet maiņu un mainiet
# veselais skaitlis 0 vai 1, lai pārbaudītu
# LED reakcija.# mail = 0
ja pasts> 0:
LedBorg = atvērts ('/ dev / ledborg', 'w')
LedBorg.write ('020')
del LedBorg
izdrukāt ('Mail!')
citādi:
LedBorg = atvērts ('/ dev / ledborg', 'w')
LedBorg.write ('000')
del LedBorg
izdrukāt ("Nav pasta!")
Saglabājiet skriptu kā gmailcheck.py. Atveriet termināli un ierakstiet šādu komandu:
python gmailcheck.py
Ja Gmail iesūtnē esat sūtījis e-pastu, LED kļūs zaļš, un jūs saņemsit atbildi šādi:
Ja jums ir Gmail iesūtnē pa e-pastu, LedBorg izskatīsies šādi:
Tāpat kā lietus pārbaudes skripts, mēs esam iekļāvuši atkļūdošanas vērtību. Ja jums nav neviena jauna e-pasta, jūs varētu nosūtīt sev e-pastu, lai paaugstinātu iesūtnes skaitli līdz 1, vai arī jūs varētu izlabot komentāru hash un nomainīt atkļūdošanas līniju uz "mail = 1", lai pārbaudītu skriptu. Atcerieties atgriezties pie līnijas, kad esat pabeidzis testēšanu.
Apmācieties nākamajā apmācības sadaļā, lai iestatītu savu Gmail skriptu grafikā.
Tagad, kad mums ir divi skripti, ar ko spēlēt, mums ir jāizveido cron uzdevums, lai tos palaistu visu dienu, lai uzturētu LED indikatoru.
Pirmā lieta, ko mēs vēlamies darīt, ir izslēgt gaismas diodi, ja tā pašlaik ir no mūsu iepriekšējiem eksperimentiem. Termināļa tipā:
echo "000"> / dev / ledborg
Kamēr jūs joprojām esat komandrindā, jūs varat atvērt cron redaktoru. Ja jūs nekad neesat iestatījis cron darbu, mēs noteikti iesakām izlasīt mūsu ceļvedi, kā to izmantot šeit. Tas nozīmē, ka mēs jums palīdzēsim izveidot pamata grafiku tieši šeit.
Termināļa tipā:
sudo crontab-e
Tas atvērs Raspbian cron tabulu Nano teksta redaktorā. Izmantojiet bulttaustiņus, lai ritinātu uz leju līdz pat apakšai. Šajā vietā mēs plānojam izveidot mūsu ciklonu, kas tiek atjaunots, izmantojot mūsu Python skriptus.
Ja vēlaties iestatīt lietus skriptu, cron tabulā ievadiet šādu rindu:
* / 5 * * * * python /home/pi/wunderground.py
Nospiediet CTRL + X, lai izietu; izvēlieties jā, lai saglabātu un pārrakstītu esošo cron tabulu. Vērtība, kuru mēs ievadījām cron tabulā "* / 5 * * * *", nosaka skriptu ik pēc 5 minūtēm uz visiem laikiem.
Katru 5 minūtes ir piemērots laika skripts skriptam, kas pārbauda prognozēto lietus - jūs pat varētu apgalvot, ka tas ir mazliet pārāk agresīvs - bet, ja jūs mēģināt noturēt savu e-pasta adresi, tas ir nedaudz par garu paziņojuma laiku . Ja iestatāt Gmail paziņojumu skripta grafiku, cron tabulā ievadiet šādu rindu:
* / 1 * * * * python /home/pi/wunderground.py
Šis ieraksts katru mēnesi izpilda gmailcheck.py skriptu daudz ātrākai atjaunināšanas paziņojumam.
Tas viss ir tā! Jūs varat eksperimentēt ar saviem Python skriptiem, atceļot if / else paziņojumus no mums un izmēģinot tos ar pavisam jauniem mainīgajiem. Ja jūs varat atrast datu ievades avotu, kuru jūs varat pārvērst par mainīgo savā Python skripta akciju tirgus vidējos rādītājos, ziedputekšņu skaits, Twitter minē, ja tam ir API, varat to pārvērst apkārtējā gaismas diožu indikatorā.
Visbeidzot, es vēlos pateikties par visiem lielajiem resursiem, ar kuriem es strādāju pie šī projekta. Tas ir bijis mazliet vairāk nekā desmit gadu, jo es aktīvi rakstīju programmu, un bija vajadzīgi daži triecieni, lai iegūtu putekļus un rūsu. Atbalstītāji / r / LearnPython palīdzēja mani uzzināt par Weather Underground API izvadi, pētot, kā Michael pie Mitch Tech strādāja ar Gmail Atom plūsmu, kas tika analizēta viegli LedBorg, un Pitonas mācību moduļu studijas Code Academy bija lielisks veids, kā uztvert pamata valodas sintaktu un valodas struktūru, kuru nekad neesmu lietojis.