Реклама

Сан било којег љубитеља паметног дома је дом са којим можете разговарати, али од тога је стварност далеко.

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

ти моћи учините то са Сонос системом и мало ДИИ Распберри Пи магије. Данас ћу вам показати како да поставите гласовне обавештења на вашем систему Сонос, уводећи неколико корисних рецепата ИФТТТ, ОпенХАБ интеграције и још много тога, како бисте користили функцију обавештења.

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

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

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

Мораћете

  • Распберри Пи 2 (старији модели би требало да раде, али проверите да ли постоје посебне промене у упутствима)
  • Најмање један Сонос звучник (остали аудио системи нису подржани, ово је туториал само за Сонос)
  • Бесплатан рачун на ВоицеРСС.орг [Нема више доступних]. Региструјте се тада пронађите свој АПИ кључ, које ће нам касније требати да бисмо генерисали гласовне поруке.

Инсталирајте Ноде Латест

Уверите се коју верзију чвора имате помоћу куцања:

ноде -в 

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

Ако немате в5 или ако није пронађена грешка, следите ова упутства да бисте инсталирали Чвор. Следећа команда претпоставља Распберри Пи 2; за старије моделе користите армв6л уместо армв7л.

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

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

ноде -в

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

Затим имамо неколико модула чвора за инсталирање. Ми такође желимо Ноде Пацкаге Манагер.

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

То је услов за сада, сада на забавне ствари.

Сонос ХТТП АПИ

Тхе Сонос ХТТП АПИ креира веб сервер на локалној мрежи који нам омогућава да пингамо УРЛ с поруком коју објавимо на Сонос (и да га даљински управљате ако желите, мада је овај водич фокусиран само на гласовно обавештење аспект).

гит клон https://github.com/jishi/node-sonos-http-api.git сонос. ЦД сонос. нпм инсталл - продукција. нпм старт. 

Ако видите да порука о таквом и таквом модулу није пронађена, само урадите другу нпм инсталл и име модула, а затим покушајте нпм старт опет. Ако имате грешке у вези са „Захтева Ц ++ 11 преводилац“, исправите помоћу следећих команди:

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

На крају бисте требали видети нешто овако:

сонос-хттп-апи ради

Сервер се покреће и повезује се са Соносом. Формат овог АПИ-ја је једноставан:

http://[SERVER ИП]: 5005 / [ИМЕ СОБЕ] / [АКЦИЈА]

Или као конкретан пример:

http://192.168.1.99:5005/kitchen/playlist/chillout

Радња која нас занима је наредба „реци“, која се користи на следећи начин:

http://192.168.1.99:5005/kitchen/say/make%20use%20of%20is%20awesome/en-gb

Чућете поруку о грешци због потребе да се региструјете на АПИ кључ на ВоицеРСС.орг. Требали сте то већ учинити, па откуцајте следеће и залепите у АПИ кључ како треба:

нано сеттингс.јсон

{

"воицерсс": "ИОУРАПИКЕИ" }

(Притисните ЦТРЛ-Кс, И да бисте сачували датотеку)

Поново покрените сервер и поново упишите УРЛ адресу. Након неколико секунди требали бисте чути сјајан енглески језик (иако промените крај УРЛ-а у ен-ус ако бисте радије). Да би Сонос ХТТП АПИ сервер покренуо поново када се Пи поново покрене:

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

Додајте линију пре излаз 0:

судо ноде /хоме/пи/сонос/сервер.јс  дев / нулл &

Сада имате могућност да креирате гласовну поруку са било којег места на локалној мрежи једноставним уношењем УРЛ-а, тако да су могућности у овом тренутку широм отворене. Ако се ипак борите за идеје, прочитајте неколико корисних обавештења која сам поставио.

Обавештења о ОпенХАБ догађајима

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

правило "Откривено кретање врта" када се ставка Гарден_Мотион промени тада вар Стринг мессаге = "Имате посетиоца" сендХттпГетРекуест (" http://localhost: 5005 / кухиња / реци / "+ мессаге.енцоде (" УТФ-8 ") +" / ср-гб ") крај.

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

Дневни временски извештај од ИФТТТ за ОпенХАБ до Сонос

У овом ћемо рецепту Сонос објавити дневни временски извештај у жељено време.

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

