http://habrahabr.ru/company/ximad/blog/257055/
В предыдущей статье мы рассказывали о преимуществах и проблемах использования системы Умного дома с точки зрения пользователей. Теперь поговорим о конкретной реализации . Расскажите об общей схеме взаимодействия?Юрий: локальный сервер организован на мини PC, к которому подключается USB контроллер, управляющий всеми подключенными z-wave-устройствами и содержащий данные о них. Подключение мобильных устройств (смартфонов, планшетов) организовано посредством wi-fi роутера. Эта локальная схема. В дальнейшем также планируем использовать support-сервер, который будет управляться нами и где будут храниться данные о подключенных пользователях, их критические данные для возможного восстановления системы. Сервер будет использоваться для отслеживания критических ошибок и их оперативного исправления, выпуска обновлений. Через сервер мы реализуем push-, sms-, e-mail-уведомления. Такова общая схема построения серверной логики.
Что отличает имеющийся у нас интерфейс от прочих?Юлия: Главное преимущество нашего интерфейса – удобное управление, как отдельными датчиками, так и всей системой в целом. Это возможно с помощью двух режимов управления, ориентированных на предпочтения, а скорее, чувства удобства для основных групп пользователей. Кому-то нравится и более наглядно управление с планом, где отображен основной необходимый функционал, кому-то необходима сразу вся информация по системе.
Александр Б.: Да, у нас есть быстрое переключение между разными режимами отображения плана: обычным и экспертным. Обычный режим позволяет быстро смотреть, как система работает, а нажатием одной кнопки можно перейти в экспертный режим, где приводится расширенная информация по всем датчикам (например, статус батарейки, последние произошедшие события в помещении и пр.)
Юлия: также неплохо продумана система фильтров датчиков: пользователь самостоятельно может настроить систему, чтобы отображались только необходимые ему датчики.
К тому же, в нашей системе имеется удобный редактор плана самого помещения, когда пользователь самостоятельно отрисовывает или меняет план дома/квартиры
Насколько тяжело настроить систему под себя? Приведите пару практических примеровАлександр Б.: у пользователя устанавливается сервер, куда подключается непосредственно USB-stick, с помощью которого мы общаемся с z-wave-устройствами: датчиками, контроллерами, сенсорами. Если пользователь хочет расширить систему, то он покупает желаемое z-wave устройство и проводит простую процедуру физической привязки устройств к z-wave stick (чтобы адаптер увидел в системе новое устройство и сообщил об этом нам)
Стандартная привязка z-wave-устройств осуществляется путем одинарного нажатия кнопки на z-wave stick и тройного нажатия системной кнопки на самом z-wave –устройстве. После данной привязки дается световой сигнал об успешном выполнении операции. Мы программно привязываем все новые датчики в систему через интерфейс доступный пользователю.
В нашем же программном обеспечении мы получаем сообщение о появлении нового устройства в сети пользователя. И дальше предлагаем возможность его переименовать, изменить его тип в визуальном плане. Простой пример: пользователь купил розетку, связал ее с USB-адаптером и подключил в нее торшер. На плане дома/квартиры логичнее и понятнее, чтобы устройство отображалось как лампочка, а не розетка. А если пользователь перенес торшер в иное место (не там, где находится сама розетка), то программа позволяет на плане дома также перетащить иконку устройства в другое место.
Конечно, есть более сложные устройства, например, термостатические головки для радиаторов или модули, которые требуют привлечения специалистов (например, электриков). Но есть и минимальный набор датчиков (розетка, датчик дыма, движения, протечки воды, влажности, землетрясения), который пользователь может установить самостоятельно.
Стоит отметить, что датчики мобильные, маленькие, хорошо подойдут к любому интерьеру. Сейчас производители стремятся сделать их красивыми и миниатюрными. Есть фирмы, не буду называть, очень миниатюрные, кругленькие, не так давно вышли, очень функциональные устройства. Их практически незаметно. А есть модели и постарше, они немного громоздкие, но также выполняют свою функцию.
С какими проблемами и трудностями столкнулись при реализации проекта?
Юрий: что касается серверной части, то у нас есть достаточный опыт разработки high-load систем. В части реализации серверной логики у нас особых проблем не было. Конечно, пришлось повозиться с z-wave API, чтобы разобраться с протоколом, понять, как z-wave устройства общаются с контроллером, в каком формате дают команды. Это единственное трудное место, с которым мы еще до сих пор работаем, потому что разные типы датчиков имеют свои особенности. К каждому датчику нужно подходить индивидуально, разбираться с его особенностями.
Александр Б.: но при этом стоит отметить, что мы стремимся унифицировать наше серверное решение, потому что на рынке более 1000 датчиков, и мы стараемся предусмотреть по каким-то типам и категориям (на которые можно разделить эти датчики), чтобы все они смогли подключаться к нашей системе. Многие системы на рынке работают только с определенными датчиками и не позволяют подключать похожие устройства по типу, функционалу, потому что система не адаптирована под какой-то параметр и этот датчик невозможно добавить. Не стоит забывать, что рынок развивается, выпускаются новые устройства. Они вроде того же типа, но ими невозможно управлять или же функционал управления очень ограниченный. Мы же стараемся унифицировать серверную сторону, подключая все новые и новые датчики похожих типов из одного семейства и пытаясь найти «золотую середину» правильного общения с ними.
Юрий: формат общения отличается и между типами устройств. Нам надо понять, какую команду отправлять определенному типу устройств. Для устройств, контролирующих освещение и отвечающих за открытие/закрытие замков, команды будут разного типа.
Юлия: С трудностями столкнулись и при разработке интерфейса. Дело в том, что система несет большой объем информации, включает в себя огромное количество датчиков. И сложность заключалась в отображении всей необходимой информации в понятной и простой форме, не перегружая при этом интерфейс. Для этого мы использовали систему фильтров, когда пользователь сам выбирает, какие датчики хочет видеть на плане.
Много времени заняла и разработка сценариев, которая не только решает практические проблемы, но и творческие. Я считаю, это здорово, когда пользователь сможет создавать сценарии, исходя из своих, предпочтений и запускать все это одним кликом. Таким образом, дом обретает свою индивидуальность. Управление системой становится предельно простым.
Александр Б.: Мы еще с одной проблемой столкнулись. На дверной накладке с keypad у нас буквально за месяц садились батарейки, причем не единожды, хотя мы ею не пользовались. Нужно будет еще более тщательно изучить настройки, чтобы понять, в чем именно проблема. Пока можно только предполагать. Дело в том, что для устройств, которые работают на батарейках, есть определенный wake-up интервал, и если его сделать очень маленьким, например, меньше 1000, то батарейки на устройстве сядет менее чем за год, а может и за пару месяцев, потому что оно постоянно будет «просыпаться», искать информацию и «засыпать» дальше. С дверной накладкой все сложно: есть механизм, который открывает и закрывает замок, keypad, подсветка, т.е. очень много причин, которые могут способствовать быстрой разрядке (4 батарейки типа ААА). Мы предполагаем, что это может быть какой-то глюк самого устройства, т.к. используемое устройство не из премиум-сегмента. Разрядка батареи – это одна из темных и непонятных причин только на одном устройстве.
Мы боялись проблем с индивидуальной донастройкой, но этот вопрос решился довольно просто. Донастройка устройств предусматривается у нас в админ-разделе: пользователь сам сможет любое подключенное устройство по инструкции настроить и изменить любой параметр.
Еще интересный факт, что у диммеров включение/выключение происходит как стандартная команда, а если запустить диммирование какого-либо источника света, то непосредственно при диммировании значения не отсылаются на контроллер. Эту проблему мы решили путем периодического опроса устройства по его значению. Это недочет самого устройства, а не библиотеки z-wave.
Есть небольшая проблема и с дверным звонком. Система состоит из звонка и кнопки. Когда мы привязываем кнопку (push button) к нашему контроллеру, то связь между кнопкой и самим звонком (doorbell) теряется, в то время как напрямую связь между звонком и кнопкой работает. Производители не заложили легкую возможность подключения — одно из самых непродуманных устройств. Получается, что за 30$ остается только кнопка и звонок с пятью простыми мелодиями.
Поэтому настоятельно рекомендуем внимательно изучать техническое описание тех устройств, которые вы собираетесь приобретать.
Какие датчики были использованы, и по какому принципу они были выбраны?Александр Б.: я открыл интернет-магазин и из определенного типа выбирал 1-2 датчика различной вариации: от датчика протечки до контроллеров по управлению нагрузками 1,5-2-3,5 кВт с возможность и без возможности диммирования. Мы также купили бокс, чтобы вешать на фазы после счетчиков и снимать показания потребления электричества.
В целом, датчики средней ценовой категории — 20-30$ — простоватые, но выполняют свою функцию. Есть датчики, которые стоят на 10-15$ дороже, но они продуманнее, сложнее, больше дополнительных возможностей сенсоров, проработан стиль.
Если выделять из всех производителей, я бы отметил Fibaro. Они стараются для любого своего устройства продумать индивидуальный дизайн, логику взаимодействия между своими устройствами без контроллера. Это важный элемент в построении z-wave-сетей.
В заключение хочу сказать, что мы готовы сотрудничать с дистрибьюторами z-wave устройств и mini PC.
Мы с радостью ответим на Ваши вопросы и выслушаем Ваше мнение!