А можете поподробнее рассказать про дальность работы датчиков? Интересует как они работают именно в реальном доме, есть ли на пути радиосигнала бетонные стены?
Я полное тестирование проводил.
Те, что без антены работают через одну стену уверенно, через две могут терять сигнал, может потребоваться позиционирование (повертеть модулем для лучшего приема) — зависит от того, что внутри стен и между ними.
Реальная скорость передачи (с моим драйвером) составила где-то 540 КБит при включенном подтверждении доставки. В прямой видимости (относительно прямой, городские условия) дальность уверенная до 50м, выше — надо позиционировать модуль.
Через межэтажное перекрытие может пробить, если повезет, опять-таки, позиционировать требуется точно (то бишь, стоять прямо под ответным модулем).
Тот что с антенной — через тонкие стены пробивает уверенно, не знаю сколько их нужно, чтобы заглушить сигнал, через несущие 2-3 тоже без особых проблем. Скорость такая же. Дальность метров 300 выжимал (городские условия), на 300 уже приходилось серьезно целиться антенной в ответный модуль. До 150 — уверенно ловится. Через два этажа пробивает (перекрытия), на третьем уже долго целиться надо.
P.S. Все тесты проводились с тем приемником, что с антенной! Передатчик, соответственно, менял.
У меня сейчас между датчиками не более 10 метров (по прямой). Преграды в виде кирпичных стен, деревянных перекрытий (в различных комбинациях и количествах) и т.п. — все работает. Дальность не проверял (будет потеплее — сделаю пару тестов «с улицы»).
Никто не запрещает сделать на базе этих модулей mesh-сеть (в голове полная картинка еще не сложилась, но пакет, думаю, не сильно изменится — нужно будет еще пару параметров добавить). Нужно будет теорию графов освежить для построения «путей».
SNAP — это универсальная сетевая операционная система для реализации Mesh-сетей, позволяющая абстрагироваться от аппаратных особенностей приемопередатчика. Используя любой или все из доступных на устройстве интерфейсов связи, стек SNAP выполняет пересылку и сетевую маршрутизацию сообщений, превращая данное устройство в полнофункциональный узел интеллектуальной самоорганизующейся и самовосстанавливающиеся Mesh-сети. Для связи с остальными узлами сети при этом может использоваться любой современный проводной или беспроводной интерфейс: IEEE802.15.4, Wi-Fi, TCP/IP, Ethernet, USB, RS232, RS485 и др.
С протоколами маршрутизации придеться помучаться, или взять уже готовую реализацию — ленивый вариант.
А в общем MESH сети весьма интересны. Я периодически прорабатываю архитектуру войсковой АСУ тактического звена на основе MESH сетей. Очень перспективное направление.
Классно… Задумался о том что-бы реализовать что-то похожее у себя дома.
Еще что-то придумать с размерами сенсорной панели… Или сделать аппаратные кнопки и просто дисплей состояния…
Ну уж центральный-то модуль с дисплеем чего на меге мучать?)
И рисовать отвратно, и ОС нормальной нет (а значит — сильно урезаны возможности — хотя бы по выводу своего девайса в веб) и дорого, и вайфая нет. Центральный однозначно рекомендую делать на какой-нибудь небольшой плате с линухом на борту.
Этот модуль не претендует на роль «центрального» — это именно «панель управления»: отображаем нужные параметры и можем что-то там включать. И вообще, пока для моей системы само понятие «центрального модуля» — не определено. Все работают индивидуально, но могут управляться.
Также думал про использование планшетов, даже написал комментарий.
Вообще тема умного дома очень интересная, пишите и рассказывайте все подробно.
Сам я к лампам помимо кабеля питания провел и LAN-кабель, но радиоуправление тоже очень интересует.
Графики погодных параметров, приведенные в статье за какой период времени?
Там только часть года видна. Может год убрать правее — важнее время и дата в этом случае.
Графики погодных параметров — за 3 дня. Когда это не картинка (а реальная страница с графиком) — можно навести на график курсор мыши — появится всплывающая подсказка, где для каждой точки графика можно увидеть значение и дату/время.
RaspberryPi к примеру.
Или может софт под андроид написать для управления по сети, или веб-сайт замутить для управления на NAS'е.
Юзать можно как с мобилки, так и небольшой планшет взять и прилепить к стене — модная панелька!
Пока у каждого «здорового» модуля стоит блок питания (ужас, однозначно буду с этим что-то делать). С мелкими пока работаю — есть варианты на батарейках. Сейчас готовлю один прототип на солнечных батареях… в процессе пока.
Даже зная формат пакета (а кто сказал, что тут опубликована «боевая» версия пакета?) нужно перебрать массу параметров (частотный канал, pipes), чтобы только начать «слушать».
Потом я не просто так в пакет вставил идентификатор модуля, от которого идет команда. На модулях есть проверка, можно ли от этого «инициатора» исполнять команды.
Интересно про работу внешних датчиков, а именно как там avr/arduino при минусовой температуре? По даташитам atmega328 и NRF24 до -40, но в реальности все обычно иначе, в тч из-за прочих компонентов.
Ну и с батареями проблема, хотя тут товарищ недавно выкладывал простой вариант с ионистором и солнечной батареей.
Не понимаю, почему выбор на iboardpro?
Почему не купить ту же малину, ну не намного дороже же!
Можно и cubieboard, но когда будет поставки хз.
Туда уже можно много чего подключить, и обрабатывать там же. Поднять и веб и бд для обработки.
Как я сожалею, что у меня нету времени этим заниматься.
Что было доступно — то и взял. Малинка — да, можно, но пока я еще не готов линукс осваивать.
Дальше будет скорее всего «панель управления» на андроиде… модули-то работают, GSM-шлюз по управлению и мониторингу — есть, LAN по мониторигну — тоже есть, LAN по управлению появится «вот-вот».
А «центральный модуль» в моей системе — пока без надобности (уже писал об этом выше). Возможно, он появится для реализации «сценариев» (но опять же не факт, что это будет что-то «мощное»).
А может взять готвый какойнить планшетек за 50уев из китая, посадить его на внешнее питаниие а на его usb хост управление Вашим зверинцем устройств. Ну и вдорогнку можно тогда будет и по SIP'у управлять, звоня на домашний IVR )
про планшетник за 50уев я уже думал — скорее всего это станет основной версией «панелей» управления (но это когда уже софт будет соответствующий написан). Можно будет повесить по такому в нужных местах дома.
usb host его использовать не вижу смысла… зачем? все ж беспроводное. Планшетник подключится к домашней сети через wifi и будет работать со «зверинцем» через LAN-шлюз.
Я уже спрашивал где то =) и может быть да же у вас, но спрашу еще раз, так как в этой теме я плохо плаваю.
Не подскажате, какие девайсы взять для следующего.
Во глове кухни хочу поставить cubieboard — у него есть I2C и SPI.
Далее я хочу поставить приемник/передатчик на 433 что бы собирать сразу данные температуры, давления, влажность (для начало)
что то типа nRF24L01+ но для 433.
Ничего особенного не делал — повесил, где было удобно (в обоих случаях это под большим козырьком крыши) на двух разных сторонах дома. Посмотрел только чтобы прямых солнечных лучей не было и в сильный дождь с ОЧЕНЬ сильным ветром чтобы не заливало.
Возьмите две ардуины (любые), два таких модуля, загрузите библиотеки, ссылки на которые есть в статье и залейте тестовые примеры из комплекта библиотек — все станет понятно. Если честно, я не знаю, что про них еще можно написать?
Про использование понятно, меня интересует их внутренний протокол. Как я понял, они multimaster, то есть каждый передаёт сразу всем. С коллизиями какая-то борьба аппаратная есть? Какое-то встроенное шифрование есть или надо на уровне пакетов делать?
а почему бы не взять в качестве сервера готовую систему, типа LinuxMCE, а свой код добавить плагинами в нее? тогда решится много вопросов по интеграции новых устройств
Прекрасная статья, большое спасибо! Я как раз давно думаю над тем, что бы «опутать» дом проводной сетью датчиков и «исполнителей» таким образом, что бы система по возможности была бы модульной, а отдельные датчики и «исполнители» по возможности мало зависели друг от друга.
Имхо, это самый правильный вариант — пусть работают сами по себе и при необходимости — коммуницируют. Но если вдруг с коммуникациями что-то не так — все равно продолжали работать.
Очень интересно читать на Хабре про «умный дом», но, к сожалению, мне в основном попадаются статьи, описывающие опыт создания с нуля, в то время как хотелось получить обзоры и по готовым решениям, их практическому применению, особенностям и подводным камням, аналогично обзорам новых гаджетов
Его я, с разрешения Nordiс Semiconductor, серьёзно перепилил, избавив от мусора и упростив портирование. Результат можно взять у меня на гуглодиске:
nrf24l01p.zip: goo.gl/IPZPM
Для портирования нужно написать всего две функции (их прототипы есть в nrf24l01p.h) — дрыганье линией SS и полнодуплексный I/O по SPI:
Библиотека чисто сишная (C99), проверял на STM32VLDiscovery (STM32F100RBT6), STM32F4Discovery (STM32F407VGT6) и Arduino (ATmega168 и ATmega328). Все функции, структуры и т.д. подробно документированы авторами оригинального аппноута.
Всю прелесть работы с nRF24L01+ я ощутил в полной мере, только когда пришлось разрабатывать сеть беспроводных датчиков на CC430 (MSP430 + радио CC1101, Texas Instruments). Если провести параллели с дистрибутивами Linux, то nRF'ки — это Ubuntu, а CC430 — Arch. У каждого радиочипа свои преимущества, но с nRF работать не в пример легче.
Тоже делаю систему на этих радио модулях и столкнулся со странностью — два простых модуля (с антенной на плате) работают лучше (если тестировать на пробитие стен) чем один с внешней антенной + один «простой». Два с внешними антеннами работаю отлично. Не могу понять в чем проблема, по теории так быть не должно, но на практике это так.
Подумываю по похожему сценарию, но пока немного хочется отойти от беспроводных блоков — ведь приходится организовывать блок питания на каждой точке :(
Сейчас проще кинуть 4-жильный телефонный провод, и по нему уже общаться и питаться. Конечно, при смене обстановки, лапша по 10 метров уходит в негодность, но всё же это проще.
Например загородный дом. У меня одна точка бесперебойного питания вместе с основными мозгами. Далее лапша уходит на датчики. На одну линию можно вешать, например, несколько температурных 1-wire, или объемников (однозонные получаются).
Беспроводные коммуникации «умного дома»