Реклама
Асортиман лампица Пхилипс Хуе сигурно није јефтин (постоје неке алтернативе Алтернатива за Пхилипс Хуе које су заиста вредне тогаСистем Пхилипс Хуе води напуњеност када је у питању паметно осветљење, али постоје неке вредне алтернативе. Одабрали смо три која нуде исти скуп основних карактеристика и могућност хакирања. Опширније ), али једна ствар коју заиста ценим је добро документована АПИ Шта су АПИ-ји и како отворени АПИ-ји мењају интернетДа ли сте се икад запитали како програми на рачунару и веб локације које посећујете "разговарају" једни са другима? Опширније за прављење сопствених Хуе апликација. Данас ћу вам показати како управљати својим Хуе лампама из Ардуино-ја, а затим додајем једноставан сензор кретања.
Зашто ово радимо? Зато што системи кућне аутоматизације могу бити прилично крути и скупи. Учећи како да контролишете нијансу од Ардуино-а, отварате врата разним пројектима кућне аутоматизације по мери који једноставно не могу бити победили компонентама које нису на полици. Ако хакирање ствари није ствар, покушајте са овим
8 феноменалних Хуе апликација 7 најбољих Пхилипс Хуе апликација за Андроид и иПхонеТражите најбоље апликације Пхилипс Хуе које можете користити са својим паметним лампицама? Ево неколико сјајних апликација за иПхоне и Андроид. Опширније уместо тога.Хуе Систем
Да мало размотримо техничку технику, тако да ћете знати основне системе са којима радите. Хуе лампице стварају мрежа мреже Мрежне мреже: Будућност комуникацијеМрежне мреже су готово нерањиве. У мрежној мрежи не постоје тачке гушења кроз које пролази сав саобраћај. Уместо тога, информације се преносе са једног уређаја на други све док не стигну до свог одредишта. Опширније , користећи бежични протокол кратког домета зван ЗигБее - тачно они јесу ЗигБее Лигхт Линк сертификовано, што значи да би и други ЗЛЛ производи требало да раде упоредо са Хуе-ом (у теорији).
Иако је технички мали домет, значајка мрежног умрежавања ЗигБее значи да свака нова сијалица проширује мрежу, преносећи поруке другим сијалицама. То значи да ако имате проблема са контролисањем светла са друге стране куће, покушајте да ставите друго светло између њих.
Зигбее је одличан протокол, али сасвим је различит од Ви-Фи-ја или жичане рачунарске мреже, тако да нам је потребан Пхилипс Хуе Бридге да бисмо се њих двоје заједно повезали. Мост Хуе покреће модификовани линук фирмваре отвореног кода који емитује основни веб сервер.
Помоћу овог локалног веб сервера можете сазнати тренутно стање светла и управљати њима.
То је прелепо једноставан систем и зрео за уради сам. Кудос Пхилипсу да ово учини тако хакативним.
Почевши од
Пре него што приступите АПИ документацији, мораћете региструјте се као програмер. Бесплатно је, али морате да прихватите одредбе и услове. Уради то сада.
Свако ко је упознат са стандардним веб услугама или Јавасцрипт-ом треба да буде у могућности да ради са Хуе-ом: сви подаци се преносе и примају као ЈСОН пакети Шта је ЈСОН? Преглед лаикаБез обзира да ли планирате да будете веб програмер или не, добра је идеја да бар знате шта је ЈСОН, зашто је то важно и зашто се користи широм веба. Опширније .
Да бисте ово погледали у акцији, мораћете да знате ИП адресу моста Хуе. Постоји неколико начина да се то постигне:
- Погледајте табелу додељивања ДХЦП адресе у администраторском сучељу вашег рутера
- Покрените програм за мапирање мреже попут Почетна страна за скенер ИП
- Пробајте Алат за брокер компаније Пхилипс УПнП
- Пинг "пхилипс-хуе.хоме"
Када завршите, наставите и упишите га у адресну траку прегледача дебуг / цлип.хтмл додато у УРЛ. У мом случају то је било:
http://192.168.1.216/debug/clip.html
Ово је алат за уклањање погрешака који вам омогућава да шаљете и примате ЈСОН пакете путем једноставног веб интерфејса. Први корак је омогућавање профила програмера на самом Хуе Бридге-у - који је подразумевано онемогућен из безбедносних разлога. Налепите следеће у поље БОДИ, а УРЛ оставите као /api/и пошаљите ПОСТ захтев кликом на дугме поста:
{"девицетипе": "тест корисник", "усернаме": "невдевелопер"}
Први пут када то учините, видећете „тастер везе који није притиснут“ негде у одговору. Ово је сигурносна функција која захтијева да свака нова апликација коју користите буде физички овлаштена. Идите и пронађите свој мост, притисните дугме и поново пошаљите исти захтев у року од 30 секунди. Овог пута добићете другачији одговор и корисник ће бити овлашћен. Ако желите да користите неко друго корисничко име, прочитајте АПИ документе о креирање корисника. За сада ће то бити довољно.
Једном када се корисник постави, основни УРЛ с којим би требали комуницирати постаје /api/newdeveloper/. Можете послати ГЕТ захтев да сазнате све што ваш Бридге тренутно зна о прикљученим лампама, алармима, сценама и кратком дневнику употребљених апликација. Ево примера неких информација о статусу које се налазе за једну сијалицу.
"држава": {"он": тачно, "бри": 254, "нијанса": 14910, "сат": 144, "ефекат": "ниједан", "ки": [0.4596, 0.4105], "цт": 369, "аларм": "ниједан", "цолормоде": "цт", "досегљив": фалсе}, "типе": "Ектендед цолор ламп", "наме": "Спаваћа соба 1", "моделид": "ЛЦТ001",
Имајте на уму да „Он“: тачно држава вам заправо не показује је ли сијалица укључена или не; само то према подешавањима Бридгеа, то требало би бити на. „Достижан“: лажно може да укаже да је сијалица предалеко или једноставно искључена на прекидачу.
Последњи пример пре него што ово интегришемо у Ардуино: проверите да ли је једно од ваших лампица видљиво и укључено и да знате који је број. Промените УРЛ у /api/newdevelopers/lights/1/state (промените број на ваше светло) и пошаљите ПУТ захтев са следећим подацима:
{"нијанса": 50100, "сат": 255, "бри": 255}
Требали бисте видети како ваше светло реагује овако:
Оно што сте урадили је да гурнете ново стање у сијалицу. Такође можете додати „транитионтиме“, што је примитивни начин анимације који показује колико секунди желите да промени стање.
Боја се може подесити на више различитих начина, али нажалост не постоји једноставан начин за слање РГБ вредности. У горњем примеру смо послали нијанса, сатурација и бригхтнесс. Покушајте променити вредност нијансе и поново послати ПУТ захтев.
Ради од Ардуина
Постоји постојећа Хуе / Ардуино библиотека која се зове АрдуиноХуе на које се сами Пхилипс вежу у АПИ документацији, али проблем ове библиотеке је у томе што је она комуницира преко УСБ везе на ПЦ, што такође треба да покрене Питхон апликацију стално. Еугх. Такође можете пустити ваш рачунар да покрене читаву ствар у том тренутку и у потпуности исећи Ардуино.
Уместо тога, показаћу вам како да управљате нијансом Ардуино користећи Етхернет штит. Ваш Ардуино није потребно да буде повезан са рачунаром, тако да може радити независно где год можете да поставите Етхернет кабл. Заправо, требало би да ради и са Ви-Фи штитом, али немам са ким да се играм.
Ако желите да прескочите унапред, цео узорак кода је уграђен испод, или доступно овде. Прилагодио сам га на примеру објављеном аутор Гилсон Огуиме. Ако се никада раније нисте играли са својим Етхернет штитом, можда бисте желели да брзо прођете кроз туториал за веб клијенте - Претпостављам неки ниво познавања тога и нећу покривати код који се користи за успостављање мрежног ИП-а итд. Такође смо вам показали како креирати мини веб сервер са Етхернет штитом Дајте свом пројекту Ардуино властити мини-веб сервер, са Етхернет штитомПре неко време, показао сам вам како да подесите систем за контролу интернета за ваш Ардуино - али морао је да буде повезан са рачунаром преко УСБ-а да би одржао интернет везу ... Опширније .
Стварање промена стања
Стварање новог стања које ће се притиснути на сијалице једноставан је случај стварања новог Низ променљива и избегавање свих двоструких наводника. Додао сам случајно () функционишу и тамо да би створили помало динамичну анимацију. Покушајте да промените нијансу случајно и за различите боје.
Стринг цомманд = "{\" он ": труе, \" хуе \ ": 50100, \" сат \ ": 255, \" бри \ ": 255, \" транитионтиме \ ":" + стринг (рандом (15, 25)) + "}";
Слање команде
Да бисте уствари послали наредбу, имате помоћну функцију названу сетХуе () која узима лагани број и наредбени низ као аргумент, као што је:
сетХуе (1, команда);
Све што се тада ради је да се повеже на мост, избаци наредбу као ПУТ захтев, заједно са свим осталим глупостима које ствара стварање ХТТП захтева.
цлиент.принт ("ПУТ / апи /"); цлиент.принт (хуеУсернаме); цлиент.принт ("/ светла /"); цлиент.принт (лигхтНум); цлиент.принтлн ("/ стање ХТТП / 1.1"); цлиент.принтлн ("будите живи"); цлиент.принт ("Хост:"); цлиент.принтлн (хуеХубИП); цлиент.принт ("Дужина садржаја:"); цлиент.принтлн (цомманд.ленгтх ()); цлиент.принтлн ("Врста садржаја: текст / обична; цхарсет = УТФ-8 "); цлиент.принтлн (); // празна линија пре тела. цлиент.принтлн (команда); // Хуе наредба.
Додавање сензора за кретање
Коначно, спојио сам једноставно ХЦ-СР501 сензор кретања на дигитални И / О пин 2. Када се открије кретање, низ стања се гура на мост за две сијалице да би се створила спора, динамична анимација. Када се сензор кретања деактивира, једна наредба за искључивање се шаље обема. У идеалном случају, они би били враћени у стање у којем су били пре открића кретања, али логика није тако паметна - ми ћемо их само укључити и искључити.
Ограничења
Иако је неприлагођени код, потребно је готово секунду да мрежни интерфејс Ардуино-а пошаље један једини захтев за команду. Испробао сам исту команду са Маца, користећи исту Етхернет везу, и била је способна десет до двадесет пута већа од ове брзине (ево АпплеСцрипт-а у случају да желите да тестирате). Сходно томе, било која брза анимација (покушавала сам да створим ефект трепереће свеће) са Ардуино-а није могућа. Ово не би требало да представља проблем већини пројеката, само за светлосне анимације велике брзине, али добро је бити свестан ограничења.
Такође је тешко у потпуности анализирати било који ЈСОН одговор који се вратите са моста; на Ардуину једноставно нема довољно РАМ-а за чување свих необрађених података. Из овог разлога се можда желите ограничити на слање.
Хацк тхе Хуе
Сада када сте наоружани знањем како да потпуно самостално контролирате Хуе, то отвара свет хаковачких кућа за аутоматизацију кућа. Право питање је: шта ћете направити?
Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.