Затим креирајте нову ставку Стринг у својој инсталацији ОпенХАБ која ће чувати дневни временски извештај. Пре него што је ово видљиво у Ми. ОпенХАБ канал, мораћемо да га иницијализирамо са неком заданом променљивом. Унесите следећу УРЛ адресу (промените) распберрипи.лоцал на свој ОпенХАБ сервер или само користите ИП адресу и Тодаис_Веатхер ономе што сте назвали Гудач):

http://raspberrypi.local: 8080 / ЦМД? ТодаисВеатхер = Сунни 

Пријавите се на Мој. ОпенХАБ [Прекидана УРЛ адреса је уклоњена] и проверите Предмети листу да бисте осигурали да је променљива сада извезена.

мој чек за извоз предмета опенхаб

Вратите се на ИФТТТ, креирајте нови рецепт и користите Временски канал као окидач у жељено доба дана. Морате прво да подесите локацију ако је никада раније нисте користили.

Изаберите Мој. Као акцију отворите ОпенХАБ, а као променљиву за ажурирање изаберите Тодаис_Веатхер.

ифттт Веатхер репорт

За сада само одаберите наредни пола сата за тестирање - рецепт можете ажурирати касније када будете знали да дјелује.

Свакако, у време тестирања (у ствари мало раније), данашња је прогноза успешно ажурирана.

27.02.2016 10: 28: 01.689 [ДЕБУГ] [о.о.и.м.и. МиОпенХАБСервицеИмпл] - Примљена наредба Данас претежно облачно! Са високом од 7Ц и малом од 1Ц. Понављање. Услови ће данас бити претежно облачно, са високим 7Ц и нижим 1Ц. за ставку Тодаис_Веатхер. 27.02.2016 10: 28: 01.697 [ДЕБУГ] [о.о.и.м.и. МиОпенХАБСервицеИмпл] - продавница (Тодаис_Веатхер), држава = Данас претежно облачно! Са високом од 7Ц и малом од 1Ц. Понављање. Услови ће данас бити претежно облачно, са високим 7Ц и нижим 1Ц. 

Даље, потребно нам је ОпенХАБ правило да ову променљиву пошаљемо у Сонос „рецимо“ УРЛ. То би требало учинити:

правило „Најавите дневни временски извештај“ када је ставка Тодаис_Веатхер добила ажурирање. онда пошаљитеХттпГетРекуест („ http://localhost: 5005 / кухиња / реци / "+ Тодаис_Веатхер.стате.тоСтринг.енцоде (" УТФ-8 ") +" / ср-гб ") крај.

Ово је довољно једноставно: сваки пут када се ажурира варијабла Тодаис_Веатхер (што ће бити, аутоматски у 8 сати сваког дана), пинг УРЛ. Користимо кодирање („УТФ-8“) Стринг функција која чини реченицу из ИФТТТ-а погодном за употребу у УРЛ-у. Да бисте ручно тестирали овај део система, само поново користите ОпенХАБ ХТТП АПИ:

http://raspberrypi.local: 8080 / ЦМД? Тодаис_Веатхер = Облачно, са вероватноћом грмљавине. 

Повежите се на ИФТТТ без ОпенХАБ-а коришћењем чвора Иф-Тхис-Онда-Онда

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

Започните постављањем једног од многих бесплатне динамичке ДНС услуге 5 најбољих бесплатних динамичких ДНС провајдераДДНС услуга може вам помоћи да се повежете са кућним рачунаром док сте у покрету. Ево најбољих бесплатних динамичких ДНС добављача које треба узети у обзир. Опширније вани - препоручујем ДуцкДНС, посебно зато што пружа једноставан сет упутства за Распберри Пи, омогућавајући му да аутоматски ажурира вашу ИП адресу. Слиједите ове кораке и запамтите свој УРЛ за сљедеће кораке. Ваш рутер може такође имати уграђену динамичку ДНС функцију, па прво то проверите. У мом случају могу добити * .минетгеар.цом УРЛ бесплатно, па сам га и користио.

Затим пронађите рутер прослеђивање порта Шта је просљеђивање портова и како ми може помоћи? [МакеУсеОф објашњава]Да ли плачете мало унутра кад вам неко каже да постоји проблем са просљеђивањем порта и да зато ваша сјајна нова апликација неће радити? Ксбок вам неће дозволити играње игрица, преузимања торрента одбијају ... Опширније конфигурациона страница; овде ћемо рећи шта да радимо са долазним захтевима. Проследите све ХТТП захтеве (порт 80) на порт 1337 на вашем Распберри Пи серверу. Претпостављам да имате ИП адресу већ резервисану за свој Распберри Пи - ако нисте, проверите конфигурацију рутера страницу за резервисане ИП адресе док сте тамо, јер не желите да се мења следеће недеље и да би се сервер изненада зауставио рад.

прослеђивање конфигурације рутера

Сада да инсталирате последњи залогај софтверског софтвера.

https://github.com/sebauer/if-this-then-node.git. цд иф-тхис-тхен-чвор / нпм инсталл. ноде сервер.јс.

Требали бисте видети следеће.

ако је то онда грешка заданих вредности чвора

То је у реду, то само значи да морамо да ажурирамо своје детаље. Отворити цонфиг.јс у Нано-у и уредите те детаље на било шта друго осим заданог, а затим их сачувајте. Када поново покренете сервер, требало би да видите ово:

ако се тај сервер чвора покреће

Велики. Провјерите да ли је ваш уређај доступан из вањског свијета тако што ћете уписати своје динамично ДНС име хоста и додати /ифттн / до краја УРЛ адресе. Ако све успије, порука "ИФТТН - Верзија 2.0.1 ако-овај-онда-чвор је покренута и ради!" ће се приказати у вашем прегледачу. Опет, да бисте покренули ову скрипту при покретању, уредите /etc/rc.local датотека и додај:

судо ноде /хоме/пи/иф-тхис-тхен-ноде/сервер.јс  дев / нулл &

Чвор "Ако-овај-онда" функционише путем додатака - испоручује се неколико заданих поставки, али нас не занимају. Уместо тога, преузмите овај прилагођени додатак који сам вам написао помоћу следећих команди.

ЦД додаци. вгет https://gist.githubusercontent.com/jamesabruce/4af8db24ba3452b94877/raw/d11c1cff3aa44dbb6a738eeb15202f3db461de75/sonos.js 

Такође ћете морати да инсталирате захтев модул.

нпм инсталација захтева. 

Затим поново покрените сервер. Додатак је прилично једноставан, али мало другачији од УРЛ-а који смо до сада користили. У овом случају, користио сам посебну „саиалл“ акцију, која поруку шаље на сваки Сонос уређај.

захтев(' http://localhost: 5005 / саиалл / '+ парамс.мессаге +' / ен-гб ', функција (грешка, одговор, тело)

Ако бисте радије могли да циљате одређене уређаје, замените је са:

захтев(' http://localhost: 5005 / '+ парамс.девице +' / саи / '+ парамс.мессаге +' / ен-гб ', функција (грешка, одговор, тело)

Додајте још један паралелни параметар зван уређај на ЈСОН захтев испод у коме треба да се наведе име Сонос уређаја.

Да бих ово тестирао, користим ИФТТТ апликацију дугмета „Уради“. Креирајте нови рецепт, потражите канале и изаберите Макер канал.

не дугме

Креирајте нови рецепт. Унесите УРЛ који сте претходно конфигурисали од бесплатног динамичког ДНС провајдера (укључујући /ifttn/ на крају УРЛ адресе. Не заборавите те црте). Изаберите ПОШТА захтев, апликација / јсон садржај и тело поруке на следећи начин, замењујући све променљиве по потреби са онима које сте претходно конфигурисали:

{"ацтион": "сонос", "усер": "ИОУРУСЕР", "пв": "ИОУРПАССВОРД", "мессаге": "Долазна порука за све: Вечера је спремна! Понављање. Вечера је спремна. Ставите гузице горе горе. "}

Сада имам лако доступно дугме које ће објавити поруку на свим Сонос уређајима у кући. Наравно, ово можете упарити са било којим ИФТТТ каналом који желите да направите прилагођену поруку користећи променљиве са тог канала. Чак бисте требали бити у могућности да реплицирате временски извештај одозго без да сада употребљавате ОпенХАБ, иако је било потребно додатно настојање да се инсталира други сервер.

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

покушаји хакирања веб сервера

Шта ћете саопштити?

Сада бисте требали имати алате и способност да константно окупате читаву кућу гласовним обавештењима о свему што бисте се можда могли сјетити. Коме треба музика? Једино вам је ограничење 350 дневних захтева са ВоицеРСС.орг - али то је отприлике један на свака 4 минута, тако да би требало да будете у реду.

Па шта ћете учинити са овим? У коментарима поделите своје идеје или ИФТТТ рецепт!

Имаге Цредитс:кафа и жена аутор: С_Пхото преко Схуттерстоцк

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