Отворени водич за почетнике 2. део: ЗВаве, МКТТ, правила и графикони

Отворени водич за почетнике 2. део: ЗВаве, МКТТ, правила и графикони

Бесплатно не значи увек „није толико добро колико се плаћа“, а ОпенХАБ није изузетак. Софтвер за кућну аутоматизацију отвореног кода далеко премашује могућности било ког другог система кућне аутоматизације на тржишту - али није лако поставити. У ствари, то може бити потпуно фрустрирајуће.





У првом делу водича провео сам вас инсталирање ОпенХАБ -а на Распберри Пи , представио основне концепте ОпенХАБ -а и показао вам како да додате прве ставке у систем. Данас ћемо ићи даље:





  • Додавање ЗВаве уређаја
  • Додавање контролера Хармони Ултимате
  • Увођење правила
  • Представљамо МКТТ и инсталирамо МКТТ брокера на свој Пи са сензорима на Ардуину
  • Снимање података и њихово графичко приказивање

Увод у З-Ваве

З-Ваве је већ годинама доминантан протокол кућне аутоматизације: поуздан је, опсежно развијен и ради у много дужем распону од било којих других производа за паметну кућу. На располагању су вам стотине З-Ваве сензора који извршавају широк спектар задатака. ОпенХАБ моћи радити са З-Ваве-ом, али постављање је гњаважа, а поузданост није загарантована.





Ако размишљате о куповини куће пуне З-Ваве сензора посебно за употребу са ОпенХАБ-ом, позвао бих вас да поново размислите. Можда ће вам то одлично успјети, или ће вас мучити мали, али стални проблеми. Барем не купујте кућу пуну сензора све док не будете имали прилику да испробате неколико. Једини разлог за одабир З-Ваве-а је ако нисте 100% задовољни са ОпенХАБ-ом и желите да своје опције оставите отвореним у будућности: З-Ваве, на пример, ради са Самсунг СмартТхингс чвориштем, као и са специфичним чвориштима за З-Ваве као што је Хомесеер и низ других софтверских опција као што су домотицз .

Иако ОпенХАБ укључује везивање З-Ваве, ипак морате прво конфигуришите З-Ваве мрежу , пре него што ОпенХАБ почне да га тражи за податке. Ако имате контролну плочу Расберри, испоручен је софтвер за конфигурисање мреже, па то овде нећемо покривати. Ако сте купили Аеотец УСБ З-Стицк контролер или слично, вероватно немате укључен софтвер, па читајте даље.



Аеотец З-Стицк Ген5 З-Ваве Хуб З-Ваве Плус УСБ за креирање мрежног пролаза (обична бела) КУПИТЕ ОДМАХ НА АМАЗОНУ

Ако већ имате мрежно подешавање З-Ваве , можете само укључити контролер у Пи и почети конфигурирати повез и ставке. Ако вам је ово први упад у З-Ваве, то је мало сложеније.

Прво, са хардверске стране: сваки контролер има свој начин упаривања са уређајима (технички познат као 'режим укључивања' у коме је додељен ИД чвора). У случају Аотец З-Стицка, то значи да га искључите из УСБ порта и једном притиснете дугме да бисте га пребацили у режим укључивања. Затим га приближите уређају који упарујете и притисните дугме за укључивање на њему (ово ће такође варирати: моја Еверспринг утичница захтева да се дугме притисне 3 пута узастопно, па је лекција овде да прочитате приручник за свој уређај) .





З-Стицк кратко трепери како би указао на успех. Ово представља проблеме при поновном прикључивању на Пи, пошто је додељен нови порт. Поново покрените свој Пи да бисте га вратили на стандардни порт ако откријете да му је динамички додељен други. Још боље: немојте га укључивати у Пи док прво не обавите све упаривање хардвера.

Инсталирање ХАБмин и З-Ваве везова

С обзиром да ОпенХАБ заправо није услужни програм за конфигурацију за З-Ваве, инсталират ћемо још један алат за управљање интернетом који ради-нешто што се зове ХАБмин. Пређите на ХАБмин Гитхуб спремиште преузмите тренутно издање. Када га отпакујете, пронаћи ћете 2 .јар датотеке у директоријуму аддонс - треба их поставити у одговарајући директоријум додатака у вашем ОпенХАБ Хоме дељењу (ако користите и Аотец ген5 З-Стицк, уверите се да имате барем верзију 1.8 повезивања З-Ваве) .





Затим креирајте нову фасциклу у директоријуму вебаппс и назовите је 'хабмин' (мала слова су важна). Копирајте остатак преузетих датотека тамо.

Напомена: Постоји и а ХАБмин 2 у активном развоју. Инсталација је иста, али са једним додатком .јар. Можда би било вредно покушати обоје само да видите шта више волите.

Ако већ нисте, укључите контролер у свој Пи. Унесите следеће да бисте пронашли исправан порт.

лс /дев /тти*

Тражите било шта са УСБ-ом у имену, или се у мом конкретном случају З-стицк представио као / дев / ттиАЦМ0 (модем). Можда би било лакше извршити команду једном пре него што је укључите, а затим једном, тако да можете видети шта се мења ако нисте сигурни.

Отворите ОпенХАБ конфигурациону датотеку и измените одељак на З-Ваве-у, декоментирајте обе линије и унесите своју стварну адресу уређаја. Последњи корак за мене је био омогућити кориснику ОпенХАБ -а приступ модему.

судо усермод -а -Г дијалог отворено

Сада, да бисте све покренули, поново покрените ОпенХАБ

судо сервис опенхаб рестарт

Надајмо се да ћете, ако проверите дневник отклањања грешака, видети овако нешто. Честитамо, сада говорите З-Ваве. Записник за отклањање грешака може такође бити затрпан порукама из различитих чворова З-Ваве. Почнимо тако што ћемо проверити ХАБМИН да видимо шта се налази: хттп: //опенхаб.лоцал: 8080/хабмин/индек.хтмл (заменом опенхаб.лоцал са вашим именом или ИП адресом Распберри Пи).

У ХАБМИН -у се има шта видети, али нас заиста брине само Конфигурација -> Везе -> З -Ваве -> Уређаји картицу, као што видите испод. Проширите чвор да бисте уредили ознаку локације и имена ради лакшег сналажења.

Конфигурисање З-Ваве ставки

Сваки З-Ваве уређај ће имати посебну конфигурацију за ОпенХАБ. Срећом, већина уређаја је већ истражена и већ ће бити примера за ваше. Конфигурисање прилагођених уређаја који нису препознати далеко је од оквира овог водича, али претпоставимо да је за сада подржан.

Прво, имам основни прекидач за напајање и мерач Еверспринг АН158 на Чвору 3. Брзо гуглање довело ме је до поста на блогу на Ветва.ре, са примером конфигурације ставке. Ово сам прилагодио на следећи начин:

Прекидач за одвлаживач зрака_Пребацивање 'Овлаживач' {зваве = '3: наредба = прекидач_бинарни'}

Број Овлаживач_Ваттс 'Потрошња енергије одвлаживача [%.1ф В]' {зваве = '3: наредба = мерач'}

Савршен.

Следећи је Аеотец Ген5 мултисензор.

Аеон Лабс Аеотец З-Ваве Ген5 више сензор (З-Ваве Плус) КУПИТЕ ОДМАХ НА АМАЗОНУ

За ово сам нашао пример конфигурације на адреси ивасдот.цом , а мој мултисензор је на Чвору 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

вар хигхХум = ''

Влажност? .Чланови.за сваку [брујање |

логДебуг ('влажност.рулес', хум.наме);

иф (хум.стате ас ДецималТипе> превХигх) {

превХигх = хум.стате

хигхХум = хум.наме + ':' + хум.стате + '%'

}

подешавања регистра оперативног система Виндовс 10 ради побољшања перформанси

]

логДебуг ('влажност.рулес', хигхХум);

постУпдате (Дехумидифиер_Неедед, хигхХум);

крај

Срж правила је у Влажност? .Чланови.фореацх линија. Влажност је назив групе за моје сензоре влажности; .чланови хвата све ставке у тој групи; за сваки понавља их (са необичним форматом углатих заграда који вероватно нисте упознати). Синтакса правила је изведеница од Кстенд, тако да можете прочитати Кстенд документација ако не можете пронаћи пример за прилагођавање.

Вероватно нећете морати - постоји на стотине примера правила:

МКТТ за ОпенХАБ и Интернет ствари

МКТТ је лагани систем за размену порука за комуникацију између машина-нека врста Твиттера за ваш Ардуинос или Распберри Пис да разговарају једни с другима (мада, наравно, ради много више од њих). Брзо добија на популарности и постаје дом са уређајима Интернет оф Тхингс, који су обично микроконтролери са ниским ресурсима којима је потребан поуздан начин за пренос података сензора назад на ваше чвориште или примање даљинских команди. То је управо оно што ћемо с тим радити.

Али зашто поново измишљати точак?

МК Телеметри Транспорт изумљен је далеке 1999. године за повезивање нафтовода путем спорих сателитских веза, посебно дизајниран да смањи потрошњу батерије и пропусни опсег, а да истовремено обезбеди поуздану испоруку података. Принципи дизајна су годинама остали исти, али се случај употребе преместио са специјализованих уграђених система на опште уређаје за Интернет ствари. 2010. протокол је објављен без накнаде, отворен за свакога да га користи и имплементира. Волимо бесплатно.

Можда се питате зашто се уопште мучимо са још једним протоколом - на крају крајева већ имамо ХТТП - који се може користити за слање брзих порука између свих врста система повезаних са Вебом (попут ОпенХАБ -а и ИФТТТ -а, посебно са новим каналом за прављење) ). И били бисте у праву. Међутим, трошкови обраде ХТТП сервера су прилично велики - толико да их не можете лако покренути на уграђеном микроконтролеру попут Ардуина (барем можете, али нећете имати много меморије за било шта друго ). С друге стране, МКТТ је лаган, па слање порука по вашој мрежи неће зачепити цијеви и лако се може уклопити у наш мали Ардуино меморијски простор.

Како функционише МКТТ?

МКТТ захтева и сервер (који се назива „посредник“) и једног или више клијената. Сервер делује као посредник, прима поруке и поново их емитује свим заинтересованим клијентима.

Наставимо са Твиттер-за-машине ипак аналогија. Баш као што корисници Твиттера могу твитовати својих 140 бесмислених знакова, а корисници могу „пратити“ друге кориснике да виде припремљени ток постова, МКТТ клијенти се могу претплатити на одређени канал да примају све поруке од тамо, као и да објављују своје поруке на тај канал. Овај образац објављивања и претплате назива се пуб / суб , за разлику од традиције клијент/сервер модел ХТТП -а.

ХТТП захтева да се обратите машини са којом комуницирате, рецимо Здраво, а затим да се непрекидно међусобно признајете док примате или стављате податке. Са пуб/суб -ом, клијент који објављује не мора знати који су клијенти претплаћени: он само испушта поруке, а посредник их даље дистрибуира свим претплаћеним клијентима. Сваки клијент може објављивати теме и претплатити се на њих, баш као и корисник Твиттера.

За разлику од Твиттера, МКТТ није ограничен на 140 знакова. Агностичан је за податке, па можете слати мале бројеве или велике текстуалне блокове, датаграме у ЈСОН формату, па чак и слике и бинарне датотеке.

Није да је МКТТ бољи од ХТТП -а за све - али јесте је погодније ако ћемо по кући имати пуно сензора, који се стално јављају.

Такође је важно знати да ОпенХАБ неће деловати као ваш МКТТ посредник - о томе ћемо говорити касније. Међутим, ОпенХАБ ће деловати као клијент: он може објавити ваш ОпенХАБ дневник активности, као и везати одређене канале за уређаје, тако да на пример можете имати прекидач који контролише МКТТ поруке на одређеном каналу. Ово је идеално за стварање куће пуне сензора.

Инсталирајте Москуитто на свој Пи

Иако ОпенХАБ укључује МКТТ клијента тако да се можете претплатити на тему и објављивати поруке, он неће деловати као сервер. За то морате или користити МКТТ брокера заснованог на вебу (плаћеног или бесплатног) или инсталирати бесплатни софтвер на свој Пи. Волео бих да све остане у кући, па сам инсталирао Москуитто на Пи.

Нажалост, верзија доступна путем уобичајеног апт-гет-а је потпуно застарела. Уместо тога, додајмо најновије изворе.

вгет хттп://репо.москуитто.орг/дебиан/москуитто-репо.гпг.кеи

судо апт-кеи адд москуитто-репо.гпг.кеи

цд /етц/апт/соурцес.лист.д/

судо вгет хттп://репо.москуитто.орг/дебиан/москуитто-вхеези.лист

