Выбор основы «Проводного» умного дома?

Добрый день!
Я новичок, в схемотехнике и Arduino.

Планирую капитальный ремонт и хочу сделать умный дом на основе arduino и датчиков именно по проводам
Не понимаю какие способы, какие протоколы использовать для этого.
Как я понял в стене нужно прокладывать витую пару, на каждом функциональном узле будут стоять arduino pro mini, которые будут слать инфу на центральную arduino.
Что мне нужно чтобы передавать инфу по витой паре? Вот такой переходник присобачить к aduino с одного конца и другим концом на общую шину?

И какие еще есть способы проводного общения между ардуино?
  • Вопрос задан
  • 1850 просмотров
Пригласить эксперта
Ответы на вопрос 5
a_volkov1987
@a_volkov1987
Инженер-схемотехник
RS-485. Идеален для длинных линий связи в условиях сильных помех. Собственно почти вся аппаратура на военных судах и авиации общается по этому интерфейсу.
И да, RS-485 - это физический интерфейс. Поверх него придётся написать уже свой протокол общения.
Обычно в линии есть один мастер и куча слейвов. Мастер шлёт пакет с адресом слейва и данными, обозначающими, чего мастер хочет от этого слейва. Вызываемый слейв после получения пакета мастера должен ответить мастеру своим пакетом данных. В принципе, скорости вам хватит, особенно если не раздувать передаваемые данные и пользоваться кодовыми таблицами вместо передачи строковых данных.
Ответ написан
Комментировать
DIITHiTech
@DIITHiTech
Fullstack javascript developer
Еще можно посмотреть тот же 1-Wire, некоторые приделывают i2c(twi) в ультра низкой скорости, но насколько там у них оно работает хз, это костыли- он для этого не предназначен.
Но RS-485 сделан как раз для обмена на длинные расстояния в промышленных масштабах, так что это самый лучший вариант.
Ответ написан
Комментировать
Вот все советуют modbus, а не говорят о том, что там маленькие скорости и связь мастер-слейвы. По-отдельности эти минусы особого значения не имеют, но вместе — изрядно добавляют неудобств. Проблема modbus в том, что устройства надо опрашивать. Это надо делать довольно часто, особенно для датчиков движения, завязанных на свет или выключателей, иначе страдает удобство — задержки перед включением света. А как только у вас в шине будет много устройств, сразу поимеете геморрой с тем, какие устройства и как часто надо опрашивать.
Лучше брать протокол, у которого в сети устройства равнозначны. Из легких и распространенных, пожалуй, только и езернет остается.
Ответ написан
Комментировать
По соотношению цена/возможности RS-485 + Modbus вполне годный вариант. Альтернатива (исключая спецпротоколы вроде KNX или SmartBus) CAN, но стоимость устройств дороже и отладка более сложная.

Большие скорости в принципе не нужны, так как данные будут в основном размером с байт-два. В бинарном виде это займет с адресами и контрольной суммой порядка 5-10 байт. То есть примерный объем с запасом 20 (10 - запрос, 10-ответ) байт на устройство.

В пользу modbus говорит еще огромный выбор уже готовых устройств. Если сейчас может быть интересно паять, собирать что-то, то через год-два может что-то измениться и возможность купить что-то может оказаться очень кстати.

Я бы не возлагал большие надежды на ардурину, во всяком случае как головное устройство. Лучше взять либо ПЛК, либо микро-ПК (например, Raspberry) с интерфейсом RS-485. Кроме того стоит подумать как строить сеть. На мой взгляд правильнее иметь умные оконечные устройства со связью с master'ом. Это поможет в аварийных ситуациях, например свет будет управляться выключателем на стене через устройство, пока master недоступен.

Конечно кратко это все не опишешь, есть и некоторые подводные камни. Например крайне желательно подумать о гальванической развязке и правильном питании. Но вообще и по RS-485 и по Modbus много информации в сети и если задаться целью можно довольно таки неплохо разобраться.

Из альтернатив я бы смотрел на CAN, KNX или SmartBus. Но для CAN я что-то вообще не вижу устройств, а для спец решений совсем другие цены.
Ответ написан
Комментировать
@aid4u
Сам изучал этот вопрос и пришел к выводу что самый лучший вариант это ethernet (можно реализовать PoE) и 1-wire для датчиков температуры если их много. В каждой комнате стоит свой arduino подключенный по LAN и периодически отправляет запрос по URL с данными на сервер или облако и при установке ИБП у сервера (или роутера) система будет работать стабильней.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы