Реклама
Бесплатно не значи увек „није добро као плаћено“, а ОпенХАБ није изузетак. Софтвер за кућну аутоматизацију отвореног кода далеко превазилази могућности било којег другог система кућне аутоматизације на тржишту - али то није лако поставити. У ствари, то може бити фрустрирајуће.
У првом делу водича, прошао сам вас кроз вас инсталирање ОпенХАБ-а на Распберри Пи Први кораци са ОпенХАБ кућном аутоматизацијом на Распберри Пи-уОпенХАБ је зрела платформа за кућну аутоматизацију отвореног кода која ради на различитим хардверима и јесте протокол агностички, што значи да се може повезати са готово свим хардвером за кућну аутоматизацију на тржишту данас. Опширније , представили су основне концепте ОпенХАБ-а и показали вам како да додате своје прве ставке у систем. Данас ћемо ићи даље:
- Додавање ЗВаве уређаја
- Додавање Хармони Ултимате контролера
- Увођење правила
- Представљамо МКТТ и инсталирате МКТТ брокер на ваш Пи, са сензорима на Ардуино-у
- Снимање података и графиковање
Увод у З-талас
З-Ваве је већ годинама доминантан протокол аутоматизације дома: поуздан је, широко развијен и ради у много већем распону од било којег другог производа за паметну кућу. На располагању вам је на стотине З-Ваве сензора који обављају широк спектар задатака. ОпенХАБ моћи радите са З-Ваве-ом, али постављање проблема, а поузданост није загарантована.
Ако размишљате о куповини куће пуне З-Ваве сензора намењених посебно ОпенХАБ-у, молим вас да поново размислите. Можда ће вам успети или можда трпе мале, али трајне проблеме. Барем, не купујте кућу пуну сензора док не будете имали прилику да их испробате. Једини разлог да одаберете З-Ваве је ако нисте 100% насељени на ОпенХАБ-у и желите да у будућности оставите отворене своје могућности: З-Ваве на пример ради са Самсунг СмартТхингс Који је паметни центар за кућну аутоматизацију најбољи за вас?Једно време су људи замишљали ту идеју само као трикове, али недавна издања производа показала су да аутоматизација паметних кућа почиње да испуњава своја обећања. Опширније чвориште, као и концентратори на З-Ваве-у као што је Хомесеер и низ других софтверских опција као што су Домотицз.
Иако ОпенХАБ укључује везивање З-Ваве, то и даље морате прво подесите З-Ваве мрежу, пре него што ОпенХАБ може да га затражи за податке. Ако имате плочу контролера Расберри, имате неки софтвер за конфигурацију мреже, тако да то овде нећемо покривати. Ако сте купили Аеотец УСБ З-Стицк контролер или слично, вероватно немате ниједан софтвер укључен, па читајте даље.
Аеотец З-Стицк Ген5, З-Ваве Плус УСБ за креирање гатеваи-аАеотец З-Стицк Ген5, З-Ваве Плус УСБ за креирање гатеваи-а Купи одмах на Амазону $44.95
Ако већ имате подешавање З-Ваве мреже, можете само да повежете контролер у Пи и започнете конфигурисање веза и ставки. Ако вам је ово прво налетање у З-Ваве, то је мало сложеније.
Прво, на хардверској страни: сваки контролер има свој начин упаривања с уређајима (технички познат као „начин укључивања“ у коме је додељен ИД чвора). У случају Аотец З-Стицк-а то значи да ћете га искључити из УСБ порта и једном притиснути тастер да га пребаците у режим укључивања. Затим га приближите уређају који упарујете, а затим на њему притисните и дугме за укључивање (ово ће такође варирати: моја Еверспринг утичница захтева да се тастер брзо притисне три пута, тако да је овде лекција читање упутства за ваш уређај).
З-Стицк накратко трепери како би указао на успех. Ово представља проблеме када га поново прикључите у Пи, јер је додељен нови порт. Поново покрените Пи да бисте га вратили на стандардни порт ако утврдите да је динамички доделио други. Још боље: немојте га укључивати у Пи све док прво не извршите све хардверске парове.
Инсталирање ХАБмин и З-Ваве веза
Будући да ОпенХАБ заправо није услужни програм за конфигурацију за З-Ваве, инсталираћемо још један алат за управљање вебима који - нешто што се зове ХАБмин. Идите до ХАБмин Гитхуб репозиториј преузми тренутно издање. Једном када га распакирате, пронаћи ћете 2 .јар датотеке у директоријуму аддонс - оне би требале бити смештене у одговарајућем директоријуму додатака у вашој ОпенХАБ Хоме дељеној датотеци (ако такође користите Аотец ген5 З-Стицк, проверите да ли имате барем верзију 1.8 везе З-Ваве).
Затим креирајте нову фасциклу у вебаппс директоријуму и називајте је „хабмин“ (мала слова су важна). Копирајте остатак преузетих датотека тамо.
Напомена: Постоји такође а ХАБмин 2 под активним развојем. Инсталација је скоро иста, али са једним додатним .јар додатком. Можда би било вредно покушати и једно и друго само да бисте видели које више волите.
Ако већ нисте, укључите контролер у свој Пи. Унесите следеће да бисте пронашли исправни порт.
лс / дев / тти *
Тражите било шта са УСБ-ом у имену, или у мом конкретном случају, З-стицк се представио као /dev/ttyACM0 (модем). Можда ће бити лакше извршити наредбу једном пре него што је прикључите, и након тога, тако да можете видети шта се мења ако нисте сигурни.
Отворите ОпенХАБ конфигурациону датотеку и модификујте одељак на З-Ваве, коментирајући обе линије и додајући стварну адресу уређаја. Коначни корак за мене је био да омогућим ОпенХАБ кориснику приступ модему.
судо усермод -а -Г диалоут опенхаб
Да бисте покренули све, поново покрените ОпенХАБ
поновно покретање судо сервиса опенхаб
Надамо се да ако проверите дневник грешака, видјет ћете нешто попут овог. Честитамо, сада причате З-Ваве. Дневник грешке преплављен је порукама из различитих З-Ваве чворова. Започнимо провјером ХАБМИН-а да видимо шта је пронађено: http://openhab.local: 8080 / хабмин / индек.хтмл (замењујући опенхаб.лоцал вашим именом хоста Распберри Пи или ИП адресом).
Много тога можемо видјети у ХАБМИН-у, али то се нас тиче Конфигурација -> Везови -> З-талас -> Уређаји као што можете видети доле. Проширите чвор да бисте изменили локацију и налепницу са именом ради лакшег сналажења.
Конфигурирање З-Ваве ставки
Сваки З-Ваве уређај има специфичну конфигурацију за ОпенХАБ. Срећом, већина уређаја је већ истражена и ту ће већ бити примера за ваше. Конфигурирање прилагођених уређаја који нису препознати далеко је изван опсега овог водича, али претпоставимо да је за сада подржан.
Прво, имам основни прекидач и мерач напајања Еверспринг АН158 на чвору 3. Брзо гооглење довело ме до поста на блогу на Ветва.ре, са конфигурацијом узорка. Прилагодио сам ово на следећи начин:
Пребаците Дехумидифиер_Свитцх "Дехумидифиер" {зваве = "3: наредба = свитцх_бинари"} Број Дехумидифиер_Ваттс "Потрошња електричне енергије одвлаживача [% .1ф В]" {зваве = "3: наредба = метар"}
Савршен.
Следи Аеотец Ген5 мулти-сензор.
Аеон Лабс Аеотец Мулти-сензор З-Ваве Ген5 (З-Ваве Плус)Аеон Лабс Аеотец Мулти-сензор З-Ваве Ген5 (З-Ваве Плус) Купи одмах на Амазону $69.27
За овај сам пронашао пример конфигурације на ивасдот.цом, а мој мултисензор је на чвору 2.
Број Халлваи_Температуре "Температура ходника [% .1ф ° Ц]" (ходник, температура) {зваве = "2: 0: наредба = сензор_мултилевел, сензор_тип = 1, сензор_сцале = 0"} Број ходника_ влажност "Влажност ходника [% .0ф %%]" (ходник, влажност) {зваве = "2: 0: наредба = сензор_мултилевел, сензор_тип = 5"} Број Халлваи_Луминанце "Светлост ходника [% .0ф Лук]" (Ходник) {зваве = "2: 0: наредба = сензор_мултилевел, сензор_тип = 3"} Контактирајте Халлваи_Мотион "Халлваи Мотион [% с]" (Халлваи, Мотион) {зваве = "2: 0: наредба = сензор_бинарни, одговори_то_басиц = тачно"} Број сензора_1_батерија "Батерија [% с %%]" (кретање) {зваве = "2: 0: наредба = батерија"}
Ако вам формат овог изгледа чудно, вратите се на први водич за почетнике Први кораци са ОпенХАБ кућном аутоматизацијом на Распберри Пи-уОпенХАБ је зрела платформа за кућну аутоматизацију отвореног кода која ради на различитим хардверима и јесте протокол агностички, што значи да се може повезати са готово свим хардвером за кућну аутоматизацију на тржишту данас. Опширније , тачније одељак за везивање нијанси, где објашњавам како се додају ставке. Вероватно ћете икада требати копирати такве примере пасте, али у случају да имате нови уређај, обавезујућа документација садржи детаље о свим команде.
Повезивање Логитецх Хармони
Пре него што пређемо на правила, желео сам да напишем кратку белешку о раду са везивањем Хармоније. Велики сам обожаватељ Хармони серија врхунских даљинских управљача Логитецх Хармони Ултимате преглед и издавањеУ вашој дневној соби је хаос - признајте. Опроштено вам је што се питате који даљински управљач који уређај. Што са ТВ-ом, појачалом, ТиВО-ом, БлуРаи плејером, можда чак и активностима пребацивања осветљења постаје дуго ... Опширније да поједноставе искуство кућног медијског центра, али они често стоје као посебан систем унутар паметне куће. Са ОпенХАБ активностима Логитецх Хармони и потпуном контролом уређаја сада могу бити део вашег централизованог система, па чак и укључени у правила аутоматизације.
Започните инсталацијом три обавезујуће датотеке које пронађете помоћу апт-цацхе-а да бисте пронашли „хармонију“:
Не заборавите цховн директоријум повезивања поново када завршите:
судо апт-гет инсталл опенхаб-аддон-ацтион-хармонихуб. судо апт-гет инсталл опенхаб-аддон -индинг-хармхуб. судо апт-гет инсталл опенхаб-аддон-ио-хармонихуб. судо цховн -хР опенхаб: опенхаб / уср / схаре / опенхаб
Да бисте конфигурисали везу, отворите датотеку опенхаб.цфг и додајте нови одељак на следећи начин:
########## ХАРМОНИ РЕМОТЕ ЦОНТРОЛС ########### хармонхуб: хост = 192.168.1.181или ваш ип хармонихуб: корисничко име =своју пријаву за хармонију е-поште хармонхуб: лозинка =Ваша лозинка
ИП адреса је вашег центра Хармони. Употријебите мрежни скенер да бисте то сазнали. Такође ћете морати да унесете своје податке за пријаву, оне које уносите када покренете стандардни услужни програм Хармони цонфиг. То је то. Након поновног покретања вашег Хуе, ваш дневник грешака требало би да има нагли скок излаза из везања.
Ово је ЈСОН-ова листа свих ваших активности, уређаја и наредби које се могу послати. Добро је копирати ово за будућу употребу. можете још олакшати читање са склопивим чворовима налепљивањем у интернетски ЈСОН форматтер као што је овај.
Као и стандардна ПоверОфф активност која је подразумевана, овде ћете наћи своје дефинисане активности наведене по имену. Сада ћемо створити једноставну контролу једним дугметом да бисте започели активности. Прво, у датотеку са ставкама додајте следећи ред. Ако желите, промените групу и икону.
/ * Хармони Хуб * / Стринг Хармони_Ацтивити "Хармони [% с]"(Ливинг_Роом) {хармонихуб = "* [тренутна активност]"}
Ово је двосмерно стринг везање, која може и дохватити тренутну активност и наредити тренутној активности да буде нешто друго. Сада можемо да створимо дугме за то у датотеци ситемап-а.
Свитцх итем = Хармони_Ацтивити маппингс = [ПоверОфф = 'Офф', Екерцисе = 'Вјежба', 13858434 = 'ТВ', Караоке = 'Караоке']
У квадратном загради видећете сваку активност заједно са налепницом. Генерално, можете директно да се обратите активностима како сте их именовали на даљинском управљачу, али изузетак од овога што сам пронашао је било шта са размаком у називу активности, као што је „Гледајте ТВ“. У овом случају, требаће да користите ИД активности. Опет можете пронаћи ИД у излазу за уклањање грешака ЈСОН. Сачувајте и освежите интерфејс, требало би да видите нешто слично овоме:
Такође можете да се обратите активностима у својим правилима, као што ћемо видети следеће. Прочитајте вики страницу за више информација о Хармонија везивања.
Општи увод у правила
Већина чворишта за паметне куће укључују неку врсту стварања правила тако да можете аутоматски реаговати на податке сензора и догађаје у кући. Заправо, тврдим да истински паметан дом није онај на који требате проводити вријеме у интеракцији са мобилним апликацијама - он је невидљив крајњем кориснику и потпуно аутоматизован. У ту сврху ОпенХАБ такође укључује снажни скриптни језик правила који можете програмирати, што знатно прелази сложеност већине чворишта паметних кућа Баттле оф тхе Смарт Хоме Хубс: Шта је тамо и шта долази? Опширније или ИФТТТ рецепти ИФТТТ се сада повезује са било чим: представљањем канала за прављењеПотенцијалне употребе за ИФТТТ су бескрајне. Али до сада је било тешко повезати га са сопственим хардверским пројектима. Данас се то све променило. Опширније .
Правила програмирања звуче горе него што јесу. Почнимо једноставно са паром правила која укључују или искључују светло у зависности од сензора присутности:
правило „Светла у канцеларији када је Џејмс присутан“ када је ставка ЈамесИнОффице промењена из ОФФ у ОН. затим пошаљитеЦомманд (Оффице_Хуе, ОН) крајно правило „Угаси се канцеларијско светло када Џејмс оде“ када је ставка ЈамесИнОффице промењена из ОН у ОФФ. затим пошаљитеЦомманд (Оффице_Хуе, ОФФ) крај
Прво именујемо правило - будите описни, тако да знате који догађај активира. Затим дефинишемо наше једноставно правило речима када је к тачно, тада учините и. Крај означава затварање тог одређеног правила. Постоји неколико посебних речи које можете да користите у правилима, али за сада имамо посла са два једноставна бита синтаксе - Ставка, који вам омогућава да испитате стање нечега; и сендЦомманд, који ради управо оно што ви мислите да хоће. Рекао сам ти да је ово лако.
Вероватно је непотребно користити пар правила, али како моја логика постаје сложенија, било би корисно да их одвојим за то да ли сам улазак или излазак из подручја - и можда би било добро да негде у једначину додате сензор светлости како се не би непотребно укључивали светла.
Погледајмо још један пример креирања заказаног правила.
правило „Вежбајте сваког јутра“ када Времена крон "0 0 8 1/1 *? *" затим хармонијаСтартАцтивити ("Вежба") крај.
Опет, ми именујемо правило, стање услова када треба да пуца и кораке које треба предузети. Али у овом случају дефинишемо временски образац. Забавни код који видите у наводницима је ЦРОН израз за Куартз Сцхедулер (формат је мало другачији од уобичајеног ЦРОНтаб). користио сам цронмакер.цом да бисте помогли у стварању израза, али такође можете прочитати водич за формат [Нема више доступних] за детаљно објашњење и више примера.
Моја правила гласе једноставно „8 ујутро, сваког дана у недељи, реците свом систему Хармони Ултимате да започне вежбу“, који заузврат активира телевизор, Ксбок, појачало и притисне дугме А након минуту да покрене диск у драјв.
Нажалост, ОпенХАБ још увек не може да уради вежбу за мене.
Још једно правило које вам желим показати је нешто што користим за управљање нивоом влажности у свом дому. Имам један одвлаживач ваздуха којим се морам кретати где год је потребно, па сам одлучио да погледам све своје сензоре влажности, пронађем који је највиши, и спремим га у променљиву. Тренутно се активира сваког минута, али то се лако може спустити. Прво погледајте:
импорт орг.опенхаб.цоре.либрари.типес. * импорт орг.опенхаб.модел.сцрипт.ацтион. * импорт јава.ланг. Правило струне "Монитор Хумидити" када је временски крон "0 * * * *?" затим вар превХигх = 0 вар хигхХум = "" Влажност? .мемберс.форЕацх [хум | логДебуг ("влажност.рулес", хум.наме); иф (хум.стате ас ДецималТипе> превХигх) {превХигх = хум.стате хигхХум = хум.наме + ":" + хум.стате + "%"}] логДебуг ("влажност.рулес", хигхХум); постУпдате (Дехумидифиер_Неедед, хигхХум); крај.
Срж правила је у Влажност? линија Влажност је назив групе за моје сензоре влажности; .чланови хвата све предмете из те групе; за сваки понавља преко њих (са знатижељним форматом углатих заграда који вероватно нисте упознати). Синтакса правила је дериват Кстенда, тако да можете да прочитате Кстенд документација ако не можете да пронађете пример за прилагођавање.
Вероватно вам то неће требати - постоје стотине примера правила вани:
- Детаљно објашњење правила на званичном викију
- Тхе званична правила узорака вики страница
- Усвајање правила до нових висина
- Напредни узорци на ИнгениоусФоол.нет
МКТТ за ОпенХАБ и Интернет оф Тхингс
МКТТ је лаган систем за размену порука између машине и машине - својеврсни Твиттер за вас Ардуинос или Распберри Пис да разговарају једни с другима (мада то, наравно, делује и много више од свега оне). Брзо добија на популарности и проналази се дом са уређајима Интернета ствари, који су обично ниски ресурсни микроконтролери којима је потребан поуздан начин преноса података сензора на ваше чвориште или примања на даљину команде. Управо то ћемо радити с тим.
Али зашто измислити точак?
МК Телеметри Транспорт је изумљен још 1999. године за повезивање нафтовода путем спорог сателита везе, посебно дизајниране да минимизирају потрошњу батерије и ширину појаса, а истовремено нуде поуздану испорука података Током година принципи дизајна остали су исти, али случај примене прешао је са специјализованих уграђених система на опште уређаје Интернет оф Тхингс. У 2010. години протокол је објављен без накнаде, отворен за употребу и имплементацију за свакога. Волимо бесплатно.
Можда се питате зашто се уопће мучимо са још једним протоколом - већ имамо ХТТП - који може користи се за слање брзих порука између свих система повезаних на мрежи (као што су ОпенХАБ и ИФТТТ, посебно са новим канал за каву ИФТТТ се сада повезује са било чим: представљањем канала за прављењеПотенцијалне употребе за ИФТТТ су бескрајне. Али до сада је било тешко повезати га са сопственим хардверским пројектима. Данас се то све променило. Опширније ). И у праву си Међутим, надземни процеси ХТТП сервера су прилично велики - толико да их једноставно не можете покренути на ан уграђени микроконтролер попут Ардуино-а (бар можете, али нећете имати пуно меморије за било шта друго). МКТТ је, с друге стране, лаган, тако да слање порука широм ваше мреже неће зачепити цеви и може се лако уклопити у наш мали Ардуино простор за меморију.
Како функционише МКТТ?
МКТТ захтева и сервер (који се назива „брокер“) и једног или више клијената. Сервер делује као посредник, примајући поруке и поново их шаљу заинтересованим клијентима.
Наставимо са Твиттер-за-машине аналогија ипак. Баш као што корисници Твиттера могу твитовати своје бесмислене 140 карактера, тако и корисници могу да „прате“ друге кориснике да би видели култивирани ток постова, МКТТ клијенти могу се претплатити на одређени канал да би од њега примили све поруке, као и да би на то објавили своје поруке канал. Овај образац за објављивање и претплату назива се пуб / суб, за разлику од традиције клијент / сервер модел ХТТП-а.
ХТТП захтева да посегнете за машином са којом комуницирате, рецимо Поздрав, а затим непрестано признавајте док примате или стављате податке. Помоћу пуб / суб-а, клијент који објављује не мора да зна који су клијенти претплаћени: он само испумпава поруке, а брокер их дистрибуира свим клијентима. Сваки клијент може и објављивати и претплатити се на теме, баш као и корисник Твиттера.
За разлику од Твиттера, МКТТ није ограничен на 140 знакова. То је агностик података, тако да можете да пошаљете мале бројеве или велике текстуалне блокове, датаграме у формату ЈСОН, или чак слике и бинарне датотеке.
Није да је МКТТ бољи од ХТТП-а за све - него то је погодније ако ћемо имати пуно сензора по кући, стално пријављивати.
Такође је важно знати да ОпенХАБ неће деловати као ваш МКТТ брокер - на то ћемо се обратити касније. Међутим, ОпенХАБ ће се понашати као клијент: може и објавити свој ОпенХАБ дневник активности, као и посебно везати канала до уређаја, тако да на примјер можете имати преклопник који се контролише МКТТ порукама канал. Ово је идеално за стварање куће пуне сензора.
Инсталирајте Москуитто на свој Пи
Иако ОпенХАБ укључује МКТТ клијент тако да се можете претплатити на тему и објавити поруке, неће се понашати као сервер. За то је потребно да користите мрежни МКТТ брокер (плаћени или бесплатни) или инсталирате бесплатни софтвер на Пи. Желио бих да све то остане у кући, па сам инсталирао Москуитто на Пи.
Нажалост, верзија доступна преко уобичајеног апт-гет-а је потпуно застарела. Уместо тога, додајмо најновије изворе.
вгет http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key. судо апт-кеи додати москуитто-репо.гпг.кеи. цд /етц/апт/соурцес.лист.д/ судо вгет http://repo.mosquitto.org/debian/mosquitto-wheezy.list. судо апт-гет инсталл комарце.
То је све што треба да урадимо како би се МКТТ сервер покренуо и покренуо у локалној мрежи. Ваш брокер је подразумевано покренут на порта 1883.
Проверите да ли ваш МКТТ послужитељ користи бесплатни МКТТ.фк, који је цросс-платформски. Кликните на икону поставки да бисте креирали нови профил и унесите ИП адресу или име вашег Распберри Пи. Сачувајте и притисните повезивање. Ако мало семафор у горњем десном углу постану зелено, добро је да кренете.
За брзи тест, кликните на картицу "претплати се" и откуцајте инТопиц / у текстуално поље, а затим притисните тастер претплатити се дугме. Сада сте претплаћени на примање порука о теми која се зове инТопиц, мада ће се приказивати 0 порука. Вратите се на картицу за објављивање, у мали оквир унесите инТопиц, а кратку поруку у велико текстно поље испод. Хит Објавите неколико пута и осврните се на картици за претплату. Требали бисте видети неколико порука које су се појавиле у тој теми.
Пре него што у нашу мрежу додамо неке стварне сензоре, морамо сазнати нивое тема који нам омогућавају да структуирамо и филтрирамо МКТТ мрежу. Имена тема разликују велика и мала слова, не би требало да почињу са $ или не садрже размаке или знакове који нису АСЦИИ - стандардне програмске праксе за имена променљивих.
/ Сепаратор означава ниво теме, који је хијерархијски, на пример, следећи су сви валидни нивои тема.
инТопиц / смаллСубдивисион / евенСмаллерСубдивисион. миХоме / ливингРоом / температура. миХоме / ливингРоом / влага. мој дом / кухиња / температура. мој дом / кухиња / влага
Већ би требало да видите како је ова дрвећа структура савршена за паметни дом пун сензора и уређаја. Најбоља пракса за употребу са више сензора у једној просторији је објављивање сваке променљиве сензора као сопствене разине теме - разграничавањем до више специфичности (као у горњим примерима) - уместо да покушавате да објавите више типова сензора на истом канал.
Клијенти могу затим објавити или се претплатити на било који број појединачних нивоа тема или користити неке посебне знакове за замишљање да би се филтрирали од више горе у дрвету.
Подразредница + замењује било који ниво теме. На пример:
миХоме / + / температура
би претплатили клијента на обоје
миХоме / ливингРоом / температура. мој дом / кухиња / температура
… Али не и ниво влажности.
# Је знак с више нивоа, тако да можете преузети било шта из арматуре сензора ЛивингРоом помоћу:
миХоме / ливингРоом / #
Технички се можете претплатити и на коријенски ниво # за који вам се апсолутно све догађа пролазећи посредника, али то може бити попут забијања ватрогасног црева у лице: мало неодољив Покушајте да се повежете са јавним МКТТ брокер из ХивеМК и претплатите се на #. Добио сам око 300 порука у неколико секунди пре него што се мој клијент само срушио.
Савет за почетнике МКТТ: „/myHome/” је другачија тема за „мој дом/" - укључујући цртање на почетку ствара празан ниво теме, који се, иако је технички валидан, не препоручује јер може бити збуњујући.
Сада када знамо теорију, хајдемо са Ардуино, Етхернет штитом и ДХТ11 сензором температуре и влаге - вероватно га имате у свом стартном комплету, али ако не, само замените еколошки сензор за сензор кретања (или чак дугме).
Објављивање МКТТ-а са Ардуино-а са Етхернет везом
Ако имате хибридни Ардуино-компатибилан уређај са уграђеним Ви-Фи или Етхернет-ом, то би такође требало да ради. На крају ћемо желети бољи / јефтинији начин да комуницирамо да треба користити мрежну везу у свакој соби, али ово служи за учење основа.
Започните преузимањем пубсубцлиент библиотека из Гитхуб-а. Ако сте користили дугме „Преузми као ЗИП“, структура је мало погрешна. Распакујте, преименујте мапу у праведну пубсубцлиент, а затим извадите две датотеке из срц мапе и померите их на једном нивоу до корена преузете мапе. Затим преместите целу мапу у своју Ардуино / библиотеке директоријум.
Ево мог узорка кода који можете прилагодити: излаз ДХТ11 сигнала је на пин 7. Промените ИП сервера за онај вашег Пи-а у следећем реду:
цлиент.сетСервер ("192.168.1.99", 1883.);
Нажалост, не можемо да користимо његово пријатељско име (ОпенХАБ.лоцал у мом случају) Како је ТЦП / ИП стацк на Ардуино-у веома поједностављен, а додавање кода за Боњоур именовање било би много меморије коју не желимо да трошимо. Да бисте променили теме о којима се емитују подаци сензора, померите се доле до тих редова:
пуфер за цхар [10]; дтострф (т, 0, 0, пуфер); цлиент.публисх ("опенхаб / химитсу / температура", тампон); дтострф (х, 0, 0, пуфер); цлиент.публисх ("опенхаб / химитсу / влажност", тампон);
Код укључује и претплату на командни канал. Пронађите и прилагодите следећи ред:
цлиент.субсцрибе ("опенхаб / химитсу / цомманд");
Испитајте код тамо и видећете да бисте лако могли да контролишете ЛЕД или релеј, на пример слањем команди одређеним каналима. У примјеру кода, он једноставно шаље поруку натраг у потврду пријема наредбе.
Пошаљите свој код, повежите Ардуино у мрежу и помоћу МКТТ.фк се претплатите на било који # или опенхаб / химитсу / # (или шта год да сте променили име собе, али на крају не заборавите да унесете #). Ускоро бисте требали видети поруке које долазе; а ако пошаљете ОН или ОФФ на тему команде, видећете и признања која се такође враћају.
МКТТ Везивање за ОпенХАБ
Последњи корак једначине је да се ово повеже у ОпенХАБ. За то нам је наравно потребно увезивање.
судо апт-гет инсталл опенхаб-аддон -индинг-мктт. судо цховн -хР опенхаб: опенхаб / уср / схаре / опенхаб
И уредите цонфиг датотеку да бисте омогућили везање.
мктт: брокер.урл = тцп: // лоцалхост: 1883. мктт: брокер.цлиентИд = опенхаб
Поново покрените ОпенХАБ
поновно покретање судо сервиса опенхаб
Затим додајмо ставку или две:
/ * МКТТ сензори * / Број Химитсу_Темп "Температура Химитсу [% .1ф ° Ц]"(Химитсу, температура) {мктт = " (Химитсу, влажност) {мктт = "
До сад бисте требали разумјети формат; добија се Ставка са бројем из МКТТ везивања, на одређену тему. Ово је једноставан пример, који се можда односи на вики страницу на којој се налази може постати пуно сложеније.
Честитамо, сада имате основу јефтиног сензорског низа заснованог на Ардуино-у. То ћемо ревидирати у будућности и Ардуино ће поставити на сопствену, потпуно засебну РФ мрежу. Такође сам створио идентичну верзију за Визвики 7500 плоче ако вам се деси да имате један од њих.
Подаци о постојаности и графиковању
До сада сте вероватно поставили гомилу сензора, било да је то З-Ваве или прилагођени Ардуинос који ради МКТТ - тако да можете да погледате тренутно стање тих сензора у било ком тренутку, а ви бисте такође требали реаговати на њихову вредност правила. Али занимљиво је да се вредности сензора углавном мењају током времена: ту долази до постојаности и графиковања. Упорност у ОпенХАБ-у значи уштеду података током времена. Идемо напријед и подесимо РРД4Ј (Роунд Робин Датабасе за Јава), такозвани јер се подаци спремају на начин округлог робина - старији подаци се одбацују ради компримирања величине базе података.
Инсталирајте ррд4ј пакете са сљедећим наредбама.
судо апт-гет инсталл опенхаб-аддон-персистент-ррд4ј. судо цховн -хР опенхаб: опенхаб / уср / схаре / опенхаб.
Затим креирајте нову датотеку под називом ррд4ј.персист у конфигурације / постојаност фолдер. Налепите следеће:
Стратегије {евериМинуте: "0 * * * *?" евериХоур: "0 0 * * *?" евериДаи: "0 0 0 * *?" дефаулт = Свака промена. } Ставке {// истрају у свему када се вредност ажурира, само задана вредност и вратите их из базе података при покретању *: стратеги = евериЦханге, РестоОнСтартуп // нект дефинирамо посебне стратегије свакогХоур-а за било шта у групи Температуре и сваки минут за температуру влажности *: стратеги = евериХоур Хумидити *: стратеги = евериМинуте // алтернативно овде можете додати одређене ставке, као што су // Спаваћа соба_Хумидити, ЈамесИнОффице: стратеги = сваки минут }
У првом делу ове датотеке дефинишемо стратегије, што значи само давање имена изразу ЦРОН. То је исто као што смо већ учинили са Мојим. ОпенХАБ, али овај пут смо направили неке нове стратегије које можемо користити сваки дан, сваки сат и сваки минут. Још их нисам користио, али можда ћу бити у будућности.
У другој половини датотеке кажемо рр4дј које вредности података треба да сачувамо. Као подразумевано, спремићемо све при сваком ажурирању, али сам такође одредио неке временске стратегије за одређене сензоре. Температуре се не оптерећујем превише, тако да сам одредио да чувам само сваки час, али влага ми је велика брига, па желим да видим како се мења сваког минута. Ако постоје други подаци које посебно желите да сачувате у задато време, додајте их овде сада или прилагодите према потреби.
Напомена: ако желите и да графиконирате податке, МОРАТЕ их чувати најмање једном минуту. Није важно да ли су подаци вашег сензора чак и овако брзо ажурирани, једноставно требате рећи рр4дј да их сачувате једном минуту.
Када је дефинисано, требало би да почнете да видите неки излаз за исправљање погрешака који вам говори да се вредности спремају.
Следеће, направимо неколико лепих графова свих ових података. То је заиста лако. Да бисте направили граф појединачног сензора, додајте следеће на мапу веб локације:
Ставка графикона = Спаваћа соба_Време влажности = х
То је буквално све што вам треба. Важеће вредности за период су х, 4х, 8х, 12х, Д, 3Д, В, 2В, М, 2М, 4М, И; требало би бити очигледно шта то значи. Подразумевано је Д за цео дан података, ако није наведено.
Да бисте креирали графикон са више ставки, уместо тога, једноставно групирајте назив групе:
Ставка графикона = Период влажности = х
Можда ће вас такође занимати да овај графикон можете користити негде другде; генерише слику користећи следећу УРЛ адресу: http://YOUROPENHABURL: 8080 / графикон? групе = Влажност и период = х
Како Твој Долази ли ОпенХАБ систем?
То је то за овај део водича, али не очекујте да ће ово бити последњи пут да нас чујете о ОпенХАБ-у. Надамо се да су вам овај и водич за почетнике дали солидну основу за развој сопственог комплетног ОпенХАБ система - али то је процес који никада није у потпуности завршен.
Срећом, ОпенХАБ може добро распоредити од неколико уређаја до стотине, од сложености правила до крајњег у кућној аутоматизацији - па како иде ваш систем? Које сте уређаје одабрали? Који је следећи велики пројекат који ћете решити?
Разговарајмо у коментарима - и молим вас, ако сматрате да је овај водич користан, кликните та дугмета за дељење да бисте пријатељима рекли како и они могу да поставе свој сопствени ОпенХАБ систем.
Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.