судо апт-гет инсталл москуитто

То је све што треба да урадимо да би МКТТ сервер био покренут и покренут на локалној мрежи. Ваш посредник подразумевано ради на порту 1883.

Проверите да ли ваш МКТТ сервер ради помоћу бесплатног МКТТ.фк-а који је за више платформи. Кликните на икону поставки да бисте креирали нови профил и унесите ИП адресу или име своје Распберри Пи. Сачувајте и притисните повежи. Ако мали семафор у горњем десном углу светли зелено, спремни сте.

За брзи тест кликните на картицу „претплати се“ и откуцајте инТопиц / у оквир за текст, а затим притисните претплатити се дугме. Сада сте претплаћени на примање порука на тему звана инТопиц, иако ће приказивати 0 порука. Вратите се на картицу за објављивање, унесите мали оквир у мало поље и кратку поруку у велико поље за текст испод. Хит Публисх неколико пута и погледајте уназад на картици претплате. Требало би да видите да се неколико порука појавило у тој теми.

Пре него што у своју мрежу додамо неке стварне сензоре, морамо научити о нивоима тема, који нам омогућавају да структурирамо и филтрирамо МКТТ мрежу. Називи теме разликују велика и мала слова, не би требало да почињу са $, или да садрже размак, или знакове који нису АСЦИИ-стандардна програмска пракса за имена променљивих.

/ Одвајач означава хијерархијски ниво теме, на пример следећи су сви важећи нивои тема.

инТопиц / смаллСубдивисион / евенСмаллерСубдивисион

миХоме/ливингРоом/температуре

миХоме/ливингРоом/Влажност

миХоме/кухиња/температура

миХоме/кухиња/влажност

Већ бисте требали видети како је ова структура дрвета савршена за паметан дом пун сензора и уређаја. Најбоља пракса за употребу са више сензора у једној просторији је објављивање сваке променљиве сензора као сопствене теме - разгранавши се на више специфичности (као у горе наведеним примерима) - уместо да покушате да објавите више типова сензора на истом каналу .

Клијенти тада могу објавити или се претплатити на било који број појединачних нивоа тема или користити неке посебне замјенске знакове за филтрирање с вишег стабла.

Замјенски знак + замјењује било који ниво теме. На пример:

миХоме/+/температура

претплатио би клијента на обоје

миХоме/ливингРоом/температуре

миХоме/кухиња/температура

... али не и ниво влажности.

# Је заменски знак на више нивоа, тако да можете дохватити било шта из низа сензора ливингРоом са:

миХоме/ливингРоом/#

Технички, такође се можете претплатити на основни ниво # који вам омогућава да добијете апсолутно све што пролази кроз посредника, али то може бити као да вам забодите ватрогасно црево у лице: помало неодољиво. Покушајте да се повежете са јавним посредником МКТТ са ХивеМК -а и претплатите се на #. Добио сам око 300 порука у неколико секунди пре него што се мој клијент управо срушио.

МКТТ савет за почетнике: ' /мој дом/' је друга тема од ' мој дом/' - укључивање косе црте на почетку ствара празан ниво теме, који иако је технички валидан, не препоручује се јер може бити збуњујући.

Сада када знамо теорију, идемо са Ардуином, Етхернет штитом и ДХТ11 сензором температуре и влажности - вероватно га имате у свом почетном комплету, али ако не, само замените сензор животне средине за кретање сензор (или чак дугме).

Објављивање МКТТ -а са Ардуина са Етхернет везом

Ако имате хибридни уређај компатибилан са Ардуином са уграђеним Ви-Фи или Етхернет-ом, то би такође требало да функционише. На крају ћемо желети бољи/јефтинији начин да се пренесе да је потребно користити мрежну везу у свакој просторији, али ово служи за учење основа.

Почните преузимањем библиотека пубсубцлиент из Гитхуб -а . Ако сте користили дугме „Преузми као ЗИП“, структура је помало погрешна. Распакирајте, преименујте фасциклу у само пубсубцлиент , затим извадите две датотеке из срц директоријума и померите их за један ниво у корену преузете фасцикле. Затим преместите целу фасциклу у своју Ардуино/библиотеке именик.

Ево мог узорка кода који можете прилагодити : излаз сигнала ДХТ11 је на пину 7. Промените ИП адресу сервера за ону вашег Пи на следећој линији:

цлиент.сетСервер ('192.168.1.99', 1883);

Нажалост, не можемо користити његово пријатељско име (ОпенХАБ.лоцал у мом случају) пошто је ТЦП/ИП стек на Ардуину врло поједностављен, а додавање кода за именовање Боњоур -а било би много меморије коју не желимо да изгубимо. Да бисте променили теме на којима се емитују подаци сензора, померите се надоле до ових редова:

цхар буффер [10];

дтострф (т, 0, 0, бафер);

цлиент.публисх ('опенхаб/химитсу/температура', бафер);

дтострф (х, 0, 0, бафер);

цлиент.публисх ('опенхаб/химитсу/Влажност', тампон);

Код такође укључује претплату на командни канал. Пронађите и прилагодите следећи ред:

цлиент.субсцрибе ('опенхаб/химитсу/цомманд');

Испитајте код тамо и видећете да бисте могли лако да контролишете ЛЕД или релеј, на пример слањем команди на одређене канале. У примеру кода, једноставно шаље поруку назад потврђујући пријем команде.

Отпремите свој код, укључите свој Ардуино у мрежу и користећи МКТТ.фк се претплатите на било који од њих # или опенхаб / химитсу / # (или било шта што сте променили у име собе, али не заборавите да укључите # на крају). Ускоро бисте требали видети поруке које долазе; а ако пошаљете ОН или ОФФ на тему наредбе, видећете и признања која се враћају.

МКТТ повезивање за ОпенХАБ

Последњи корак у једначини је да ово повежете са ОпенХАБ -ом. За то нам, наравно, треба везивање.

судо апт-гет инсталл опенхаб-аддон-биндинг-мктт

судо цховн -хР опенхаб: опенхаб/уср/схаре/опенхаб

И уредите конфигурациону датотеку да бисте омогућили повезивање.

мктт: брокер.урл = тцп: // лоцалхост: 1883

мктт: брокер.цлиентИд = опенхаб

Поново покрените ОпенХАБ

судо сервис опенхаб рестарт

Затим додајмо једну или две ставке:

/ * МКТТ сензори */

Број Химитсу_Темп 'Химитсу температура [%.1ф ° Ц]' (Химитсу, температура) {мктт = '<[broker:openhab/himitsu/temperature:state:default]'}

Број Химитсу_Хумидити'Химитсу влажност [%.1ф %%] '(Химитсу, влажност) {мктт ='<[broker:openhab/himitsu/humidity:state:default]'}

До сада би требало да разумете формат; постаје а Број ставке из МКТТ везивања, на одређену тему. Ово је једноставан пример, можда ћете желети да погледате вики страницу на којој се налази може постати много сложенији .

Честитамо, сада имате основу јефтиног низа сензора заснованих на Ардуину. У будућности ћемо ово поново прегледати и поставити Ардуино на њихову потпуно засебну РФ мрежу. Такође сам направио идентичну верзију за плоче Визвики 7500 ако случајно имате једну од њих.

Подаци о постојаности и графикону

До сада сте вероватно поставили гомилу сензора, било из З-Ваве-а или прилагођених Ардуиноса који раде на МКТТ-у-тако да у сваком тренутку можете да видите тренутно стање тих сензора, а требало би и да реагујете на њихову вредност у правилима. Али занимљивост у вези са вредностима сензора је генерално то што се временом мењају: ту долази до упорности и графикона. Упорност у ОпенХАБ -у значи чување података током времена. Идемо даље и подесимо РРД4Ј (Роунд Робин Датабасе фор Јава), такозвани јер се подаци чувају на округли начин - старији подаци се одбацују ради компримовања величине базе података.

Инсталирајте ррд4ј пакете са следећим командама.

sudo apt-get install openhab-addon-persistence-rrd4j
sudo chown -hR openhab:openhab /usr/share/openhab

Затим креирајте нову датотеку под називом ррд4ј.персист у конфигурације/упорност фолдер. Налепите следеће:

Стратегије {

евериМинуте: '0 * * * *?'

евериХоур: '0 0 * * *?'

сваки дан: '0 0 0 * *?'

подразумевано = свака промена

}

Ставке {

// задржати све када се вредност ажурира, само подразумевано, и вратити их из базе података при покретању

*: стратеги = евериЦханге, рестореОнСтартуп

// затим дефинишемо посебне стратегије сваког сата за било шта у групи Температура, и сваког минута за влажност

избришите датотеке са онедриве -а, али не и са рачунара

Температура*: стратегија = сваки сат

Влажност*: стратегија = сваке минуте

// алтернативно овде можете додати одређене ставке, као што је

// Бедроом_Хумидити, ЈамесИнОффице: стратеги = евериМинуте

}

У првом делу ове датотеке дефинишемо стратегије, што само значи давање имена ЦРОН изразу. Ово је исто што смо већ радили са Ми.ОпенХАБ, али овај пут креирамо неке нове стратегије које можемо користити сваког дана, сваког сата и сваке минуте. Нисам их још све користио, али можда ћу бити у будућности.

У другој половини датотеке кажемо рр4дј које вредности података треба сачувати. Подразумевано ћемо све сачувати сваки пут када се ажурира, али сам такође навео неке стратегије засноване на времену за одређене сензоре. Температуре ме не муче превише, па сам то подесио тако да штеди само сваки сат, али влажност ме забрињава, па желим да видим како се мења сваког минута. Ако желите да сачувате друге податке у задато време, додајте их овде или их прилагодите по потреби.

Напомена: ако желите и графички приказати податке, МОРАТЕ их сачувати најмање једном у минути. Није важно да ли се ваши сензорски подаци ажурирају овако брзо, једноставно морате рећи рр4дј да их ускладишти једном у минути.

Када је то дефинисано, требало би да почнете да видите излаз за отклањање грешака који вам говори да се вредности складиште.

Следеће, направимо неколико лепих графикона свих ових података. Заиста је лако. Да бисте направили графикон појединачног сензора, додајте следеће на мапу веб локације:

Ставка графикона = Спаваћа_период влажности = х

То је буквално све што вам треба. Важеће вредности за период су х, 4х, 8х, 12х, Д, 3Д, В, 2В, М, 2М, 4М, И ; требало би да буде јасно шта ово значи. Подразумевано је Д за податке за цео дан ако није наведено.

Да бисте направили графикон са више ставки, једноставно исцртајте назив групе:

Ставка графикона = Период влажности = х

Можда ће вас такође занимати податак да овај графикон можете користити на другом месту; генерише слику помоћу следеће УРЛ адресе: хттп: // ИОУРОПЕНХАБУРЛ: 8080/цхарт? гроупс = Влажност & период = х

Како је Твој ОпенХАБ систем долази?

То је све за овај део водича, али немојте очекивати да ћете ово последње чути од нас о ОпенХАБ -у. Надајмо се да су вам ово и водич за почетнике дали солидну основу за развој вашег сопственог комплетног ОпенХАБ система - али то је процес који никада није потпуно завршен.

Срећом, ОпенХАБ се може добро скалирати од неколико уређаја до стотина, од сложености једноставних правила до крајње у кућној аутоматизацији - па како напредује ваш систем? Које уређаје сте изабрали? Који је следећи велики пројекат којим ћете се бавити?

Хајде да разговарамо у коментарима - и молим вас, ако вам је овај водич био користан, кликните на та дугмад за дељење да бисте својим пријатељима рекли како и они могу поставити свој ОпенХАБ систем.

Надамо се да вам се свиђају ставке које препоручујемо и о којима ћемо разговарати! МУО има придружена и спонзорисана партнерства, па добијамо део прихода од неких ваших куповина. Ово неће утицати на цену коју плаћате и помаже нам да понудимо најбоље препоруке производа.

Објави Објави Твеет Емаил Водич за почетнике у анимирању говора

Анимирање говора може бити изазов. Ако сте спремни за почетак додавања дијалога у ваш пројекат, ми ћемо вам разбити процес.

Прочитајте следеће
Повезане теме
  • ДИИ
  • Паметне куће
  • Ардуино
  • Кућне аутоматизације
  • Лонгформ
  • Лонгформ Гуиде
О аутору Јамес Бруце(707 објављених чланака)

Јамес је дипломирао вештачку интелигенцију и има ЦомпТИА А+ и Нетворк+ сертификат. Кад није заузет као уредник прегледа хардвера, ужива у ЛЕГО, ВР и друштвеним играма. Пре него што се придружио МакеУсеОф -у, био је техничар осветљења, учитељ енглеског језика и инжењер дата центра.

Више од Јамеса Бруцеа

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили