Кто не читал первую часть, ее можно найти вот здесь, а я пока публикую вторую часть, которая содержит больше технических деталей, чем первая. На очереди еще и третья, заключительная часть, она пока готовится, настолько насыщенная деталями, фотографиями прототипов и технической информацией, насколько это возможно. Надеюсь, что хабражителям вторая часть понравится не меньше, чем первая. Приступим?
Небольшое лирическое отступление о технологии ZigBee.
ZigBee — это частный случай стандарта IEEE 802.15.4.
Как и многое из того, что прочно вошло в наш быт, ZigBee — это фактически гражданское применение военной технологии. Представьте себе, что необходимо установить надежную связь между несколькими командными пунктами (или собрать множество каких-то данных на территории). Над местностью пролетает самолет, из которого разбрасывается большое количество практически незаметных для врага устройств, способных автономно работать длительное время. Эти устройства, будучи разбросаны на местности, незаметно образуют сеть передачи данных, которую практически невозможно сломать. При уничтожении одного из узлов сети информация автоматически передается по другим маршрутам. Получается этакий локальный мини-интернет.
О наглядном применении технологии можно посмотреть на сайте Meshnetics – Российской компании, разрабатывающей стэк протокола ZigBee для мировых брендов. Примечательно то, что эта компания разрабатывает SW и экспортирует его за пределы России, но со временем (года через три-четыре) эти наработки возвращаются к нам назад в виде уже готовых решений. И продаются у нас уже за другие деньги.
Выбираем чип и софт!
Естественно для массового продукта нужно сделать дешево. Делать устройство на готовых модулях ZigBee — это попса (просто и дорого). А делать самому на чипах – дешево но сложно (зато интересно).
Во всём мире по пальцам руки можно пересчитать производителей ZigBee чипов. И решающую роль при прочих равных составляющих играет уровень технической поддержки со стороны производителя. Поскольку я часто бывал на разных технических семинарах (в Компэле, Симметроне, Макротиме), мне удалось оценить различные отладочные средства и уровень поддержки со стороны разных производителей. Достойная компания-производитель была найдена.
Я очень люблю Linux, свободу и когда документация написана ясным для русских мозгов языком (для того, чтобы это понять, нужно хоть раз в жизни попробовать прочесть английскую версию документации фирмы Hitachi).
Молодая английская компания Jennic предоставляла высочайший уровень технической поддержки. Стартовать проект с её документации не представляло никакого труда. А после того, как я пообщался с английскими инженерами и программистами, из онлайн службы технической поддержки, я реально понял, что они вообще молодцы.
Опять же, эта компания примечательна тем, что весь инструментарий разработан на OpenSource платформах, более того, она разработала собственные микроконтроллеры на свободном ядре процессора OpenRisc-1000!
FSF (Free Software Foundation, FSF.org) форева, подумал я, выбираю Jennic!
Итак. Выбор беспроводной технологии связи сделан – делаем на чипе Jennic 2.4ГГц, 802.15.4, ZigBee.
А что нужно человеку? К счастью, обычный человек не любит, не хочет и не умеет программировать. Да и вообще, все мы ленивы. И это хорошо. Представляете, если бы мы не ленились ходить по лестнице, то никогда бы не изобрели лифт. Или автомобиль. Или GUI. Или iPod.
Мне кажется, что в данном случае все должно работать на принципах plug&play. А это значит, что краеугольным камнем проекта MT9000 должна была стать простота. В особенности следовало уделить внимание юзабилити, так сказать, программной и аппаратной части. Нередко простой китайский светильник представляет собой загадку даже для инженера-электрика. В нашем случае хотелось все сделать, как нужно, а не “как всегда”.
По-этому в софт обязательно закладываем как минимум 2 языка, русский и английский и возможность длинных человеческих сообщений вида «Дальняя ванная комната: Обнаружена протечка.», но ни в коем случае не идиотизм вида «d1=0,d2=1,d3=0,d4=0».
Как мне кажется, простоту и человечность интерфейса удалось реализовать: софт написан таким образом, что для установки комплекта при первом включении нужно потратить 2 минуты:
— выдергиваем из датчиков и базы изоляторы, защищающие батарейки;
— вставляем SIM карту;
— звоним со своего мобильного телефона на устройство;
— раскладываем (прикрепляем) датчики в те места, которые мы хотим контролировать.
Всё, комплект к бою (к потопу, пожару, взлому) готов.
Принцип простоты заложен и в конструкцию беспроводного датчика. Он является устройством, способным одновременно выполнять все три функции:
— если бросить датчик на пол, то он будет сообщать о протечке воды;
— если закрепить на двери вместе с магнитом, то датчик будет сообщать об открытии и закрытии двери (есть липучка для крепления);
— если повысится температура, то датчик сообщит и об этом.
При небольшом размере датчика время работы от литиевой батарейки CR2430 – год!
На написание и тестирование софта вместе с соратниками ушло полгода. В написании софта сильно помогло понимание слот/канальной модели взаимодействия между сущностями (идея библиотеки QT компании TrollTech). Поэтому теоретически к МТ9000 можно подключить любой наш датчик (включая те, которые сейчас находятся в стадии проектирования) или исполнительное устройство.
В софте первых версий устройства, случился-таки баг, позорный. В России в мобильной связи используется 11 знаков, а вообще их может быть от 10 до 14. Например в Украине для звонка внутри страны можно воспользоваться упрощенным 10-ти значным способом набора номера или же полным, 12-ти значным. Из за разницы в количестве набираемых знаков прибор не работал на территории ex-USSR кроме России, плюс в некоторых датчиках батарейка быстро разряжалась. Пришлось все эти устройства с рынка отзывать и исправлять. Но теперь все OK, проект готов, устройство можно приобрести, и мне показалось, что Хабрасообществу будет интересно почитать обо всем этом.
Вот так был сделан продукт МТ9000, который уже сейчас можно увидеть на сайте производителя и приобрести. В продолжении статьи о проекте, в третьей, заключительной ее части, я постараюсь указать как можно больше технических деталей, включая фотографии устройства, начиная с ранних прототипов и прочих вещей, которые могут быть очень интересны вам, хабралюди. В ожидании третьей части, можно оценить другие гаджеты Мастер Кита.
На очереди что-то новое (а именно — третья часть статьи, уже готова к употреблению Хабром).
UPD. По просьбе коллег из «МастерКит» публикую объявление о сотрудничестве с авторами:
Предлагаем представителям хабрасообщества сотрудничество с теми, кому по душе разные-всякие гаджеты, и кто умеет их описывать так,