Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. аппаратные средства
    4. Железо
    5. [Идея] GPIO-Контроллер на 162 цифровых и 48 аналоговых входа/выхода за 90€.

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Идея] GPIO-Контроллер на 162 цифровых и 48 аналоговых входа/выхода за 90€.

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      keynight last edited by

      Гутен таг,

      скоро стройка, я все раздумываю над моей версией умного дома,

      и так с электрикой вроде определился, делаю звездой "все в шкаф" а там разруливаю. Акторов на релешках полно, защелкаешься, с этим ясно.

      Теперь вот с сенсорами, и так хотелось бы иметь сенсоры на кучу всего (дым, движение, свет, температура и т.д.)

      для них соответственно прокладываем витую пару во все возможные места: к окнам, дверям, потолку, и т.д.

      По витой паре мы можем передать низковольтное напряжение для питания сенсоров и получить ответ от сенсора в цифровом или аналоговом виде.

      Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо 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

      1 Reply Last reply Reply Quote 0
      • aurodionov
        aurodionov last edited by

        Тут не так все просто , на gpio будут такие адские наводки на длинных проводах,

        что сведёт к нулю все старания по реализации

        1 Reply Last reply Reply Quote 0
        • K
          keynight last edited by

          @aurodionov:

          Тут не так все просто , на gpio будут такие адские наводки на длинных проводах,

          что сведёт к нулю все старания по реализации `

          http://forum.arduino.cc/index.php?topic=108476.0

          Предлагают при 100 метрах зашунтировать резисторами (+ и GND по 1К )и конденсатором нa 0.1 mF.

          К тому же используя Cat5e заземлить его как и полагается.

          1 Reply Last reply Reply Quote 0
          • aurodionov
            aurodionov last edited by

            В любом случае для себя решил, если может что-то испортится ,ставь развязку.

            По идее достаточно оптопар на gpio. Поверьте это дешевле нового контроллера.

            1 Reply Last reply Reply Quote 0
            • H
              Haus last edited by

              @keynight:

              Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо API (например всеми любимое MegaD).

              Можно конечно купить и сам MegaD, но у него на борту только 7 I/O входов, а мне надо подключить 48 датчиков.

              Вот тут хотелось бы узнать ваше мнение о жизнеспособности данной идеи.

              Критика приветствуется. `
              Информация у вас старая MegaD-2561 36 задействованных прошивкой портов http://ab-log.ru/smart-house/ethernet/megad-2561 + различные исполнительные устройства. Стоит ли городить огород 😉

              1 Reply Last reply Reply Quote 0
              • K
                keynight last edited by

                @Haus:

                @keynight:

                Теперь надо как-то это обработать, т.е. нужен контролер который это переварит в какое либо 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) + различные исполнительные устройства. Стоит ли городить огород ;)
                А как у него решена проблема с длинными проводами ?

                1 Reply Last reply Reply Quote 0
                • aurodionov
                  aurodionov last edited by

                  Андрей, автор mega-d разделил устройство на "процессорный" модуль и исполнительное устройство.

                  А уже в исполнительном устройстве принял меры по защите портов контроллера.
                  51_megad-in.jpg

                  1 Reply Last reply Reply Quote 0
                  • V
                    v965 last edited by

                    Даже боюсь представить какой будет распределительная коробка в случае если завести туда все провода (силовые и сигнальные).

                    И боюсь представить выход его из строя и полную небоеспособность дома или квартиры в этом случае.

                    Для себя твёрдо решил: Одна комната один контроллер который отвечает только за функционирование этой комнаты и шлёт или получает сигналы (на сервер и с сервера). Ессно при потере связи с сервером контроллер должен работать самостоятельно.

                    Более того, во всех перегородках несущих или не несущих (без разницы) сделаю сквозные каналы для проводки, на тот случай если вдруг в будущем придётся заменить существующие сигнальные или силовые цепи или просто добавить недостающие.

                    Ранее было так у меня между тремя комнатами и когда мне понадобилось провести для духового шкафа отдельное питание я без проблем снял светильники и используя ранее проделанные каналы завёл силовой кабель.

                    1 Reply Last reply Reply Quote 0
                    • sigma
                      sigma last edited by

                      Может я чего не понимаю, но такой 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. В итоге, если сервер недоступен, то исполняются последние действия. Пока, на макете 😄 , это работает. Через месяц-два буду разводить проводку в доме.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      937
                      Online

                      31.7k
                      Users

                      79.7k
                      Topics

                      1.3m
                      Posts

                      5
                      9
                      4832
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo