Журнал LinuxFormat - перейти на главную

LXF165-166:Ав­то­ма­ти­за­ция: OpenRemote

Материал из Linuxformat
Перейти к: навигация, поиск

Ав­то­ма­ти­за­ция: Управ­ляй­те до­маш­ни­ми уст­рой­ст­ва­ми уда­лен­но со смарт­фо­на

Содержание

OpenRemote: Кон­троль до­ма

Ко­эну Верв­ло­эсе­му не нра­вит­ся, ко­гда в его до­ме распоряжа­ется «чер­ный ящик», и для сво­его по­след­не­го про­ек­та ав­то­ма­ти­за­ции до­ма он при­бег­нул к OpenRemote.

(thumbnail)
Наш эксперт Ко­эн Верв­ло­эсем пи­шет об от­кры­том ПО с 2000 го­да и за это вре­мя нау­чил­ся не до­ве­рять за­кры­тым сис­те­мам лю­бых ти­пов.

Боль­шин­ст­во ре­шений по ав­то­ма­ти­за­ции до­ма про­прие­тар­ны. Вам при­дет­ся за­пла­тить за ку­чу уст­ройств и про­грамм, тес­но пе­ре­пле­тен­ных друг с дру­гом и под­дер­жи­ваю­щих толь­ко за­дан­ный на­бор пе­ри­фе­рий­ных уст­ройств. Ра­зу­ме­ет­ся, нам в Linux Format этот под­ход не нра­вит­ся; но в OpenRemote мы на­шли сред­ст­во ав­то­ма­ти­за­ции, со­от­вет­ст­вую­шее на­шим по­треб­но­стям. Кон­трол­лер ав­то­ма­ти­за­ции с от­кры­тым ис­ход­ным ко­дом на­пи­сан на Java, под­дер­жи­ва­ет несколь­ко про­то­ко­лов ав­то­ма­ти­за­ции, и его мож­но уста­но­вить в Linux, Windows или OS X. Кро­ме то­го, мож­но раз­ра­бо­тать соб­ст­вен­ные ин­тер­фей­сы управ­ления, доступ­ные че­рез web-ин­тер­фейс и при­ло­жение для Android или iPhone. По­это­му с под­хо­дя­щим обо­ру­до­ванием ав­то­ма­ти­за­ции по­тре­бу­ет­ся со­всем немно­го вре­мени для то­го, что­бы вы смог­ли вклю­чать и от­клю­чать уст­рой­ст­ва, про­бу­ж­дать и вы­клю­чать ком­пь­ю­те­ры и вы­пол­нять дру­гие дей­ст­вия несколь­ки­ми щелч­ка­ми на сво­ем смарт­фоне.

Ус­та­нов­ка

Что­бы восполь­зо­вать­ся OpenRemote, уста­но­ви­те на ком­пь­ю­тер про­грам­му кон­трол­ле­ра. Она на­пи­сана на Java, так что спер­ва при­дет­ся уста­но­вить Java JRE. Мы уста­но­ви­ли кон­трол­лер на Raspberry Pi с Raspbian Wheezy (см. врез­ку «OpenRemote на Raspberry Pi»), но под­дер­жи­ва­ют­ся лю­бые дру­гие ди­ст­ри­бу­ти­вы Linux и да­же неко­то­рые уст­рой­ст­ва NAS на ба­зе Linux, та­кие как Synology NAS, Netgear ReadyNAS или QNAP NAS. Ин­ст­рук­ции по уста­нов­ке на эти уст­рой­ст­ва мож­но най­ти в до­ку­мен­та­ции на www.open­remote.org. Кон­трол­лер OpenRemote, ра­зу­ме­ет­ся, дол­жен ра­бо­тать по­сто­ян­но, по­это­му для него сто­ит вы­брать эко­но­мич­ное и же­ла­тель­но ком­пакт­ное уст­рой­ст­во, на­при­мер, NAS или Raspberry Pi, ко­то­рое мож­но спря­тать в под­ва­ле.

За­гру­зи­те ZIP-файл с OpenRemote 2.0 и рас­па­куй­те его. За­тем сде­лай­те скрипт openremote.sh ис­пол­няе­мым и за­пусти­те его:

$ unzip OpenRemote-Controller-2.0.0.zip

$ cd OpenRemote-Controller-2.0.0/bin

$ chmod +x openremote.sh

$ ./openremote.sh run

На эк­ране поя­вит­ся мно­же­ст­во строк вы­во­да; их при­дет­ся про­ана­ли­зи­ро­вать, ес­ли поя­вят­ся ошиб­ки. Ес­ли все про­шло хо­ро­шо, кон­трол­лер OpenRemote те­перь бу­дет слу­шать ко­ман­ды.

До­бав­ля­ем ин­тер­фейс

Те­перь оп­ре­де­лим по­ве­дение и ин­тер­фейс для кон­трол­ле­ра OpenRemote. Для это­го нуж­но соз­дать учет­ную запись в OpenRemote Designer (designer.openremote.org), ди­зайнере ин­тер­фей­сов. Начнем с про­сто­го при­ме­ра: соз­да­дим кноп­ку для про­бу­ж­дения на­столь­но­го ком­пь­ю­те­ра с по­мо­щью Wake-on-LAN [тех­но­ло­гия, по­зво­ляю­щая уда­лен­но вклю­чить ком­пь­ю­тер по­сред­ст­вом от­прав­ки по се­ти спе­ци­аль­но­го па­ке­та, – прим. пер.]. По­сле вво­да ло­ги­на и па­ро­ля вы уви­ди­те Building Modeler [Кон­ст­рук­тор], в ко­то­ром смо­же­те на­стро­ить дей­ст­вия кон­трол­ле­ра.

Щелкните на Device > New > New Device [Уст­рой­ст­во > Соз­дать > Но­вое уст­рой­ст­во] что­бы до­ба­вить но­вое уст­рой­ст­во кон­трол­ле­ра, ука­жи­те его имя (на­при­мер, Raspberry Pi, ес­ли кон­трол­лер ра­бо­та­ет на нем) и на­жми­те Next [Да­лее]. За­тем на­жми­те Add command [До­ба­вить ко­ман­ду], что­бы до­ба­вить но­вую ко­ман­ду, ко­то­рая бу­дет вы­пол­нять­ся кон­трол­ле­ром. За­дай­те ей имя (на­при­мер, Wake PC – «раз­бу­дить ком­пь­ю­тер») и вы­бе­ри­те про­то­кол; в на­шем при­ме­ре это Wake-On-Lan. Как вы уже ви­ди­те в вы­па­даю­щем ме­ню, OpenRemote под­дер­жи­ва­ет при­лич­ное ко­ли­че­­ст­во про­то­ко­лов. В нижней час­ти ок­на вве­ди­те MAC-ад­рес на­столь­но­го ком­пь­ю­те­ра (ко­то­рый мож­но най­ти в вы­во­де ко­ман­ды ifconfig по­сле HWaddr) и ши­ро­ко­ве­ща­тель­ный IP-ад­рес се­ти (ко­то­рый мож­но най­ти там же по­сле Bcast), на­при­мер, 192.168.0.255. За­тем на­жми­те на Submit [От­пра­вить] и на Finish [Конец]. В ле­вой ко­лон­ке долж­но поя­вить­ся уст­рой­ст­во с од­ной ко­ман­дой.

Итак, ко­ман­да для про­бу­ж­дения ком­пь­ю­те­ра оп­ре­де­ле­на, но мы по­ка не оп­ре­де­ли­ли, как ею управ­лять. Для это­го щелк­ните по икон­ке UI Designer [Ди­зайнер ин­тер­фей­са] сле­ва ввер­ху (это вто­рая икон­ка сле­ва) и соз­дай­те но­вую панель, вы­брав New > New Panel [Соз­дать > Но­вая панель]. За­дай­те ее имя и тип (на­при­мер, Android) и на­жми­те Submit [От­пра­вить]. В окне поя­вит­ся вир­ту­аль­ный эк­ран Android. Пе­ре­та­щи­те вид­жет Button [Кноп­ка] с пра­вой час­ти эк­ра­на и зай­ди­те в свой­ст­ва кноп­ки спра­ва; на­жми­те Select [Вы­брать] спра­ва от Command [Ко­ман­да]. Вы­бе­ри­те ко­ман­ду Wake PC, ко­то­рую мы оп­ре­де­ли­ли ранее, и на­жми­те OK. Так­же нуж­но из­менить имя кноп­ки по умол­чанию (“Button”) на нечто бо­лее ин­фор­ма­тив­ное. Те­перь к кноп­ке при­вя­за­на ко­ман­да, по­это­му мож­но на­жать Save [Со­хранить] в верхней час­ти ин­тер­фей­са.

Раз­бу­ди­те свой ком­пь­ю­тер

Раз кон­трол­лер го­тов, у нас долж­на поя­вить­ся воз­мож­ность восполь­зо­вать­ся ин­тер­фей­сом. Про­сто от­крой­те в брау­зе­ре ад­рес http://IPADDRESS:8080/controller/, за­менив IPADDRESS на IP-ад­рес ком­пь­ю­те­ра. Вве­ди­те имя поль­зо­ва­те­ля и па­роль для OpenRemote Designer и на­жми­те на кноп­ку Sync with Online Designer [Син­хронизи­ро­вать­ся c он­лайн-ди­зайнером]. По­сле по­яв­ления со­об­щения “Sync Complete [Син­хрониза­ция за­вер­ше­на]” от­крой­те ад­рес http://IPADDRESS:8080/webconsole и на­жми­те на кноп­ку Search [По­иск], по­сле че­го кон­соль долж­на ав­то­ма­ти­че­­ски най­ти кон­трол­лер.

На­жми­те на стрел­ку спра­ва от ад­ре­са кон­трол­ле­ра, вве­ди­те имя сво­ей панели в по­ле Default Panel Name [Имя панели по умол­чанию] и на­жми­те Save [Со­хранить]. Ес­ли те­перь щелк­нуть по ад­ре­су кон­трол­ле­ра в спи­ске, долж­на от­крыть­ся панель с кноп­кой, ко­то­рую мы до­ба­ви­ли на вир­ту­аль­ный эк­ран смарт­фо­на. На­жа­тие на нее за­ста­вит ваш ком­пь­ю­тер про­снуть­ся.

Ес­ли это не ра­бо­та­ет, воз­мож­но, про­бле­ма в wake-on-LAN, а не в OpenRemote. Пре­ж­де все­го про­верь­те, пра­виль­но ли вве­ли MAC-ад­рес и ши­ро­ко­ве­ща­тель­ный IP-ад­рес. Так­же, воз­мож­но, при­дет­ся вклю­чить Wake-on-LAN в BIOS, или да­же об­но­вить BIOS. Для про­вер­ки функ­ции восполь­зуй­тесь ко­ман­дой wakeonlan, за­пустив ее с ва­шим MAC-ад­ре­сом, что­бы про­ве­рить это вне OpenRemote.

При­ло­жение для Android

При по­мо­щи web-кон­со­ли мож­но управ­лять кон­трол­ле­ром OpenRemote с лю­бо­го уст­рой­ст­ва, на ко­то­ром есть брау­зер; но кро­ме это­го, есть и от­дель­ные при­ло­жения для Android и iOS. Для Android уста­но­ви­те при­ло­жение OpenRemote в Google Play. При за­пуске при­ло­жения оно ав­то­ма­ти­че­­ски об­на­ру­жит кон­трол­лер, ес­ли те­ле­фон с Android под­клю­чен к той же се­ти, что и кон­трол­лер, при условии, что не бы­ла от­клю­че­на воз­мож­ность ав­то­ма­ти­че­­ско­­го об­на­ру­жения [Auto Discovery]. Внизу вы­бе­ри­те панель, ко­то­рая вам нуж­на. В этой ста­тье мы оп­ре­де­ли­ли все­го од­ну панель, но их мо­жет быть и несколь­ко для раз­ных ин­тер­фей­сов од­но­го и то­го же кон­трол­ле­ра – на­при­мер, один для те­ле­фо­на с Android и один для iPad. На­конец, на­жми­те Done [Го­то­во], по­сле че­го в при­ло­жении от­кро­ет­ся панель, соз­дан­ная в OpenRemote Designer. При сле­дую­щем за­пуске при­ло­жения она от­кро­ет­ся сра­зу. Те­перь вы смо­же­те раз­бу­дить свой ком­пь­ю­тер со смарт­фо­на че­рез про­грам­му OpenRemote.

Бу­дить-то ком­пь­ю­тер с те­ле­фо­на мы нау­чи­лись, но как его вы­клю­чать? Это то­же мож­но сде­лать в OpenRemote: нуж­но за­дать ко­ман­ду, ко­то­рая вы­пол­ня­ет скрипт обо­лоч­ки.

Соз­да­дим на кон­трол­ле­ре скрипт shutdown_computer.sh, кото­рый вы­клю­ча­ет ком­пь­ю­тер. В ка­че­­ст­ве ар­гу­мен­та ему нуж­но пере­дать IP-ад­рес ком­пь­ю­те­ра:

