Реклама

ХомеКит је напокон изашао у дивљину, омогућавајући гласовну контролу путем Сири-а за прегршт потрошачких паметних кућних уређаја.

Нажалост, мислим на дословну шаку - све што сте већ купили вероватно није компатибилно. Међутим, протокол је већ пројектован обрнуто и емулатор отвореног кода за ХомеКит АПИ је доступан: или у обичним енглеским, сада можете да креирате „лажне“ ХомеКит уређаје, а Сири ће их контролисати као и било који други званични ХомеКит додатна опрема.

Данас ћемо креирати Ви-Фи контролно светло, и контролисати га Сири. Ово је демонстрација

Ево шта ће вам требати:

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

Инсталирање ХомеКит Бридге

Инсталираћемо НодеЈС апликацију под називом ХАП-НодеЈС до Распберри Пи: ово ће формирати мост између ХомеКит захтева и Ви-Фи уређаја. За сада ћемо овај мост конфигурисати једним додатком, али можете додати онолико колико желите.

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

Започните потпуном надоградњом са терминала или ан ССХ сесија Постављање вашег Распберри Пи-а за употребу без главе са ССХ-омРаспберри Пи може прихватити ССХ команде када су повезане са локалном мрежом (било путем Етхернет-а или Ви-Фи-ја), омогућујући вам лако подешавање. Предности ССХ-а надилазе узнемирујући свакодневни скрининг ... Опширније .

судо апт-гет упдате. судо апт-гет надоградњу. 

Можда ћете требати да то урадите два пута ако је прошло неко време.

Сада инсталирајте неколико основних пакета који ће нам требати:

судо апт-гет инсталл нпм гит-цоре либнсс-мднс либавахи-цомпат-либднссд-дев. 

Затим ћемо инсталирати најновију верзију НодеЈС-а. Можда ћете се наћи у искушењу да то учините апт-гет, али немојте - та верзија је сада стварно стара и неће радити. Уместо тога, посетите нодејс.орг, прегледајте до преузимање / издање / најновије-в5.к.0 / директоријум и проверите која је веза за најновију верзију. Тражиш линук-армв7л за Распберри Пи 2, или линукармв6л за оригиналне РПи моделе. Затим, прилагођавајући УРЛ-ове и називе директорија, по потреби преузмите и инсталирајте помоћу следећих команди.

вгет https://nodejs.org/download/release/latest-v5.x.0/node-v5.5.0-linux-armv7l.tar.gz. тар -квф ноде-в5.5.0-линук-армв7л.тар.гз. цд ноде-в5.5.0-линук-армв7л. судо цп -Р * / уср / лоцал. 

Потврдите куцањем

верзија чвора. 

И требали бисте видјети в5.5 (или шта год најновије што сте преузели).

Затим имамо неколико модула чвора за инсталирање.

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

У тој првој наредби ми заправо користимо Ноде Пацкаге Манагер (нпм) за инсталирање новије верзије себе. Паметан!

Сада, да бисте преузели ХомеКит емулатор назван ХАП-НодеЈС:

гит клон https://github.com/KhaosT/HAP-NodeJS.git. цд ХАП-НодеЈС. нпм обнови. судо нпм инсталл ноде-персист. судо нпм инсталл срп. 

У овом тренутку покренуо сам ову грешку: „#еррор Ова верзија ноде / НАН / в8 захтева Ц ++ 11 преводилац“. Ако вам се то догоди, инсталирајте новији Ц ++ преводилац са наредбама:

судо апт-гет инсталл гцц-4,8 г ++ - 4,8. судо упдате-алтернативе --инсталл / уср / бин / гццгцц / уср / бин / гцц-4.6 20. судо упдате-алтернативе --инсталл / уср / бин / гцц гцц /уср/бин/гцц-4.8 50. судо упдате-алтернативе --инсталл / уср / бин / г ++ г ++ /уср/бин/г++-4.6 20. судо упдате-алтернативе --инсталл / уср / бин / г ++ г ++ /уср/бин/г++-4.8 50. 

Сада не бисте требали имати проблема. Наставите извршавати ове наредбе, једну по једну:

судо нпм инсталл срп. судо нпм инсталл мднс --унсафе-перм. судо нпм инсталл дебуг. судо нпм инсталл ед25519 - небезбедни-перм. судо нпм инсталл цурве25519 - небезбедна перм. 

То би требало бити све. Покушајте покренути емулатор са:

ноде Цоре.јс. 

Ако вам се појаве грешке говорећи да не можете да пронађете такав и такав модул, само користите судо нпм инсталл команда поново и залепите име оног модула који недостаје. Ако претпоставимо да је све добро, требали бисте видјети неколико упозорења и ваш ће ХомеКит мост покренути. Ево како изгледа успех:

хап-нодејс инсталиран

Можете одмах да видите да је већ створио сет од 6 лажних уређаја. Касније ћемо их користити као почетну тачку за сопствено Ви-Фи светло, али сада ћемо их користити само за тестирање. Такође можете видети више информација о грешци ако покренете сервер са:

ДЕБУГ = * чвор Цоре.јс

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

Када први пут покренете апликацију, требало је да именујете свој дом, наставите и прођите кроз то. Затим изаберите „Додај додатну опрему“. Занемарите поруку о томе да сте јој близу!

елгато еве 1

Следеће ће вам рећи да потражите јединствени „ХомеКит Сетуп Цоде“. Занемарите то и притисните "Додај у [име свог дома]".

Такође ће вам рећи да уређај није сертификован. Заправо није. Само наставите. Када дођете до екрана тражите шифру додатне опреме ...

елгато еве 2

Изаберите да унесете код ручно и укуцајте следеће:

031-45-154

Ово се може наћи / променити у Лигхт_аццессори.јс датотеке, али о томе касније. Додајте овај прибор у задану собу, позовите га Лажна светлости наставите ходати кроз дијалоге да бисте изабрали икону итд.

На крају, вратите се на ССХ сесију на којој имате покренут ХАП-НодеЈС. Можда сте већ видели поруку која каже „Јесмо ли укључени?“ - то је Елгато апликација за светлосни статус. Отворите Сири и реците јој „Укључите лажно светло“, а затим је покушајте поново искључити. Надамо се да ћете видети неке поруке за отклањање погрешака из ХАП-НодеЈС да покажу да је добио команде.

Јесмо ли? Не. Укључивање светла! Искључивање светла!

Фантастично, то је корак први. Сада ће нам требати стварно светло, пре него што се вратимо да поново конфигуришемо мост.

Изградња Ви-Фи светла

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

Прикључите црвени кабл за напајање са жице Неопикел на ВИН пин, плаву земљу на ГНД, а зелени сигнални кабл на пин означен са Д2 на НодеМЦУ. Будите врло пажљиви у погледу поларитета: ако помешате земљу и ВИН, послаћете огромну снагу кроз вашу плочу и уништићете је током процеса.

Ако ваше Ардуино окружење још увек није постављено за рад са ЕСП8266, наставите и следите водич у мом ЕСП8266: Ардуино убица Упознајте Ардуино убицу: ЕСП8266Шта ако вам кажем да постоји Ардуино компатибилна плоча с уграђеним Ви-Фи-јем за мање од 10 долара? Па, постоји. Опширније водича, а затим се вратите након што потврдите да функционише. Инсталирајте ове додатне библиотеке:

  • лмрои'с ПубСубЦлиент
  • НеоПикелси Адафруит-а

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

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

цонст цхар * ссид = "..."; цонст цхар * пассворд = "..."; цонст цхар * хост = "оффицелигхт"; ИПАддресс МКТТсервер (192, 168, 1, 99);

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

