NEWS
[Идея] GPIO-Контроллер на 162 цифровых и 48 аналоговых входа/выхода за 90€.
-
Гутен таг,
скоро стройка, я все раздумываю над моей версией умного дома,
и так с электрикой вроде определился, делаю звездой "все в шкаф" а там разруливаю. Акторов на релешках полно, защелкаешься, с этим ясно.
Теперь вот с сенсорами, и так хотелось бы иметь сенсоры на кучу всего (дым, движение, свет, температура и т.д.)
для них соответственно прокладываем витую пару во все возможные места: к окнам, дверям, потолку, и т.д.
По витой паре мы можем передать низковольтное напряжение для питания сенсоров и получить ответ от сенсора в цифровом или аналоговом виде.
Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо API (например всеми любимое MegaD).
Можно конечно купить и сам MegaD, но у него на борту только 7 I/O входов, а мне надо подключить 48 датчиков.
Родилась по этому поводу мысль а не сделать ли такой мега GPIO-Контроллер чтобы можно было в одном устройстве собирать данные с полсотни сенсоров.
Развитие мысли привели к такому сочетанию:
Железо:
- 3 х Arduino Mega2560 R3 (banggood 25€)
~~![](</s><URL url=)<link_text text="http://arduino.ru/sites/default/files/r ... 00x335.jpg">http://arduino.ru/sites/default/files/resize/ArduinoMega2650Front-600x335.jpg</link_text>" />
Плата имеет 54 цифровых входа/выходов 14 из которых могут использоваться как выходы ШИМ, 16 аналоговых входов
- 3 х MEGA Sensor Shield V2.0 Expansion Board (banggood 9€)
~~![](</s><URL url=)<link_text text="http://arduino-kit.ru/userfiles/image/S ... %20_02.jpg">http://arduino-kit.ru/userfiles/image/Sensor Shield V2.0 for Arduino _02.jpg</link_text>" />
http://arduino-kit.ru/catalog/id/plata- … duino-v2.0
Модуль содержит несколько групп контактов для подключения 54 устройств имеющих цифровые входы или выходы. Есть 16 групп контактов для подключения устройств с выходным аналоговым сигналом.
- Orange Pi One + USB Хаб (banggood 14€ + 6€)
Соединяем Orange Pi One и Mega2560 через USB Хаб. Хаб с отдельным питанием для запитки Arduino по USB
-
Патчпанель на 48 UTP портов (ebay 20€)
-
Dupont пины и разъемы для соединения Sensor Shield и патчпанели (banggood 25€ 1000 шт с обжимкой)
-
Корпус от 1U-2U сервера или свич (ebay 20€) + блок питания (5 V)
В заднюю стенку которого вставляем патчпанель по типу свича, ну или можно взять старый свич и использовать только порты,
но придется придумать как соединить порты с Sensor Shield'ом
В корпусе собирается вся эта конструкция с блоком питания.
- Как опция, подключить одну или несколько плат с реле (1/2/4/8/16), для замыкания контактов, (banggood 2-15€)
В итоге железа на 70-90 € и возможность считать/записать данные на 162 цифровых и 48 аналоговых входа/выхода.
И так к этой конструкции приходит 48 UTP Cat5e с 8-ю жилами, обжимаем их и вставляем в патчпанель, мы их все раскидываем на 3 Arduino с Sensor Shield'ами ну или реле.
Из конструкции можно было бы исключить Orange Pi, если бы можно было подключить W5100 ethernet shield напрямую в Arduino (кто знает подскажите?)
Как все себя будет вести при длине кабелей скажем в 25-30 метров?
Софт:
И так на Arduino пишем простенькую программку, например из примера в pdf, которая передает в серийный порт данные о состоянии GPIO.
A Orange Pi ставим любимый линукс.
Теперь вот надо решить какой API использовать и написать/адаптировать его к нашему GPIO-Контроллеру.
Для этого посмотрим что есть для для примера на github
https://github.com/search?utf8=%E2%9C%9 … al+arduino
http://www.instructables.com/id/Raspber … unication/
https://github.com/JanStevens/ArduinoPi-Controller
–--------------------------------------------------------------------------------------------------------
Вот тут хотелось бы узнать ваше мнение о жизнеспособности данной идеи.
Критика приветствуется.~~~~
1213_arduino-sensor-shield.pdf -
Тут не так все просто , на gpio будут такие адские наводки на длинных проводах,
что сведёт к нулю все старания по реализации
-
Тут не так все просто , на gpio будут такие адские наводки на длинных проводах,
что сведёт к нулю все старания по реализации `
http://forum.arduino.cc/index.php?topic=108476.0
Предлагают при 100 метрах зашунтировать резисторами (+ и GND по 1К )и конденсатором нa 0.1 mF.
К тому же используя Cat5e заземлить его как и полагается.
-
В любом случае для себя решил, если может что-то испортится ,ставь развязку.
По идее достаточно оптопар на gpio. Поверьте это дешевле нового контроллера.
-
Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо API (например всеми любимое MegaD).
Можно конечно купить и сам MegaD, но у него на борту только 7 I/O входов, а мне надо подключить 48 датчиков.
Вот тут хотелось бы узнать ваше мнение о жизнеспособности данной идеи.
Критика приветствуется. `
Информация у вас старая MegaD-2561 36 задействованных прошивкой портов http://ab-log.ru/smart-house/ethernet/megad-2561 + различные исполнительные устройства. Стоит ли городить огород -
Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо API (например всеми любимое MegaD).
Можно конечно купить и сам MegaD, но у него на борту только 7 I/O входов, а мне надо подключить 48 датчиков.
Вот тут хотелось бы узнать ваше мнение о жизнеспособности данной идеи.
Критика приветствуется.
Информация у вас старая MegaD-2561 36 задействованных прошивкой портов [http://ab-log.ru/smart-house/ethernet/megad-2561](http://ab-log.ru/smart-house/ethernet/megad-2561) + различные исполнительные устройства. Стоит ли городить огород ;)
А как у него решена проблема с длинными проводами ? -
Андрей, автор mega-d разделил устройство на "процессорный" модуль и исполнительное устройство.
А уже в исполнительном устройстве принял меры по защите портов контроллера.
-
Даже боюсь представить какой будет распределительная коробка в случае если завести туда все провода (силовые и сигнальные).
И боюсь представить выход его из строя и полную небоеспособность дома или квартиры в этом случае.
Для себя твёрдо решил: Одна комната один контроллер который отвечает только за функционирование этой комнаты и шлёт или получает сигналы (на сервер и с сервера). Ессно при потере связи с сервером контроллер должен работать самостоятельно.
Более того, во всех перегородках несущих или не несущих (без разницы) сделаю сквозные каналы для проводки, на тот случай если вдруг в будущем придётся заменить существующие сигнальные или силовые цепи или просто добавить недостающие.
Ранее было так у меня между тремя комнатами и когда мне понадобилось провести для духового шкафа отдельное питание я без проблем снял светильники и используя ранее проделанные каналы завёл силовой кабель.
-
Может я чего не понимаю, но такой W5100 ethernet shield https://arduino-ua.com/prod391-W5100_ethernet_shield у меня стоит на ардуино и отлично работает.
Насчет идеи. Сейчас аналогично разрабатываю систему для своего дома (50 управляемых светильников, 5 линий управляемых розеток, полсотни всяких датчиков). Но решил, что будет значительно дешевле и проще поставить несколько ардуин без плат расширения. Мне кажется, это будет надежнее. В случае поломки у меня хоть часть дома будет с освещением. По архитектуре - а как собираешься реализовывать автономность? Вариант "отвалился роутер/заглючил сервер" вполне реален. У меня ардуино затягивает свою конфигурацию с сервера, если он недоступен берет последнюю, сохраненную из EEPROM. При поступлении информации от input устройства, выполняются предписаные действия, примерно такие:
typedef struct { char Id[ID_LENGTH]; // Id of action char originId[ID_LENGTH]; // привязка к устройству - инициатору Action action; // что сделать (например RELAY_SWITCH, RELAY_ON) byte event; // что именно произошло: BUTTON_SHORT_CLICK, BUTTON_LONG_CLICK char targetId[ID_LENGTH]; // Устройство, которому надо передать действие } ActionUnit;
Ну и в параллель, сообщение от input девайса передаются на iobroker сервер (если он доступен). Все общение с cервером по MQTT. В итоге, если сервер недоступен, то исполняются последние действия. Пока, на макете , это работает. Через месяц-два буду разводить проводку в доме.