#!/bin/bash

ssh -t openremote@$1 sudo shutdown -h now

Па­ра­метр -t необ­хо­дим по­то­му, что sudo требуется тер­ми­нал. За­тем сде­ла­ем скрипт ис­пол­няе­мым:

$ sudo chmod +x /home/pi/shutdown_computer.sh

Те­перь на ком­пь­ю­те­ре, ко­то­рый нуж­но вы­клю­чать уда­лен­но, вы­полните ко­ман­ду sudo visudo и до­бавь­те сле­дую­щие стро­ки:

Cmnd_Alias POWER = /sbin/reboot,/sbin/shutdown

openremote ALL=(ALL) NOPASSWD: POWER

Это га­ран­ти­ру­ет раз­ре­шение поль­зо­ва­те­лю openremote пе­ре­за­гру­жать и вы­клю­чать ком­пь­ю­тер без вво­да па­ро­ля. Конеч­но, это­го поль­зо­ва­те­ля еще нуж­но соз­дать, та­ким об­ра­зом:

$ sudo adduser openremote

Те­перь, так как мы хо­тим вхо­дить в сис­те­му от имени поль­зо­ва­те­ля openremote без вво­да па­ро­ля (так как наш скрипт нуж­но за­пускать вруч­ную), при­дет­ся сгенери­ро­вать па­ру клю­чей без клю­че­вой фра­зы на кон­трол­ле­ре и ско­пи­ро­вать пуб­лич­ный ключ SSH поль­зо­ва­те­ля с кон­трол­ле­ра на наш ком­пь­ю­тер. Для это­го ско­ман­дуй­те

$ ssh-keygen

$ ssh-copy-id -i ~/.ssh/id_rsa.pub openremote@PC

Для на­ча­ла по­про­бу­ем за­пус­тить скрипт с нуж­ным IP-ад­ре­сом:

$ ./shutdown_computer.sh IPADDRESS

Ес­ли это ра­бо­та­ет, соз­дай­те в Open Remote Designer но­вую ко­ман­ду, вы­пол­няю­щую этот скрипт. За­дай­те ее имя, на­при­мер, “Shutdown PC”, вы­бе­ри­те в ка­че­­ст­ве про­то­ко­ла Shell execution protocol и вве­ди­те пол­ный путь до скрип­та, а так­же IP-ад­рес как ар­гу­мент. На дан­ный мо­мент этот про­то­кол под­дер­жи­ва­ет толь­ко один ар­гу­мент скрип­та. На­жми­те Submit.

По­ка мы уда­лен­но управ­ля­ли толь­ко ком­пь­ю­те­ром, но, на­де­юсь, у вас до­ма есть не одни ком­пь­ю­те­ры... при же­лании управ­лять дру­ги­ми уст­рой­ст­ва­ми мож­но восполь­зо­вать­ся про­то­ко­лом ав­то­ма­ти­за­ции до­ма, на­при­мер, X10, Z-Wave или KNX; все они пря­мо или косвен­но под­дер­жи­ва­ют­ся OpenRemote.

Мы по­ка­жем, как опо­сре­до­ван­но управ­лять пе­ре­клю­ча­те­ля­ми в X10 из OpenRemote. Таким образом мож­но ав­то­ма­ти­че­­ски вклю­чать и от­клю­чать ко­фе­вар­ку или свет в до­ме. Един­ст­вен­ное, что для это­го нуж­но – кон­трол­лер X10 и мо­ду­ли X10. Кон­трол­лер X10 от­прав­ля­ет сиг­на­лы по линиям пи­тания, а мо­дуль X10 по­лу­ча­ет эти сиг­на­лы и пе­ре­клю­ча­ет уст­рой­ст­во, под­сое­динен­ное к мо­ду­лю. Под­клю­чив кон­трол­лер X10 к на­ше­му ком­пь­ю­те­ру с кон­трол­ле­ром OpenRemote, мы мо­жем управ­лять на­ши­ми уст­рой­ст­ва­ми X10 цен­тра­ли­зо­ван­но из то­го же ин­тер­фей­са OpenRemote, где на­хо­дят­ся дру­гие ко­ман­ды.

Ком­пи­ля­ция и ис­поль­зо­вание Mochad

У нас есть кон­трол­лер X10 Marmitek XM15Pro, ко­то­рый под­дер­жи­ва­ет­ся Mochad (Multiple Online Controllers for Home Automation Daemon – де­мон несколь­ких он­лайн-кон­трол­ле­ров для ав­то­ма­ти­за­ции до­ма). Его нет в ре­по­зи­то­ри­ях Debian, по­это­му вам при­дет­ся за­гру­зить и ском­пи­ли­ро­вать его са­мим. К сча­стью, сде­лать это нетруд­но:

$ sudo apt-get install libusb-1.0-0-dev

$ tar xvzf mochad-*.tar.gz

$ cd mochad-*

$ ./configure

$ make

$ sudo make install

Поль­зо­вать­ся Mochad до­воль­но лег­ко. При под­клю­чении кон­трол­ле­ра X10 к ком­пь­ю­те­ру че­рез USB Mochad ав­то­ма­ти­че­­ски за­пуска­ет­ся как де­мон. В фай­ле /var/log/messages долж­ны поя­вить­ся сле­дую­щие за­пи­си:

Oct 21 15:11:45 raspberrypi mochad[4962]: starting

Oct 21 15:11:45 raspberrypi mochad[4963]: Found CM15A

Oct 21 15:11:45 raspberrypi mochad[4963]: In endpoint 0x81, Out endpoint 0x02

По­сле за­пус­ка Mochad мож­но управ­лять де­мо­ном ко­ман­дой netcat че­рез порт 1099:

$ nc localhost 1099

Те­перь мож­но вво­дить ко­ман­ды X10, на­при­мер, st для про­смот­ра со­стояния и pl b2 on для вклю­чения мо­ду­ля с ко­дом X10 B2 on. У ка­ж­до­го мо­ду­ля X10 дол­жен быть уникаль­ный код до­ма [House Code] от A до P и код мо­ду­ля [Unit Code] от 1 до 16. Mochad так­же рас­по­зна­ет неко­то­рые об­щие ко­ман­ды, на­при­мер, all_lights_off [вы­клю­чить свет вез­де].

Ес­ли это за­ра­бо­та­ло, при­вя­жи­те ко­ман­ды Mochad к Open­Remote. От­крой­те ди­зайнер OpenRemote и до­бавь­те но­вую ко­ман­ду, на­при­мер, Coffee maker on [Вклю­чить ко­фе­вар­ку]. За­дай­те TCP/IP (не X10!) в ка­че­­ст­ве про­то­ко­ла, localhost в ка­че­­ст­ве IP-ад­ре­са и 1099 в ка­че­­ст­ве пор­та. Вве­ди­те нуж­ную ко­ман­ду Mochad, на­при­мер, pl b2 on, в по­ле Command. На­жми­те Submit. Те­перь до­бавь­те вид­жет Button в ди­зайнере ин­тер­фей­са и при­вя­жи­те соз­дан­ную ко­ман­ду к вид­же­ту. На­жми­те Save и ско­пи­руй­те кон­фи­гу­ра­цию но­во­го кон­трол­ле­ра в кон­трол­лер OpenRemote. Ес­ли все по­лу­чит­ся, вы смо­же­те вклю­чить ко­фе­вар­ку со смарт­фо­на с Android.

Ин­фор­ма­цию о под­держ­ке Open­Remote дру­гих уст­ройств X10 мож­но най­ти в до­ку­мен­та­ции. Не­ко­то­рые уст­рой­ст­ва под­дер­жи­ва­ют­ся по умол­чанию; в этом слу­чае в ка­че­­ст­ве про­то­ко­ла для команд нуж­но вы­би­рать X10. Од­на­ко про­то­кол TCP/IP яв­ля­ет­ся бо­лее гиб­ким, поскольку его мож­но ис­поль­зо­вать также и с лю­бы­ми уст­рой­ст­ва­ми или про­грам­ма­ми, ко­то­ры­ми мож­но управ­лять в netcat.

По­следний ме­тод, ко­то­рый мы про­де­мон­ст­ри­ру­ем – по­лу­чение дан­ных с сай­та ко­ман­дой HTTP и соз­дание ото­бра­жаю­щего их дат­чи­ка на панели OpenRemote. Для при­ме­ра восполь­зу­ем­ся сер­ви­сом Weather2 (www.myweather2.com). Соз­дай­те бес­плат­ную учет­ную запись на этом сай­те и об­ра­ти­те внимание на уникаль­ный код досту­па в раз­де­ле Developer Zone [Раз­ра­бот­чи­кам]. Те­перь, ес­ли вы хо­ти­те уз­нать по­го­ду в Ве­ли­ко­бри­тании в ме­ст­но­сти с поч­то­вым ин­дек­сом BA1 (это штаб-квар­ти­ра LXF), от­крой­те сле­дую­щий ад­рес: www.myweather2.com/developer/forecast.ashx?uac=UNIQUEACCESSCODE&output=xml&query=BA1. Он вернет XML-файл с про­гно­зом по­го­ды на два дня.

Ес­ли вы хо­ти­те восполь­зо­вать­ся этим про­гно­зом по­го­ды в OpenRemote, соз­дай­те но­вую ко­ман­ду, за­дай­те ее имя (на­при­мер, “Current temperature [Те­ку­щая тем­пе­ра­ту­ра]”) и вы­бе­ри­те HTTP в ка­че­­ст­ве про­то­ко­ла. В по­ле URL вве­ди­те URL про­гно­за.

Так как web-сер­вер воз­вра­ща­ет XML-файл, здесь мож­но ввести вы­ра­жение XPath для добычи нуж­ной ин­фор­ма­ции. Напри­мер, вы­ра­жение для из­вле­чения те­ку­щей тем­пе­ра­ту­ры бу­дет та­ким: //curren_weather/temp. За­тем вы­бе­ри­те ин­тер­вал оп­ро­са, на­при­мер, «30m» для оп­ро­са раз в пол­ча­са, и на­жми­те Submit.

Соз­да­ем дат­чик

Мы об­за­ве­лись ко­ман­дой для из­вле­чения те­ку­щей тем­пе­ра­ту­ры, но ее нуж­но по­ка­зать в ин­тер­фей­се поль­зо­ва­те­ля. Для это­го соз­дай­те но­вый дат­чик, свя­зы­вае­мый с ко­ман­дой. На­жми­те New sensor [Но­вый дат­чик], за­дай­те ему имя Current temperature и вы­бе­ри­те ко­ман­ду, ко­то­рую нуж­но с ним свя­зать. В ка­че­­ст­ве ти­па ко­ман­ды вы­бе­ри­те Custom [Поль­зо­ва­тель­ская]. На­жми­те Submit, и по­сле это­го дат­чик поя­вит­ся в ле­вой ко­лон­ке.

Те­перь пе­рей­ди­те в ди­зайнер ин­тер­фей­сов и до­бавь­те мет­ку со ста­тич­ным тек­стом (на­при­мер, Тем­пе­ра­ту­ра в г. Бат (°C)) и еще од­ну мет­ку, ко­то­рую вы свя­же­те с дат­чи­ком Current temperature. Для это­го щелкните на Sensor [Дат­чик] и вы­бе­ри­те под­хо­дя­щий дат­чик. На­конец, со­храните кон­фи­гу­ра­цию но­во­го кон­трол­ле­ра и син­хронизи­руй­те ее с кон­трол­ле­ром OpenRemote. Те­перь на смарт­фоне поя­вит­ся те­ку­щая тем­пе­ра­ту­ра.

OpenRemote легко ин­тег­ри­руется со мно­ги­ми дру­ги­ми уст­рой­ст­ва­ми и про­грам­ма­ми – за­гляните в до­ку­мен­та­цию, что­бы уз­нать об этом под­робнее. На­при­мер, с по­мо­щью панели OpenRemote мож­но управ­лять ме­диа-про­иг­ры­ва­те­лем XBMC на неко­то­рых те­ле­ви­зо­рах Samsung; OpenRemote мож­но ис­поль­зо­вать с сис­те­ма­ми сиг­на­ли­за­ции из­би­ра­тель­но­го циф­ро­во­го вы­зо­ва, ин­фра­крас­ны­ми при­емника­ми... список можно продолжить.

OpenRemote все еще на­хо­дит­ся в раз­ра­бот­ке и не яв­ля­ет­ся го­то­вым и бы­ст­рым ре­шением, од­на­ко есть пре­крас­ное со­об­ще­ст­во экс­пе­ри­мен­та­то­ров, ко­то­рые до­бав­ля­ют под­держ­ку но­вых уст­ройств, и когда вы бу­де­те чи­тать эту ста­тью, у вас под ру­кой появится еще боль­ше но­вых воз­мож­но­стей превратить свое жилище в «умный дом». |

Персональные инструменты
купить
подписаться
Яндекс.Метрика