UA-23773963-1
Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Веб интерфейс для управления освещением в квартире

Опубликовано 08.05.2013

    В этой статье я расскажу как я достаточно быстро и без особых усилий создал веб интерфейс для управления электроприборами в моем умном доме.

    В очередной раз бродя по просторам интернета в поисках Веб интерфейса для управления электроприборами по протоколу Х10, я естественно попал на сайт компании Melloware. В поддержку выпускаемого ими оборудования Х10 компания предлагает (бесплатно) программный продукт под названием  X10 commander.  Это сервер, устанавливаемый на компьютер с  ОС Windows к которому подключен USB Х10 контроллер типа СМ15 или ему подобный. На сервере прописываются все имеющиеся в доме Х10 устройства их адреса и типы. X10 Commander позволяет управлять описанными устройствами  непосредственно с компьютера, где он установлен или удаленно, через HTTP (GET) запросы типаhttp://localhost:8086/?x10command=DEVICE~sendplc~"A1 ON" (это в частности команда включить устройство по адресу А1) Кроме того эта же компания (Уже за небольшие деньги) предлагает программки устанавливаемые на планшет или телефон  iOS/Android, которые работают через этот же сервер и позволяют весьма комфортно управлять устройствами Х10.
    Моя идея заключалась в следующем. На компьютер который у меня дома выполняет роль домашнего медиа сервера, торент качалки, Скайпера, ит.д. и т.п. Я устанавливаю Веб и  ФТП серверы ,X10 commander и подключаю контроллер СМ15. Рисуем сайт и публикуем его через веб сервер в локалке, и при желании пробрасываем в глобальную сеть для совсем удаленного управления. (Кстати позже на этот компе я установил и сервер HomeSapiens и в результате получил еще и голосовое управление. Подробнее см. тут)
    Для того что бы реализовать эту идею пришлось немного почитать погуглить и поработать головой и ручками. Не буду в рамках этой статьи описывать как устанавливается веб сервер и как он работает (Гугл и умные книжки Вам в помощь). Поделюсь тем что нагуглил непосредственно для цели управления Х10 через контроллер СМ15 и применение  X10 Commander.
    Подробно про синтаксис X10commander можно почитать тут. Загрузить пакет ActiveHomePro SDK с сайта производителя x10 будет тоже не лишним там подробно описан протокол обмена с СМ15, хотя основные выжимки вот (переведенный гуглом кусочек описания): 
    Давайте разберем синтаксис .... http://localhost:8086 = сервер и порт, где командиром X10 работает ? x10command = = параметр сигнализации, какую команду вы хотите выполнить DEVICE ~ ~ sendplc "А1 OFF" , разделенных тильдой в первым всегда устройство, а затем sendplc / sendrf в зависимости от того, хотите линии электропередачи или радио Frequence (RS работает еще команда queryplc - запрос состояния), а затем "A1 OFF" в кавычки,  устройства и код дома, а также команда. несколько примеров ....
// Включить A1 ON
http://localhost:8086/?x10command=DEVICE~sendplc~"A1 ON"
// Увеличить яркость A1 на 50%
http://localhost:8086/?x10command=DEVICE~sendplc~"A1 BRIGHT 50"
// Диммировать A1 на 30%

http://localhost:8086/?x10command=DEVICE~sendplc~"A1 DIM 30"


    На форуме Melloware Forums в разделе Web Interface To X10 Commander я нашел весьма любопытный пример на Javascript который позволяет создать на странице удобное поле кнопок, нажимая на которые можно управлять своими приборами по протоколу Х10 через сервер Х10commander. Вот здесь его текст, что бы долго не искать. Желающие повторить адаптируйте его под параметры своего дома прописав соответствующие названия адреса и команды, указав адрес сервера логин и пароль которые установлены на X10 Commander. Далее вставляйте этот скрипт в свою HTML страничку..... и собственно все! Будет вам счастье :-)
    Я тоже решил попробовать создать свою страничку с использованием этого скрипта. Поскольку я не программист и с HTML знаком на уровне чайника, я взялся создать страничку с помощью какого нибудь конструктора сайтов. Попался под руку программа для быстрого создания сайтов WebSite X5, выбрал шаблон внешнего вида сайта настроил меню вставил картинку и адаптированный под мои настройки скрипт. и получилось как то вот так:
     Потом мне захотелось организовать интерактивное управление что бы на сайте было видно чем я управляю и какое состояние светильников в комнате сейчас. Покопавшись в синтаксисе обмена с сервером X10 Commander и языка HTML я в той же программе на создавал нужные мне странички с соответствующим внешним видом и вставил в них немного кода ручками для формирования запросов к серверу X10 Commander. (Истинно сказано - Благословенны трудности! Ими растем!)
Вот что получилось в результате:
 
 
 
 
 
 
 
        По щелчку по картинке изменяется состояние светильников в комнате и соответственно на картинке.
    Таким образом цель была достигнута буквально за 3-4 вечера плотного сидения за компом.
Хотя стоит отметить, что не смотря на то, что интерфейс управления на веб странице весьма простой и интуитивно понятный, пользуюсь им я один. Домочадцы предпочитают, по привычке, щелкать выключателями. Похоже что бы этот сервис был востребован на месте выключателей должен висеть какой нить планшет с загруженной страничкой управления конкретно этой комнаты. Но и бесполезным этот сервис не назовешь! Я сидя за своим компом, что называется, не отрывая точки опоры с удобного кресла, включаю/выключаю себе верхний свет, когда нужно. И конечно могу управлять своими электроприборами через интернет, когда в этом возникнет необходимость. (если возникнет конечно :-)  )