Изградите ЛЕД индикатор са Распберри Пи (за е-пошту, временску прогнозу или било шта друго)
Распберри Пи је лепа компактна платформа за прикључивање индикаторског светла за све врсте пројеката - обавештења о временским приликама, нове е-поруке, итд. Прочитајте док вам показујемо како да повежете ЛЕД модул са вашим Пи и поставите нека основна обавештења.
Зашто желим ово да урадим?
Зато што је забавно. За разлику од многих наших туторијала, у које смо укључили и малу рекламу на врху која прецизно описује какву корист имате од пројекта, блурб је у овом случају прилично кратак, јер је корист једноставно забава.
Распберри Пи је савршен уређај за игру, експериментисање са електроником и учење програмирања. Нико потребама индикатор амбијенталне кише у њиховој кухињи, на примјер, али изградња је забавна вјежба и велики подсјетник да понесете кишобран са собом у потенцијално олујне дане.
Шта ми је потребно?
Да бисте пратили заједно са нашим туторијалом, требаће вам неколико ствари. Прво, претпостављамо да сте већ пратили наш претходни водич: ХТГ Водич за почетак рада са Распберри Пи (и на тај начин имати основе покривене до инсталације Расиан на нашем Распберри Пи).
Ако желите да урадите овај пројекат на буџет, можемо поуздано да вам кажемо да је најновији модел Распберри Пи значајан за посао и охрабрујемо вас да отпушите прашину са старог Распберри Пи у ормару или покупите јефтиније коришћени еБаи или слично. Буџет је дуготрајан Распберри Пи 1 Модел А или Модел Б ухваћен од еБаи-а за $ 10-15 је савршено прикладан за овај пројекат над куповином нове $ 35 текуће генерације Пи.
Поред тога што имате функционалну Пи јединицу са инсталираном Распбианом, требате следеће ствари:
- 1 ЛедБорг модул (~ $ 5.00 са 4 УСД доставе из Велике Британије у САД, ради са свим Распберри Пи моделима).
- 1 Цлеар Распберри Пи Цасе компатибилан са вашим моделом Пи као што је овај Распберри Пи 1 Модел Б случај.
Белешка: Пи случај са прозирним / матираним материјалом је потпуно опционалан, али ако тренутно користите непровидан случај, ваш ЛЕД индикатор ће бити сакривен унутра. Или ћете морати да изрежете рупу у вашем кућишту да бисте ослободили светло или да користите ГПИО продужни кабл са комплетом за пребацивање - као што је овај од Адафруит Индустриес - да бисте повезали ЛедБорг са Распберри Пи. Док употреба кабла за пребацивање додаје око $ 8 на трошак пројекта, он нуди већи потенцијал за прилагођавање крајњег производа тиме што можете лакше да поставите ЛЕД у ствари или под нешто што желите да осветлите.
Инсталирање ЛедБорг-а
Иако бисте сами могли да направите ЛЕД индикатор потпуно од огреботина (а упит за претраживаче ће имати велики број људи који су то урадили) организација Пиборг производи тако компактан и јефтин ЛЕД модул, ЛедБорг, који није могуће. не одолите да га користите као основу за наш пројекат ЛЕД индикатора Распберри Пи.
Инсталација модула је снап, јер је дизајнирана да стане директно преко ГПИО пинова на Пи. Прво, искључите Пи и отворите случај.
Најважнији део процеса инсталације је да се оријентишете модул тако да је икона ЛедБорг најближа РЦА модулу на табли Распберри Пи (тако да је ивица ЛедБорг-а поравнана са ивицама Пи плоче са надвисивањем дио ЛедБорга који виси изнад Пи плоче, а не с руба). Погледајте горе наведену фотографију.
Док је Пи плоча отворена, сада би било одлично време да се покрију уграђени ЛЕД индикатори (поред УСБ портова), посебно ако користите јасан случај. Не желите да буде збуњујуће да прочитате ваш ЛедБорг индикатор јер су индикатори напајања и мреже толико светли.
Покривали смо свој слој беле електричне траке. Ово их је довољно затамнило да бисмо их још увек могли референцирати, али су били толико слабији од ЛедБорг-а да више није ометало.
Након што сте инсталирали ЛедБорг и, опционо, покрили ЛЕД индикаторе са електричном траком, вријеме је да затворите кућиште. Покрените Пи пре него што пређете на следећу фазу туториала.
Инсталирање ЛедБорг софтвера
ПиБорг обезбеђује одличан софтверски пакет за ЛедБорг који укључује и ГУИ контролер као и управљачке програме за приступ ЛедБорг-у из командне линије.
Пре него што почнемо морате да се уверите да сте ухватили прави пакет за вашу верзију Расиан-а и ревизију # ваше Распберри Пи табле.
Ако ваша Распберри Пи плоча нема рупе за монтажу, то је Ревизија 1. Ако Распберри Пи има рупе за монтажу (које се налазе на УСБ портовима и између напајања и ХДМИ порта) онда је то Ревизија 2. Такође морате знати верзију кернела. ваше Расиан инсталације. Отворите терминал и унесите следећу команду да бисте проверили:
унаме -р
Када имате број ревизије и број кернела, можете да посетите одељак Пакети овде да бисте преузели везу за ваш пакет. У нашем случају користимо Ревисион 1 плочу са 3.6.11 кернелом, тако да бисмо могли да узмемо распбиан-2013-02-09-рев1.зип датотеку.
Да бисмо инсталирали све добре ствари, морамо отворити терминал на Пи. а затим унесите следеће команде да бисте инсталирали ЛедБорг пакет.
Белешка: Морате да замените УРЛ у трећој команди УРЛ-ом пакета за вашу комбинацију боард / кернел.
мкдир ~ / ледборг-сетуп
цд ~ / ледборг-сетуп
вгет -О сетуп.зип хттп://ввв.пиборг.орг/довнлоадс/ледборг/распбиан-2013-02-09-рев1.зип
унзип сетуп.зип
цхмод + к инсталл.сх
./инсталл.сх
У овом тренутку сада имате ГУИ омот за ЛедБорг драјвере и сами управљачке програме. На Распбиан десктопу ћете видети икону за ГУИ омотач:
Идите и кликните на икону ЛедБорг да покренете ГУИ омот. Тако ћете бити третирани за интерфејс за одабир боја:
Сада је право вријеме да се увјерите да је ваш модул функционалан. Изаберите било коју боју, осим за црну, да је испробате. Тестираћемо га одабиром неколико боја:
Изгледа добро! Светла је и матирана пластика кућишта које смо наручили за пројекат нуди умјерену дифузију. Ако желите да се играте са ЛЕД модулом пре него што кренете, кликните на Демо режим:
У демо моду можете кружити кроз све боје при различитим брзинама, провјерити висок / низак излаз и на други начин ставити ЛЕД модул кроз кораке.
Овде у секцији Демо мод можете такође да претворите ваш ЛедБорг у први од многих индикатора. Одабиром ЦПУ-а у секцији Боје, ЛЕД ће почети да се мења од зелене до жуте до црвене да би показао оптерећење на АРМ процесору Распберри Пи. Предлажемо да промените Спеед то Слов док сте у брзом ажурирању ЛЕД-а сувише брзо и чини да ЦПУ индикатор омета уместо корисног.
Поред тога што користите ГУИ интерфејс за избор боја можете одабрати боје са терминала користећи РГБ вредности. Отворите терминал и унесите следећу команду да искључите ЛЕД:
ецхо "000"> / дев / ледборг
Начин на који ЛедБорг управља РГБ вредностима је да 0 значи да је канал искључен, 1 значи да је канал пола снаге, а 2 значи да је канал пуна снага. Тако би на пример 001 поставио Црвени канал на 0%, Зелени канал на 0% и Плави канал на 50% снаге.
Промените вредност на 002 и ЛЕД излаз остаје плави али постаје светлији јер је Блуе канал сада на 100% излазу. Промените вредност на 202, а црвена и плава са пуном снагом се комбинују да би се добила магента боја.
Сада када знамо да ручно управљамо ЛЕД-ом, погледајмо коришћење скрипти за претварање нашег ЛЕД из једноставног светла у стварни индикатор.
Подешавање Вашег ЛедБорг као индикатора кише
За овај део туторијала ћемо заједно прочешљати неколико ствари како бисмо наш ЛедБорг ЛЕД модул претворили у индикатор кише на основу временске прогнозе за нашу локацију. Користићемо Питхон скрипт за позивање временског АПИ-ја који ће заузврат прочитати шансе за кишу за тај дан, а затим укључити ЛЕД са светле на плаво да би показао предвиђену кишу..
Прво, морамо добити АПИ приступни кључ за Веатхер Ундергроунд. За личну употребу и мале развојне пројекте АПИ је бесплатан. Посетите страницу за пријављивање АПИ-ја времена и пријавите се за АПИ кључ.
Када добијете АПИ кључ, посетите Веатхер Ундергроунд и потражите град који желите да надгледате. У нашем случају пратит ћемо Сан Франсисцо, ЦА. УРЛ адреса за прогнозу Сан Францисца је:
хттп://ввв.вундергроунд.цом/УС/ЦА/Сан_Францисцо.хтмл
Важан део за наше потребе је последњи део УРЛ-а: /ЦА/Сан_Францисцо.хтмл. Користићемо то за уређивање УРЛ-а предвиђања за АПИ алатку. Основни УРЛ је:
хттп://апи.вундергроунд.цом/апи/ИОУР АПИ КЕИ / прогноза / к / СТАТЕ / ЦИТИ.јсон
Можете да генеришете прогнозу за било који град у САД-у уносом АПИ кључа, шифром државе са два слова и називом града из УРЛ-а који сте извукли из резултата претраге за време у подземљу.
Једном када имате АПИ УРЛ са АПИ кључем и уметнутим стањем / градом, онда можете уредити следећи Питхон скрипт тако што ћете креирати нови текстуални документ на Пи помоћу Леафпад-а и уметнути следећи код у њега:
фром урллиб2 импорт урлопен
импорт јсон
рек = урлопен ('хттп://апи.вундергроунд.цом/апи/ИОУР АПИ КЕИ / прогноза / к / СТАТЕ / ЦИТИ.јсон')
парсед_јсон = јсон.лоад (рек)
поп = инт (парсед_јсон ['форецаст'] ['ткт_форецаст'] ['прогноза'] [0] ['поп'])# Следеће је дебуггинг вредност.
# Измените хеш и промените
# цео број до 0-100 за тестирање
# ЛЕД одговор.# поп = 0
принт 'Тренутна шанса за падавине је .' формат (поп)
Подразумевана поставка је да укључите ЛЕД
# за сваку шансу кише изнад 20%. Можете подесити
# вредност у "иф поп> 20:" како желите.
ако је поп> 20:
ЛедБорг = отвори ('/ дев / ледборг', 'в')
ЛедБорг.врите ('002')
дел ЛедБорг
принт ('Киша!')
друго:
ЛедБорг = отвори ('/ дев / ледборг', 'в')
ЛедБорг.врите ('000')
дел ЛедБорг
принт ('Нема кише!')
Сачувајте датотеку као вундергроунд.пи у директоријуму / хоме / пи /. Отворите терминал и откуцајте следећу команду:
питхон вундергроунд.пи
Ако сте правилно унели свој АПИ кључ и кодове државе / града, требало би да вратите одговор који изгледа као:
Ако се предвиђа падавина за вашу област, ваш ЛедБорг излаз треба да изгледа овако:
Сада чекајући кишни дан да би исправно тестирали скрипту било би заморно. Ако нема шансе за кишу у вашој области данас и желите да се ЛЕД лампица упали, уредите скрипту вундергроунд.пи и замените вредност "поп = поп" пасстхроугх у линију 13 са вредношћу већом од 20 као што је 60 да се наша прогноза вратила. Само запамтите да промените линију назад у “поп = поп” када завршите.
Последњи корак је да подесите црон посао да аутоматски покрене скрипту коју смо управо сачували у регуларном интервалу како би ЛЕД индикатор био актуелан. Пошто је овај задатак неопходан и за овај скрипт и за индикатор е-поште који следи, покрићемо постављање црон посла након што вам покажемо како да подесите други скрипт.
Конфигурирање вашег ЛедБорг-а као Гмаил индикатора
Ко не воли допамин поправак који долази с гледањем нове е-поште у инбок? У овом делу туторијала показаћемо вам како да користите ЛедБорг као нови Гмаил индикатор. Баш као и прошли пут, комбиноваћемо спољни улаз (у овом случају Атом феед уместо АПИ-ја) и једноставан скрипт за погон наше ЛЕД.
Потребно је мало проширити функционалност наше Питхон инсталације инсталирањем ФеедПарсер-а, Питхон РСС / Атом алата за читање. Отворите терминал и унесите следећу команду:
судо еаси_инсталл феедпарсер
Када се инсталација заврши, можемо да поставимо да радимо на нашем скрипту за проверу Гмаил-а. Поново, користећи Леафпад, залијепите сљедећи текст у едитор. Промените корисничко име и лозинку како би одговарали корисничком имену и лозинци Гмаил налога који желите да проверите.
импорт феедпарсер
# Унесите корисничко име за Гмаил
# и лозинку. Не укључуј
# део @ гмаил.цом
# твоје корисничко име.
усернаме = "усернаме"
пассворд = "пассворд"
маил = инт (феедпарсер.парсе ("хттпс: //" + корисничко име + ":" + лозинка + "@ маил.гоогле.цом/гмаил/феед/атом")["едед"]["фуллцоунт"])
# Следеће је дебуггинг вредност.
# Измените хеш и промените
# цео број до 0 или 1 за тестирање
# ЛЕД одговор.# маил = 0
иф маил> 0:
ЛедБорг = отвори ('/ дев / ледборг', 'в')
ЛедБорг.врите ('020')
дел ЛедБорг
принт ('Маил!')
друго:
ЛедБорг = отвори ('/ дев / ледборг', 'в')
ЛедБорг.врите ('000')
дел ЛедБорг
принт ('Нема поште!')
Сачувајте скрипту као гмаилцхецк.пи. Отворите терминал и унесите следећу команду:
питхон гмаилцхецк.пи
Ако имате е-пошту која се налази у вашем Гмаил пријемном сандучету, ЛЕД ће постати зелена и добићете одговор као што је:
Ако имате пошту у Гмаил пријемном сандучету, ЛедБорг ће изгледати тако:
Баш као и скрипт за проверу кише, укључили смо вредност дебугинга. Ако немате никакву нову е-пошту, могли бисте или послати себи поруку е-поште да бисте подигли број пристигле поште на 1 или бисте могли да уредите хашиш коментар и промените линију за отклањање грешака на "маил = 1" да бисте тестирали скрипту. Не заборавите да вратите линију када завршите тестирање.
Уђите у следећи одељак упутства да бисте подесили да се Гмаил скрипта покреће по распореду.
Постављање Црон задатка за покретање скрипте
Сада када имамо две скрипте са којима треба да се играмо, морамо да подесимо црон посао како бисмо их покренули током дана да би ЛЕД индикатор био актуелан..
Прва ствар коју желимо да урадимо је да искључимо ЛЕД ако је тренутно укључен из наших претходних експеримената. На типу терминала:
ецхо “000”> / дев / ледборг
Док сте још у командној линији, можете отворити црон едитор. Ако никада раније нисте поставили црон посао, препоручујемо вам да проверите наш водич да га користите овде. С тим у вези, провест ћемо вас кроз постављање основног распореда овдје.
На типу терминала:
судо цронтаб -е
Ово ће отворити Распбиан црон табелу у Нано уређивачу текста. Користите тастере са стрелицама да бисте се померали до самог дна. Овде ћемо да подесимо понављајући црон посао за наше Питхон скрипте.
Ако желите да подесите скрипту за кишу, унесите следећу линију у крон табелу:
* / 5 * * * * питхон /хоме/пи/вундергроунд.пи
Притисните ЦТРЛ + Кс да бисте изашли; изаберите иес да бисте сачували и преписали постојећу црон табелу. Вредност коју смо унели у крон табели "* / 5 * * * *" поставља скрипту да ради сваких 5 минута, заувек.
Сваких 5 минута је фини временски период за скрипту која проверава прогнозирану кишу - могли бисте чак тврдити да је мало превише агресивна - али ако покушавате да задржите на врху своје е-поруке, то је мало предугачко за обавештење . Ако подешавате распоред за Гмаил обавештење, унесите следећу линију у крон табели:
* / 1 * * * * питхон /хоме/пи/вундергроунд.пи
Овај унос покреће скрипту гмаилцхецк.пи сваког минута за много брже обавештење о ажурирању.
То је све! Можете експериментисати са сопственим Питхон скриптама тако што ћете подићи иф / елсе изјаве из наших и испробати их са новим променљивим. Ако можете наћи улазни извор за податке, можете га претворити у варијаблу у Вашем Питхон скриптном берзанском просјеку, бројевима пелуди, Твиттер спомиње, ако постоји АПИ за то можете претворити у амбијентални ЛЕД индикатор.
На крају, желим да захвалим свим великим ресурсима које сам користио за рад на овом пројекту. Прошло је нешто више од једне деценије откад сам активно писао програме и требало је неколико удараца да се прашина и рђа избаце. Учесници у / р / ЛеарнПитхон су ми помогли да се забавим у АПИ излазу за Веатхер Ундергроунд, проучавајући како се Мицхаел у Митцх Тецх-у бавио Гмаил Атом феедом и направио парсирање за ЛедБорг лако, а проучавање Питхон модула за учење на Цоде Ацадеми је било одличан начин да се покупи основна синтакса и структура језика који никада раније нисам користио.