Краткое содержание:
На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2xRelay, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
Мотивация
Еще после нашей самой первой статьи многие энтузиасты писали нам о том, что хотели бы использовать наш одноплатный компьютер в качестве основы умного дома.
Мы проработали этот вопрос и поняли, что на базе нашей платформы Wiren Board можно сделать неплохой контроллер для домашней автоматизации, который позволит управлять исполнительными устройствами и датчиками средней, дешёвой и сверхдешёвой ценовой категории (см. ниже).
Помимо функционала, который есть в обычной Wiren Board, а именно:
- ARM9 454Mhz, 64MB RAM, 4GB+ ROM под управлением GNU/Linux 3.13
- GSM/GPRS — модем
- Wi-Fi (в т.ч. в режиме точки доступа)
- Ethernet
- 2xUSB-host
- RS-485 / Modbus
- Входы АЦП
- работа от аккумулятора
были добавлены:
- CAN-шина
- Второй RS-485
- Два реле 220V 5A
- RTC — часы реального времени
- Излучатель звука
- Аудиовыход — 3.5 mm jack
- RS-232 полнодуплексный, не опторазвязанный (опция)
- радиомодуль NRF24
- и пакетное радио на 433 МГц.
Внутри расположены разъёмы расширения: 2 UEXT и USB-host.
За ненадобностью убрали модули NFC и GPS.
В этот раз мы подобрали хороший стандартный корпус и спроектировали плату под него. Выбор пал на корпус на DIN-рейку D6MG от Gainta. Он не очень компактный (106.25x90.2x57.5 мм), зато крепление на DIN-рейку позволяет надёжно расположить контроллер в стандартном шкафу с другим оборудованием. В этом корпусе плата легко и надёжно фиксируется деталями корпуса без креплений на стойки. Все разъёмы выведены с двух сторон корпуса.
Кроме этого, мы предусмотрели возможность использования корпуса из оргстекла на стойках. Такой корпус достаточно компактный, неплохо смотрится и хорошо подходит, если предполагается более “настольное” применение.
Нарезанные листы для нового корпуса мы ещё не получили, но аналогичный корпус, который мы заказывали для стандартной Wiren Board, даёт примерное представление о том, как будет выглядеть такой корпус.
При проектировании мы ориентировались на такие решения, как Евика (да-да, это еще весьма бюджетное решение:)), Ninja Blocks и другие.
Итак,
Что можно подключать к контроллеру напрямую?
- низковольтную нагрузку: светодиодные ленты, замки и т.д. к 4 выходам типа открытый коллектор
- 4 входа АЦП позволяют измерять напряжения до 30 вольт
- Входы R1-R4 (входное сопротивление 0.5кОм) позволяют
- Измерять низкое напряжение
- Подключать резистивные датчики (измерять сопротивление), например датчики температуры, влажности, газа и т.д.
- Работать как GPIO, включая толерантность к внешним сигналам с уровнями до 12V
- Подключать считыватели карт и клавиатуры Wiegand
- Входы/выходы W1-W3 — это GPIO с встроенными подтягивающими к 3.3V резисторами. Могут использоваться в качестве GPIO и в качестве контроллеров шины 1-wire (включая возможность сильной подтяжки).
- подключение температурных датчиков 1-wire, например DS18B20
- подключение счетчиков с импульсными выходами.
- подключение кнопок
- Исполнительные устройства и датчики, работающие по шинам RS-485 (Modbus) и CAN, например:
- 2 Реле позволяют напрямую управлять силовой нагрузкой (250V/5A).
Радиомодуль на 433Mhz
Киллер-фича нашего контроллера — приёмопередатчик на 433 Mhz. Мы используем продвинутый пакетный радиомодуль HopeRF RFM69H с очень хорошей выходной мощностью (+13/+20 dBm) и чувствительность (до -120 dBm). Радиочип имеет кучу настроек, поддерживает различные режимы модуляции, умеет аппаратно шифровать трафик, позволяет программно менять несущую частоту, ширину полосы, битрейт и т.д. Работа с чипом происходит в пакетном режиме — код в юзерспейсе просто читает/пишет байты с данными из устройства.
Для чего всё это великолепие нужно? C помощью это радиомодуля можно принимать и посылать сигналы для зоопарка недорогих устройств с проприетарными радио-протоколами. Примеры:
- Китайские исполнительные устройства, датчики и пульты от беспроводных комплектов. Их существует огромное количество, свободно продаются по смешным ценам в том числе в России. Не исчерпывающий список можно найти здесь, здесь, здесь, кроме того про них неоднократно рассказывалось на хабре в последнее время.
- Исполнительные устройства и пульты системы Noolite (раз, два) — очень удобные недорогие железки для управления светом.
- Железки от www.neroelectronics.ru/
- Беспроводные датчики для метеостанций Oregon Scientific: habrahabr.ru/post/165747/
- Шлюзы из Wireless-X10 в X10 по сети 220В, типа таких
- … и т.д.
Радиомодуль конечно можно использовать и по прямому назначению — для организации канала связи и построения своих беспроводных сетей.
В следующих статьях мы подробнее напишем про работу с радиомодулем и покажем, как разбирать разные проприетарные протоколы и подключать интересные устройства к нашему контроллеру.
Радиомодуль NRF24L01+
NRF24L01+ — очень популярный в DIY-комьюнити и очень дешёвый радиочип для организации беспроводной связи на частоте 2.4GHz с использованием проприетарного протокола от Nordic. Модуль NRF24 доступен в нашем контроллере для домашней автоматизации как опция и можем быть полезен, если вы собираетесь подключать какие-нибудь самодельные модули на ардуинке/аналогах.
А ещё
- GSM и GPRS. Как и стандартная платформа Wiren Board, новый контроллер для домашней автоматизации имеет GSM/GPRS-модем. Стоит он недорого, зато позволяет организовать резервный и экстренный канал связи. Применения можно придумать самые разные, например отправка тревожной СМС-ки при пропадении напряжения в сети или, наоборот, удалённое управление с мобильника, когда интернет не доступен.
- Wi-Fi 802.11n 1T1R, может работать в режиме клиента и точки доступа.
- Аккумулятор. Стандартного литий-ионного аккумулятора на 1800mAh хватает примерно на 4 часа работы.
- 3 порта USB-Host. Два расположены снаружи, один внутри.
- Стерео аудиовыход 3.5мм
И ещё (расширения)
Хоть мы и старались, понятно, что поддержать всё многообразие проводных и беспроводных интерфейсов для подключения разных устройств для умного дома мы не смогли. Однако, мы позаботились, чтобы добавить поддержку некоторых систем было довольно просто.
На плате, внутри корпуса, мы вывели один порт USB. В него вы можете подлкючить и спрятать внутри корпуса USB-стики, например для:
- Работы с Z-Wave. Например такой или такой и т.д.
- ZigBee. Например такой или такой(осторожно, нужен продающийся рядом программатор)
- EnOcean
- Или например habrahabr.ru/company/coolrf/blog/210750/
- Bluetooth
На плате есть также два разъёма UEXT, к которым можно подключить разные модули, например от Olimex.
Конструкция выбранного корпуса позволяет размещать дополнительные платы над основной. В будущем мы планируем выпустить несколько таких плат расширения.
Софт
Железо контроллера поддерживается mainline-ядром Linux с набором наших патчей (3.13). В качестве ОС мы используем Debian GNU/Linux 7 Wheezy.
В качестве управляющего ПО мы предлагаем использовать открытые проекты, например AgoControl или NinjaBlocks. Оба проекта живые и имеют большую пользовательскую базу. AgoControl — классическая offline система, веб-сервер запускается на устройстве.
В отличие от неё, Ninja Blocks — интересная облачная платформа. Под её управлением контроллер загружает данные и принимает команды из облака. Приборная панель с просмотр показаний и управлением, создание сценариев доступны через веб-сервис a.ninja.is.
Весь софт для работы с железом, например для работы с радиомодулем, делается независимым от конкретных систем, так, чтобы можно было легко пользоваться и другим ПО.
Мы реализуем полную поддержку контроллера для двух упомянутых систем, AgoControl и NinjaBlocks.
И предзаказ
Разработка контроллера закончена, первые образцы собраны и протестированы. Для выпуска большой партии нам осталось только закупить в необходимом количестве компоненты и отправить заказ на завод.
Мы объявляем начало продажи по предзаказам. Речь идёт о реальных предзаказах, т.е. покупке за реальные деньги (карты, межбанк) в нашем интернет-магазине с отложенной доставкой.
Сбор предзаказов будет идти до 15 марта.
Производство и монтаж плат будет в России. Процесс уже нами отлажен, поэтому мы уложимся в довольно сжатые сроки. Отгрузить контроллеры мы планируем до майских праздников.
О ходе производства будем информировать на нашем сайте.
Зачем вообще такая сложная процедура? Себестоимость устройства сильно зависит от размера партии. Если заказывать небольшими партиями, то продавать по приемлемой цене, к сожалению, не получится. Виртуальные же предзаказы, без оплаты, как показал наш опыт, дают сильно завышенные цифры, по сравнению с реальными продажами. С российскими краудфандинговыми площадками мы решили не связываться, потому что они берут большую комиссию, при этом не привлекая собственно покупателей.
Цены
Конструкция нашего контроллера модульная, поэтому цена зависит от конкретной конфигурации, которую можно выбрать в магазине.
Цены начинаются от 3900р в минимальной конфигурации. Например, стандартная конфигурация: всё, кроме CAN и NRF24 по предзаказу будет стоить 5000 руб, а то же самое, но без GSM — ещё на 500р. дешевле.
Заключение
Мы ждём ваших комментариев и предложений (например по поводу модулей расширения) здесь в комментариях, либо на нашем форуме. Будем рады ответить на любые вопросы!
—
С наилучшими пожеланиями,
команда Wiren Board
Автор: evgeny_boger