Реклама
Прије смо разговарали о релативним заслугама Ардуино-а и Распберри Пи-а - сваки од њих има своје предности. Ипак не треба да буду ни један ни други избор - комбинујте их да бисте најбоље искористили оба света. Кућна аутоматизација је савршен кандидат за то. Тржиште кућне аутоматизације преплављено је скупим потрошачким системима, некомпатибилним једни са другима и скупим за инсталацију. Ако имате Распберри Пи Распберри Пи: Незванични водичБез обзира да ли сте тренутни власник Пи-а који жели да сазна више или потенцијални власник овог уређаја величине картице, ово није водич који желите да пропустите. Опширније и Ардуино, у основи можете постићи исту ствар по делићу цене, под претпоставком да сте спремни да уложите време и труд.
Ажурирање: Откад је овај чланак написан, открио сам ОпенХАБ, бесплатну и опен соурце платформу за кућну аутоматизацију који ради на Распберри Пи и може бити интегрисан са огромним спектром комплетног комплетног паметног кућног комплета Ардуино. Погледајте видеозапис у наставку за врхунац снега, а затим крените ка нашем Први кораци са ОпенХАБ-ом на Распберри Пи Први кораци са ОпенХАБ кућном аутоматизацијом на Распберри Пи-уОпенХАБ је зрела платформа за кућну аутоматизацију отвореног кода која ради на различитим хардверима и јесте протокол агностички, што значи да се може повезати са готово свим хардвером за кућну аутоматизацију на тржишту данас. Опширније Водич за учење више.
Хеимцонтрол.јс је апликација Ноде.јс направљена да ради на Распберри Пи. У комбинацији са Ардуино и неким даљинским управљачима, контрола АЦ уређаја је једноставна. Можете додати сензоре температуре, па чак и контролисати свој телевизор - али ми ћемо данас бити основни и проширити пројекат у каснијем упутству.
Ево делића пројекта:
- Распберри Пи ће служити као мозак и гатеваи операција - покренуће Ноде апликацију, повезану са Монго базом података и послужиће фронт-енд интерфејс за било који веб прегледач.
- Ардуино, напајан из Пи-ја, засад ће се повезивати између склопке за напајање електроником и радио-управљањем.
Да бисте то учинили, требаће вам:
- Ардуино и малина Пи
- Неке даљински управљачке утичнице и контролер (користила сам ове)
- Покреће се УСБ чвориште
Пре него што започнемо, ево демо видеа самог творца пројекта.
Почни поново
Користићемо Распиан за овај пројекат 11 Оперативни системи који раде на вашем Распберри ПиБез обзира на ваш пројекат Распберри Пи, за то постоји оперативни систем. Ми вам помажемо да пронађете најбоље Распберри Пи ОС за ваше потребе. Опширније , и топло бих препоручио да кренете од нове инсталације ако сте претходно извели друге хакере и слично. Преузмите најновије Распианска слика, копирајте је на СД картицу и обавезно проширите датотечни систем и омогућите ССХ. Остатак овог водича претпоставља да сте то учинили и повезујете се преко ССХ-а користећи подразумеваног корисника.
Ако то још нисте учинили, овај видео објашњава поступак припреме ваше СД картице у ОС Кс:
И овај за Виндовс кориснике:
Припрема
Процес инсталације је прилично напоран и произилази из упутства овде. Нажалост, они су били застарели или нису дизајнирани за Распијан, па сам их знатно прилагодио у наставку. Доље наведени кодови се углавном могу залепити у блокове - не морате их залепити један по један. Будући да састављамо неколико ствари на самом Пи-у, будите упозорени да ће цео овај процес трајати дуго. Рекао бих да си направите шољу чаја - али кад кажем „дуго времена“, мислим на најбољи део дана - па би 178 шољица било погодније.
Све команде требају бити унете у Терминал, а можда ћете морати да притиснете Ентер у неким тренуцима. Ових првих неколико команди ће ажурирати систем и инсталирати предуслове:
судо апт-гет упдате надоградити судо апт-гет надоградњу. судо апт-гет инсталл гит-цоре гит сцонс буилд-басиц сцонс либпцре ++ - дев кулруннер-дев либбоост-дев либбоост-програм-оптионс-дев либбоост-тхреад-дев либбоост-филесистем-дев.
Затим морамо инсталирати Ноде:
судо мкдир / опт / чвор. вгет http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz. тар квзф ноде-в0.10.2-линук-арм-пи.тар.гз. судо цп -р ноде-в0.10.2-линук-арм-пи / * / опт / ноде. судо лн -с / опт / ноде / бин / ноде / уср / лоцал / бин / ноде. судо лн -с / опт / ноде / бин / нпм / уср / лоцал / бин / нпм.
Додајте променљиву ПАТХ у свој профил тако да ОС зна где се чвор налази. Користите нано едитор текста на следећи начин:
судо нано / етц / профиле.
Пронађите линију која каже извоз ПАТХ и замените га са:
НОДЕ_ЈС_ХОМЕ = "/ опт / чвор" ПАТХ = "$ ПАТХ: $ НОДЕ_ЈС_ХОМЕ / канта" извоз ПАТХ.
Притисните Цтрл-Кс да бисте изашли, а И да бисте је сачували.
Можда ћете морати да се одјавите и поново пријавите да би промене пута ступиле на снагу, али можете да тестирате помоћу команде:
који чвор.
Ако немате излаз који упућује на бинарни чвор, нешто је пошло по злу.
Монго
Следећи посао је инсталација Монго. Монго је Но-СКЛ база података која се заснива на документима и коју веб апликације све више користе. На жалост, ово ће трајати заувек за инсталацију као што морамо да је саставимо. Док изводите следеће команде, добићете пуно грешака као што су:
{стандардни улаз}: 13085: Упозорење: свп {б} употреба је застарјела за ову архитектуру.
Не брини због тога. Дакле, покрените ове наредбе да инсталирате Монго:
гит цлоне гит: //гитхуб.цом/РицкП/монгопи.гит. ЦД монгопи. сцонс. судо сцонс --префик = / опт / монго инсталл сцонс -ц.
Када је то завршено, прво треба мало подешавање да бисмо исправили проблеме са дозволама и били сигурни да се покреће при покретању.
судо усерадд монгодб. судо мкдир / дата / дбб. судо цховн $ УСЕР / подаци / дб. цд /етц/инит.д. судо вгет -О монгодб https://gist.github.com/ni-c/fd4df404bda6e87fb718/raw/36d45897cd943fbd6d071c096eb4b71b37d0fcbb/mongodb.sh. судо цхмод + к монгодб. судо упдате-рц.д задане поставке монгодб. монгод
Ова последња команда ће покренути Монго сервер и мораћете да отворите нови терминал да бисте наставили са осталим командама. Нисам у потпуности сигуран у овај корак, тако да ако неко може то исправити у коментарима о томе како да се монгод аутоматски покрене при покретању, било би нам драго. За сада то функционише, само не елегантно.
судо схутдовн -р сада
Коначно је време да се инсталира апликација Хеимцонтрол.јс Ноде.
цд ~ пи. гит цлоне гит: //гитхуб.цом/ни-ц/хеимцонтрол.јс.гит. цд хеимцонтрол.јс. нпм инсталл.
Апликацију можете започети са уносом
чвор хеимцонтрол.јс.
У овом тренутку би требали бити у могућности да приступите контролном сучељу са http://localhost: 8080 из Пи-ја или замените лоцалхост ИП адресом ако му приступате са другог рачунара (а можете и подесите прослеђивање порта Шта је просљеђивање портова и како ми може помоћи? [МакеУсеОф објашњава]Да ли плачете мало унутра кад вам неко каже да постоји проблем са просљеђивањем порта и да зато ваша сјајна нова апликација неће радити? Ксбок вам неће дозволити играње игрица, преузимања торрента одбијају ... Опширније да му приступите са било којег места на свету), па бих вас охрабривао да покуцате и проверите да ли све ради са базом података пре него што приложите Ардуино.
Хардвер
На крају бих волео жичани релеј, али за сада ћу користити сигурнију опцију радио-управљаних прекидача.
Користио сам неколико јефтиних комплета од Маплин-а од 20 фунти који долазе са 3 утичнице и отворио даљински управљач како бих могао директно да интерферирам са 433 МХз чипом изнутра. Нашао сам упутства за то овде.
Такође можете да купите појединачне предајнике 433 МХз који су спремни за употребу на еБаи-у или од добављача хоби електронике. Све што требате је да спојите ВЦЦ на 5 В на Ардуино, ГНД-ове и један контролни пин - запамтите који сте користили. (Шема: Вилли Тхиел)
Додатак функционише слањем „тристате кодова“, али они ће се разликовати од произвођача. Односи се РЦСвитцх документација да пронађете своје тачне кодове. Ово вики водич може такође помоћи.
Комуникација са Ардуином остварује се помоћу библиотеке Ноде која се зове дуино. Зауставите апликацију Хеимцонтрол ако се покреће и инсталирајте Ардуино мост следећом наредбом.
нпм инсталирајте дуино.
Ардуино мора да има овај код је отпремљен - Предлажем да копирате и залепите за инсталацију са другог рачунара. То је у суштини програм за слушаоце који реагује на серијске команде из Пи-ја, али не може вас спречити да га проширите сопственим функцијама.
Када је веб апликација покренута, идите на Подешавања мени> Ардуино.
Одатле можете додати нову ставку одабиром РЦСвитцх методе, пин вашег предајника и тристате адресе. Не заборавите да сачувате, а затим се вратите на главни екран за ново дугме.
Грешке:
Након више сати уклањања грешке кода, открио сам да једноцифрени бројеви пин нису радили - проверите да ли је ваш предајник постављен на пин 10 да будемо сигурни.
Открио сам и да је Ардуино додатак тврдо кодиран са погрешним завршним битовима за тристате кодове који су ми потребни. Прво објашњење: тристат кодови се састоје од 3 бајта информација. Први нам одређује мрежни број (1-4), а други пружа адресу примопредајника (опет, 1-4, производећи максимално 16 адресабилних утичница). Коначни бајт састоји се од два бита паддинг-а, плус 2 бита за укључивање / искључивање. Нажалост, коначни бајт је тврдо кодиран у Ардуино додатак - а у мом случају код за укључивање / искључивање био је нетачан.
Морао сам ручно да уредим плугинс / ардуино / индек.јс да користите исправне кодове. Ако користите исте утичнице за даљински управљач као и ја, промените линије 80 на следеће:
// Пошаљите РЦ код. иф (итем.валуе) {врати тај.пинс [итем.пин] .триСтате (итем.цоде + "ФФФФ"); // промени из ФФ0Ф. } елсе {врати тај.пинс [итем.пин] .триСтате (итем.цоде + "ФФФ0"); // промени из ФФ00. }
Ево демо видеа о свему што ради:
Оставићу га овде у овом тренутку, али очитавање сензора и ИЦ даљински јесу такође подржани. Вероватно ћу их поново прегледати касније са још неким побољшањима. Ако вам је све ово било превише сложено, погледајте ове почетнички Ардуино пројекти прилагођени почетницима 15 сјајних Ардуино пројеката за почетникеЗаинтересовани за Ардуино пројекте, али нисте сигурни где да запоцнем? Ови почетнички пројекти ће вас научити како започети. Опширније .
Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.