За сада користимо само 4 неопиксела, али можете касније да их повећате ако их напајате из спољног извора. Пошаљите код и тестирајмо - користите свој омиљени МКТТ клијент за слање команди (подесите име хоста у следећим упутствима ако сте га променили).

  • Можете послати на до корена уредско светло канал да га укључим. Пошаљите било коју другу вредност том каналу да бисте га искључили.
  • Можете да пошаљете број од 0-360 канцеларијском светлу / нијанси да промените боју. Ми користимо ХСВ простор у боји, па су 0 и 360 црвени, 120 зелени, а 240 плави.
  • Шаљете проценат вредности за светлост (0-100, не укључује симбол%).
  • Исто за засићење. Вредност 100 биће потпуно засићена (тј. Чврсте боје), а нула ће бити чисто бела, без обзира на специфицирану нијансу.

Када потврдите да светиљка на погону МКТТ делује, пређите даље.

Конфигурација новог ХомеКит додатка

Вратите се на Распберри Пи и затворите ХАП-НодеЈС апликацију ако већ нисте. Идите до /accessories директоријум. Да бисте ово олакшали, можете директно да преузмете код који је већ упарен у учвршћење „оффицелигхт“ тако што ћете уписати следеће:

вгет https://gist.githubusercontent.com/jamesabruce/a6607fa9d93e41042fee/raw/12e4fd1d1c2624e7540ba5e17c3e79bc6bdec5fd/Officelight_accessory.js

У основи, ово је дупликат подразумеваног прибора за осветљење, при чему су промењена нека имена променљивих (поново прилагођена Адисановом раду, поједностављена ради лакше употребе). Ево шта треба да знате за прављење сопствених прилагођених додатака на основу тога.

  • Сва опрема мора бити именована *_аццессори.јс
  • Промените ИП адресу у променљивој опцији на врху на вашем МКТТ серверу
  • Ако имате другачије име учвршћења, претражите / замените све инстанце „уредско светло"Са вашим јединственим именом учвршћења. Можете да претражите / замените у Нано притиском на ЦТРЛ и \, откуцајте термин да бисте пронашли, термин који треба заменити, а затим притисните А (што значи све инстанце). Пређите кроз сваку од њих да бисте прецизно сазнали које се променљиве ажурирају.
  • Креирајте јединствено шестерокутно корисничко име за додатну опрему (лигхт.усернаме = „1Б: 2Б: 3Ц: 5Д: 6Е: ФФ“;)
  • Не мењајте ПИН код. Слиједи одређени формат, а ако не знате шта радите, неће моћи упарити. Нема проблема с одржавањем истих између светла.
  • Можете додати свом уређају другачије „Сири име“ када их додајете у Елгато Еве апликацију и уредити их у било којем тренутку тако да нисте заглављени у свом почетном избору. Не морате да мењате конфигурационе датотеке или рестартујете сервер.
  • Након што добијете више учвршћења, помоћу Елгато Еве апликације можете их груписати по соби или створити одређене сцене које се састоје од више сложених радњи. Сцене се могу састојати од више радњи, као што су: упалите канцеларијско светло, смањите га на 25%, учините црвеним и активирајте апарат за кафу.

Морате поново да додате свој нови додатак преко ХомеКит апликације по избору.

Коначно, желимо покренути нашу ХАП-НодеЈС апликацију сваки пут када се Пи поновно покрене. Додајте следеће на свој итд. / рц.лоцал датотеку, непосредно пре излаз 0.

судо ноде /хоме/пи/ХАП-НодеЈС/Цоре.јс  дев / нулл &

Можете видети да сам то комбиновао са неким другим наредбама које сам већ поставио да покренем приликом дизања.

рцлоцал чвор покретања при покретању

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

судо цхмод 755 /етц/рц.лоцал

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

киллалл чвор

Последњи корак: идите до директорија додатака и обришите ГарагеДоорОпенер_аццессори.јс. У време писања ово је бугги, и узроковаће да се сервер након неког времена поквари.

Шта ћете контролисати са Сири?

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

Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.