Управление arduino по сети без web
- Войдите на сайт для отправки комментариев
Всем привет.
Перед тем как задам вопрос - опишу концепцию, так будет проще понять мой вопрос :)
И так, есть дом, хочется автоматизации. В качестве "конечных" устройств будут ардуины (нано или про мини), часть из них информационные (датчики температуры, освещенности и прочее), часть исполнительные (через реле естественно, например выключение света, отопления и т.д.). Вся логика на одном устройстве - 99% это будет raspberry. Именно на центральном узле будет прописана вся логика обработки и действий по сигналам.
Конечные ардуины будут в большенстве своем подключаться по wi-fi. Вот ими и нужно как то просто управлять. Понятное дело что на каждой можно поднять веб сервер и управлять всем через web, хочется от этого уйти, т.к. это и не сильно безопасно и не очень то и удобно. Нужно какое то решение прямого посылания/получения данных с консоли каждой конечной ардуинки, при этом еще и с максимальной безопасностью, лучше вообще по авторизации.
Вот и вопрос - как бы это сделать? Лично мне в голову приходит только одна тупая мысль - на каждой ардуине поднять telnet сервер, но мне кажется я изобретаю велосипед и есть решения гораздо проще.
P.S. Я не прошу готового решения - я прошу "вектор" для размышления )))
Вы считаете что telnet безопасен?
вот вам вектор http://www.opennet.ru/opennews/art.shtml?num=32217
Всем привет.
Перед тем как задам вопрос - опишу концепцию, так будет проще понять мой вопрос :)
И так, есть дом, хочется автоматизации. В качестве "конечных" устройств будут ардуины (нано или про мини), часть из них информационные (датчики температуры, освещенности и прочее), часть исполнительные (через реле естественно, например выключение света, отопления и т.д.). Вся логика на одном устройстве - 99% это будет raspberry. Именно на центральном узле будет прописана вся логика обработки и действий по сигналам.
Конечные ардуины будут в большенстве своем подключаться по wi-fi. Вот ими и нужно как то просто управлять. Понятное дело что на каждой можно поднять веб сервер и управлять всем через web, хочется от этого уйти, т.к. это и не сильно безопасно и не очень то и удобно. Нужно какое то решение прямого посылания/получения данных с консоли каждой конечной ардуинки, при этом еще и с максимальной безопасностью, лучше вообще по авторизации.
Вот и вопрос - как бы это сделать? Лично мне в голову приходит только одна тупая мысль - на каждой ардуине поднять telnet сервер, но мне кажется я изобретаю велосипед и есть решения гораздо проще.
P.S. Я не прошу готового решения - я прошу "вектор" для размышления )))
Я считаю сомнительным постулат, что Малина справиться с логикой лучше, чем Ардуино. Сколько там той логики? Да и смысл тогда в Ардуинор, если на Малине своих GPIO достаточно. Но это можно оставить за скобками, ибо холивар...
А вот чем вам сеть не угодила? Не хотите выпускать свой дом в глобальную сеть - не выпускайте, оставьте в локальной сети. Более того, именно доступ из интернет - задача не очень тривиальнае и люди ломают голову, как ее решить... Вот с ролью веб-сервера Малина справиться великолепно. Но это если сильно нужно ее как-то использовать, т.к. openwrt на роутере справляется не хуже...
Зато на стороннем веб-сервере можно замутить кошерный веб-интерфейс, с которым не справиться никакая Ардуино.
Я считаю сомнительным постулат, что Малина справиться с логикой лучше, чем Ардуино. Сколько там той логики? Да и смысл тогда в Ардуинор, если на Малине своих GPIO достаточно. Но это можно оставить за скобками, ибо холивар...
А вот чем вам сеть не угодила? Не хотите выпускать свой дом в глобальную сеть - не выпускайте, оставьте в локальной сети. Более того, именно доступ из интернет - задача не очень тривиальнае и люди ломают голову, как ее решить... Вот с ролью веб-сервера Малина справиться великолепно. Но это если сильно нужно ее как-то использовать, т.к. openwrt на роутере справляется не хуже...
Зато на стороннем веб-сервере можно замутить кошерный веб-интерфейс, с которым не справиться никакая Ардуино.
На счет первого - ардуина прекрасно и с логикой справится, проверялось уже не однократно. Просто концепция такая для простоты исполнения и будущих изменений/расширений
В принципе сейчас и сам прихожу к выводу что пытаюсь изобрести велосипед - т.к. на вебе будет проще и быстрее. Защита как раз не проблема, все сетевое оборудование это циски, с ними опыт и так большой, можно очень тонко настроить политику "фильтрации" трафика. Опять же вывод наружу можно сделать через простой сайт на локальном сервере.
роутеров (703N или 2030) на все ардуинки не напасешься :) По факту пока получается сборная солянка из nano v3, набор датчиков/реле и esp8266 для связи, т.к. тянуть километры выитухи крайне не охото )))
Sl1ng3R, чисто для интереса - а на кой каждой ардуинке по роутеру?
P.S. Хотел еще спросить про "простоту исполнения" на Малине, но решил промолчать, ибо холивар...
Ардуинок на первом этапе будет около 20, из них 5 информационные (температура, датчик дыма, датчик освещенности), остальные управляющие с релейными блоками (включение света, циркуляционного насоса, и прочее).
Мне нужен максимально простой способ получить по wifi доступ к serial порту каждой ардуины, остальное дело техники
P.S. не холивара ради - насчет малинки. Не факт что буду использовать еще - для начала попробую ее (еще не приехала), а там видно будет :)
Ардуинок на первом этапе будет около 20, из них 5 информационные (температура, датчик дыма, датчик освещенности), остальные управляющие с релейными блоками (включение света, циркуляционного насоса, и прочее).
Мне нужен максимально простой способ получить по wifi доступ к serial порту каждой ардуины, остальное дело техники
P.S. не холивара ради - насчет малинки. Не факт что буду использовать еще - для начала попробую ее (еще не приехала), а там видно будет :)
Ну раз без холивара - утолите мое любопытство, нафига 20 ардуинок? Чем одна Мега не устраивает? Или провода уже не реально протянуть, только вай-фай?
Ну раз без холивара - утолите мое любопытство, нафига 20 ардуинок? Чем одна Мега не устраивает? Или провода уже не реально протянуть, только вай-фай?
Провода тянуть под всю автоматизацию крайне лениво, от слова очень :) Такое количество объясняется просто - 5 штук - датчики температуры/влажности/дыма для комнат, на каждую комнату своя сборка. Обогрев (ИК панели), опять же 5 штук, в разных комнатах, наружное освещение дома, привод двери гаража. Точек автоматизации много... но это в планах это чуть позже, пока хочу потренироваться в квартире, а тут не так давно ремонт только закончили - тащить провода не вариант :((((
Ну раз без холивара - утолите мое любопытство, нафига 20 ардуинок? Чем одна Мега не устраивает? Или провода уже не реально протянуть, только вай-фай?
Провода тянуть под всю автоматизацию крайне лениво, от слова очень :) Такое количество объясняется просто - 5 штук - датчики температуры/влажности/дыма для комнат, на каждую комнату своя сборка. Обогрев (ИК панели), опять же 5 штук, в разных комнатах, наружное освещение дома, привод двери гаража. Точек автоматизации много... но это в планах это чуть позже, пока хочу потренироваться в квартире, а тут не так давно ремонт только закончили - тащить провода не вариант :((((
Ну раз у нас с вами мир и взаимопонимание (без холивара) - ответьте, чем будете питать свои 20 ардуинок?
HTML5, CSS3, quoted-printable картинки позволяют сформировать такой ни███вый интерфейс, что клиент только рот сможет открыть, увидев. И можно будет кружку подставить и собирать слюну. Прозрачные таблицы, фон постером, шевелящиеся объёмные кнопки с тенью, и прочие красивости. И всё это вполне возможно затолкать в один файл, не более 20 кб. С графикой. Для этого даже SD флешка не нужна и FAT поднимать не сплющилось (только память зря расходовать). Галимая внешняя EEPROM за 4 юаня. Аще не вижу проблем сделать сервер из 328.
Правильно хочется, ибо вайфай модули стандарта g нахер положат сеть до скорости 4 кбит/с. Самый простой способ - передавать через нечто, менее ресурсоёмкое, нежели TCP/IP. Например трансиверы, nRF24L01+ тот же. Вайфай в этом случае нужен только центральному "серверу", который служит шлюзом WiFi<>RF. И чтобы не бездельничал, можно к нему часы приделать. Или датчик движения в коридоре. Всё равно этот сервак будет находится в середине квартиры, чтобы был качественный приём.
Народ, так как решили проблему? Сори за поздний пост. У меня просто задумка точно такая же - по 2-3 ардуинки на комнату, которые между собой связаны по tx-rx, а одна из них самая главная по ethernet с с ервером по локальной сети. Подскажите есть резон так делать? Или нужно все же все ардуинки связывать через tx-rx и тоьлко самую главную из всех главных по ethernet?
По идее я хотел использовать SynologyDS как web сервер для того чтобы через него отправлять http запросы, который бы отправлял по tCP IP запрос на нужную ардуинку в комнате, а та уже исполняла. Скажите насколько такой подход оправдан. Я в отличие от автора сейчас могу тянуть любые провода, но пока не могу определиться с архитектурой.
снова я чегото не пойму, для чего ставить 10 ардуинок в одну комнату?
Ну я не сильно силен пока в архитктуре ардуино, но по подсчетам не хватает цифровых пинов arduino uno для всех задач. В теории в одной комнате есть выключатель(arduino), rgb led подсветка, несколько датчиков, управляемая римская штора, вентиляция, модуль управления техникой по ИК каналу и т.д. Складывается ощущение, что одна уно со всем этим не справится, да и пинов просто не хватит. Поэтому напрашивается вариант, когда одна уно висит где-то под потолком и слушает http запросы, в случае, если нужно вмешаться в ее обычный ритм работы. Так же она управляет всеми своими подчиненными по tx-rx соединению. И отсылает тревожные сигналы на сервер от датчиков.
Я не хочу сказать, что уже все решено, если кто-нибудь подскажет какое-то решение, то буду благодарен.
Да и в одной комнате 2-3 ардуино по задумке, просто комнат как всегда на два этажа )))
Посмотрите mysensors.org там много примеров
Вам нужен какой нибудь контроллер умного дома и его связать с ардуино.
например openhab+mqtt broker+arduino
У openhab есть интерфейс удаленного управления в том числе со смартфона
но ардуино в этом деле не самый лучший выбор, есть хорошая альтернатива esp8266 с прошивкой nodemcu. С тем же openhab она может работать напрямую, а датчики и реле цеплять прям к esp8266, они работают по wifi, стоят меньше 200р за штуку
ну во первых можно увеличить количество пинов как цыфровых так и аналоговых.
если переживаете по 1 меге лучше ставьте, будет надежнее чем писать общение между кучами ардуин.
Посмотрите mysensors.org там много примеров
Оо... Честно говоря я мало что понял, что вы имеете ввиду, но все-таки попробую сформулировать. Я правильно понимаю, что мне нужно "мастер устройство" с wi-fi модулем и ethernet модулем(для связи с роутером) на котором будет крутиться один из "контроллеров" с данного сайта под linux(?), например openhub + еще что-то(mqtt broker), который по wi-fi общается с wi-fi модулем, прикрепленный к ардуино или вообще без ардуино, к которому привязаны реле или датчики(т.е. это исполнительное устройство) которое использует прошивку для этого и общается с "мастером" по wi-fi. Вся логика крутиться исключительно на "мастере", к которому можно подключиться через любое устройство хоть смартфон и получить данные или поуправлять чем хочется?
Мастер устройство видимо может быть тот же SynologyDS или малинка, т.к. она намного навороченнее любой ардуинки?
ну во первых можно увеличить количество пинов как цыфровых так и аналоговых.
если переживаете по 1 меге лучше ставьте, будет надежнее чем писать общение между кучами ардуин.
да переживу, если пинов хватит для комнаты))) Тогда остается вопрос только с тем как связать меги в каждой из комнат в сеть)
Конечные ардуины будут в большенстве своем подключаться по wi-fi.
уже решили по беспроводному каналу управлять?
по RS485 не думали? в этом случае нужна продяжка проводов
вот почитайте http://arduino.ru/forum/proekty/ocherednoi-umnyi-dom-na-etot-raz-modulnaya-sistema?page=1#comment-184977
в принципи тоже планирую ставить в каждую комнату по ардуинке всю инфу буду соберать на сервере на малинке
Оо... Честно говоря я мало что понял, что вы имеете ввиду, но все-таки попробую сформулировать. Я правильно понимаю, что мне нужно "мастер устройство" с wi-fi модулем и ethernet модулем(для связи с роутером) на котором будет крутиться один из "контроллеров" с данного сайта под linux(?), например openhub + еще что-то(mqtt broker), который по wi-fi общается с wi-fi модулем, прикрепленный к ардуино или вообще без ардуино, к которому привязаны реле или датчики(т.е. это исполнительное устройство) которое использует прошивку для этого и общается с "мастером" по wi-fi. Вся логика крутиться исключительно на "мастере", к которому можно подключиться через любое устройство хоть смартфон и получить данные или поуправлять чем хочется?
Мастер устройство видимо может быть тот же SynologyDS или малинка, т.к. она намного навороченнее любой ардуинки?
почти
берется контроллер центральный который делается или на компьютере или на мини компьютере. На малинке как выше писали вполге можно или даже на апельсинке которая стоит чуть дороже меги
контроллеры разные есть. Про все не расскажу. На mysensors много описано если читаете по английски.
Сам смотрю в сторону именно openhab и mosquitto. Esp8266 может напрямую связываться с mosquitto (это один из опенсорсных mqtt брокеров) ибо имеет wifi udp tcp/ip
А ардуино можно связать или напрямую с ethernet шилдом или сделать общий gateway и связываться через него. В проекте mysensors датчики связываются по радио с gateway
почти
берется контроллер центральный который делается или на компьютере или на мини компьютере. На малинке как выше писали вполге можно или даже на апельсинке которая стоит чуть дороже меги
контроллеры разные есть. Про все не расскажу. На mysensors много описано если читаете по английски.
Сам смотрю в сторону именно openhab и mosquitto. Esp8266 может напрямую связываться с mosquitto (это один из опенсорсных mqtt брокеров) ибо имеет wifi udp tcp/ip
А ардуино можно связать или напрямую с ethernet шилдом или сделать общий gateway и связываться через него. В проекте mysensors датчики связываются по радио с gateway
Хм...интересный вариант. Надо будет подумать. Сейчас мне все же импонирует вариант, когда самописный сервер крутииться на SynologyDS + там же вэб интерфейс, синолоджи связан с роутером напрямую, роутер связан со свичем и через него уже подключены ардуино комнаты по tcp ip. Мне честно не очень хочется устанавливать ПО сторонних разработчиков для таких систем, хочется самому написать вэб интерфейс.
Вообще наткнулся вот на такую штуку -
http://s.click.aliexpress.com/e/MZVFuFEIy
Я бы ее использовал там, где нельзя проложить провод utp.
Я был бы признателен, если кто-нибудь скинет на урок или хорошую статью ссылку, где есть организация управления ардуино по tcp ip через вэб сервер на php + вэб интерфейс с примерами хорошей реализации. Сам гуглил - нашел множество статей - сижу читаю, их слишком много, но пока не могу найти подходящий пример или если он есть, то там описано все поверхностно без конкретной реализации.
Вообще как я вижу реализацию:
На сервере крутиться вэбинтерфейс, который формирует POST запросы по http, которые отправляются нужной ардуине по ее локальному адресу IP. Та принимает сигнал и по внешнему прерыванию выполняет действие. До этого момента она просто исполняет заложенный в ней цикл, время от времени информируя сервер о показаниях датчиков.
Скажите такая идея работоспособна или я плохо представляю себе схему взаимодействия?
Зачем на ардуине поднимать HTTP? Если достаточно просто по TCP принимать запросы и отправлять ответы, юзая какой-нибудь MODBUS или самописный протокол? И ресурсы дуины сэкономите, и в разработке легче.
На сервере крутиться вэбинтерфейс, который формирует POST запросы по http, которые отправляются нужной ардуине по ее локальному адресу IP. Та принимает сигнал и по внешнему прерыванию выполняет действие. До этого момента она просто исполняет заложенный в ней цикл, время от времени информируя сервер о показаниях датчиков.Скажите такая идея работоспособна или я плохо представляю себе схему взаимодействия?
вы как и многие из нас по началу в голове городите какого то монстра )
не стоит пытаться быть кулибиным и изобретать колесо. Говорю вас как прошедший через муки проб и выбора
Если готовы все ардуины соединить проводами, то ethernet не лучший вариант, избыточен для ардуин. Здесь выше уже об этом написали. Вам лучше смотреть в сторону чего-то типа RS485/CAN. Т.е. таже витая пара только не ethernet а куда проще быстрее и лучше для ардуины. К synology можете прикрутить USB свисток через который подключиться к нужной сети (к тому же RS485)
Т.е. {synology один}<->{usb один}<->{rs485 один}<->{модуль rs485 uart много}<->{arduino много}
Либо synology<->ethernet<->{ethernet shield}<->{arduino gateway}<->{uart-rs485 один}<->{rs485-uart много}<->{arduino много}
Я еще немного погуглил и наткнулся вот на такую статью - http://robocraft.ru/blog/3088.html
Мне больше хочется вот такой реализации или похожей. Во всяком случае мне эта реализация более-менее понятна. К сжалению промышленные реализации типа RS485 или CAN для меня сложны и требуют по всей видимости доп. оборудования, а со связкой arduino+ethernet модуль или arduino + wifi модуль более-менее все понятно.
Зачем на ардуине поднимать HTTP? Если достаточно просто по TCP принимать запросы и отправлять ответы, юзая какой-нибудь MODBUS или самописный протокол? И ресурсы дуины сэкономите, и в разработке легче.
Не могли бы вы поподробнее рассказать про метод отсылки и приема запроса по TCP не поднимая сервер HTTP?
Не могли бы вы поподробнее рассказать про метод отсылки и приема запроса по TCP не поднимая сервер HTTP?
А в чём, собственно, ключевое отличие-то? HTTP - это протокол, реализованный поверх TCP/IP, не более того. Для того, чтобы обмениваться с ардуиной данными по TCP/IP, необязательно реализовывать протокол HTTP - можно выбрать любой другой, хоть самописный. Например, отправляете по TCP строку "tell me your status$", ардуина принимает её, видит, что пакет принят полностью (есть знак $ в конце строки), понимает, что её запросили о статусе и - отдаёт обратно строку "i'm ok, sir!". Можно и не строками, можно байтами, можно - структурами, описывающими какое-нибудь состояние. Да по-всякому можно, на HTTP свет клином не сошёлся.
А скажите, а можно ли соединить ардуинки вот по такой схеме?
Мастер - arduino mega, которая связана с роутером по обычной локалке, к ней по шине подключены arduino uno по tx-rx(uart на сколько я понял), которые являются мастерами комнат, к uno в каждой комнате так же по шине подключены nano? Да и главное можно ли в этом случае использовать обычный utp кабель чтобы их связать?
А скажите, а можно ли соединить ардуинки вот по такой схеме?
Мастер - arduino mega, которая связана с роутером по обычной локалке, к ней по шине подключены arduino uno по tx-rx(uart на сколько я понял), которые являются мастерами комнат, к uno в каждой комнате так же по шине подключены nano? Да и главное можно ли в этом случае использовать обычный utp кабель чтобы их связать?
Вам не чистый uart нужен, а uart через rs485
Есть такие модули
Вам не чистый uart нужен, а uart через rs485
Есть такие модули
А какое преимущество у него будет по сравнению с обычным uart? Насколько я понял из примеров обычный uart может быть с обратной связью и достаточно быстрым. Если все контроллеры просто шиной объединить, то с ними довольно просто(опять же судя по примерам) общаться используя библиотеку Serial.
Обычный uart не расчитан на работу на длинных проводах иплохо защищен от помех
так же обычный uart не предполагает соединение более двух МК
Ок, ясно, спасибо.
Скажите, вот тут тоже есть соединение наподобии - несколько МК соединены по шине. Я честно пока не разобрал этот пример досконально, но он как думаете сможет работать на больших расстояниях?
http://bigbarrel.ru/arduino_serial_uart_net/
Хотите повторить технически неграмотный вариант по вашей ссылке так ктож вам запретит?
Хотите повторить технически неграмотный вариант по вашей ссылке так ктож вам запретит?
А в чем собственно "неграмотность" варианта. Ну он кажется очень привлекательным в меру своей видимой простоты. Но попробовать его повторить очень хочется и понять как он работает.
я вижу две глупости которые делает автор
- соединяет паралельно выводы uart нескольких ардуин. еще ладно соединить RX, но TX.. хоть бы буферные элементы предусмотрел
- для прерывания он использует отдельные пины при том, что в МК есть прерывания по uart аж несколько штук. Момжно конечно и так, но это тоже самое если вы для того чтобы покатать велосипед поставите его на тележку и только потом будете катать
и даже по мне здесь вред больше не от самих технических глупостей, а от желания автора оставаться невежественным в части того как он использует ардуину. не буду отговаривать, хотите следуйте за автором
но если хотите изучать ардуину обучаясь то так делать не рекомендую. рекомендую изучать как делать правильно
А не могли бы вы скинуть ссылку на какой-нибудь правильный вариант соединения множества ардуин в одну систему? Ну или может какую-нибудь статью с теорией, чтобы попытаться разобраться в подходах и попробовать выбрать для себя наиболее подходящий?
я вам уже давал подсказку. ищите по слову rs485. рекомендую отдельно почитать про rs485 как таковой, как организуется такая сеть. а потом уже посмотреть примеры для ардуины
по сути там используется тот же Serial только во первых соединяются ардуины паралельно не напрямую, а через специальный чип так называемый драйвер шины rs485. Есть шилды с этим чипом
а во вторых это полудуплексная сеть, когда одновременно говорить может только один, обычно одна из ардуин назначается мастером которая решает когда кого спросить
есть модификация rs422 в которой режим дуплекса, использована одна пара проводов для общения от мастера к ведомым и одна пара от ведомых к мастеру, т.е. в этом случае мастер и ведомый могу вещать одновременно, но только один ведомый, не все сразу
Ок, спасибо большое, буду изучать потихоньку.
Скажите, а что вы думаете о таком способе соединения и использования библиотеки Wire.h?
http://wikihandbk.com/wiki/Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%...
Скажите, а что вы думаете о таком способе соединения и использования библиотеки Wire.h?
http://wikihandbk.com/wiki/Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%...
я не использую и не рекомендую те решения которые основаны на недокументированных возможностях
в данном случае две платы ардуино связываются по протоколу I2C
https://ru.wikipedia.org/wiki/I%C2%B2C
протокол так называемый внутриплатный, т.е. применяется для связи компонентов установленных на одной плате, в худшем случае на разных, но внутри одного корпуса т.е. с короткими проводами
хотите экспериментировать так ктож вам запретит
протокол так называемый внутриплатный, т.е. применяется для связи компонентов установленных на одной плате, в худшем случае на разных, но внутри одного корпуса т.е. с короткими проводами
хотите экспериментировать так ктож вам запретит
Спасибо, думаю тоже как-то немного странный подход. Да, попробовать хочу, тем более что есть Uno и pro mini. Я просто действительно хочу попробовать разные варианты подключения. Для чего мне это надо? Ну во-первых чтобы хотя бы иметь представление о достоинствах и недостатках той или иной системы. Во-вторых чтобы в "случае чего" применить в разных частях дома разные протоколы имея в арсенале различные подходы. Как-то так)))
Про RS485 помню - нашел на ali даже все платки для него. Примеров реализации пока не нашел, но думаю скоро доберусь)))
Не знаю кому как, а мне пока вариант 1 комната - 1 ethernet shield с http сервером не кажется таким уж неудачным и излишним. Во первых ардуинка при любом запросе может отобразить всю информацию, во вторых - кто ж его знает, вдруг понадобиться в каждой комнате по тачскрину этой комнаты с отображением инфы и управлением. Технологии то сейчас...огого, только успевай вникать)))
на mysensors.org есть все примеры и библиотеки для ваших задач, там тоже есть вариант одна ардуино с ethernet, а все остальные с радио
rs485 это так называемый физический уровень. Для программного уровня это все тот же Serial с одной особенностью - half duplex
то есть надо разделять по времени прием и передачу, как на рации - нажал кнопку - говори, отпустил - слушай, и не перебивай!! )))
Ну я не сильно силен пока в архитктуре ардуино, но по подсчетам не хватает цифровых пинов arduino uno для всех задач. В теории в одной комнате есть выключатель(arduino), rgb led подсветка, несколько датчиков, управляемая римская штора, вентиляция, модуль управления техникой по ИК каналу и т.д. Складывается ощущение, что одна уно со всем этим не справится, да и пинов просто не хватит.
Выводов не хватает - а что Сдвиговые регистры ктото отменял?
Только вот недавно делал семисенментное светодиодное Табло на 6 цифр итого 6*7 = 42 управляемых кусков светодиодной ленты на каскаде регистров 765м, правда пришлось соображать как Цифры из перемнных Преобразовавать в Команды на регистры ))
Но с кнопками /реле и прочем всё просто как грабли и есть куча примеров
http://robotclass.ru/tutorials/arduino-shift-register/
http://mysku.ru/blog/aliexpress/43226.html
По поводу связи: тут надо решить чем вы будете питать Ардуины если проводами, то связь по проводам надо делать
Если по воздуху, то Wifi? возожно Blutooth (дешевле) http://arduinolab.pw/index.php/2015/12/02/radiomoduli-nrf24l01-i-arduino/