Китайское реле с RS-485 / Modbus

Всем привет.

Я в теме автоматизации дома чайник, но по профессии программист и паяльник в руках держал. Поэтому решил я в новой квартире самостоятельно оформить т.н. Умный дом, и у меня неизбежно появились вопросы.

В качестве ядра системы я планирую использовать Wiren Board 5, и подключать устройства по шине RS-485. Одним из таких устройств, которых ещё и должно быть много, являются управляемые реле, с кнопками - для надёжности, и Modbus. Мне видится наиболее удобным размещать их вблизи самих настенных кнопок, за потолком или в гипсокартонной стене, чтобы не тянуть паутину проводов до контроллера, а обойтись одной витухой. Так же я планирую много групп освещения внутри каждой комнаты, поэтому реле мне нужны, желательно, минимум, 4-хканальные.

По этим причинам, “родные” реле от WB мне не совсем подходят - выходит очень дорого, а модели с большим числом каналов выполнены в корпусе на DIN-рейку, что увеличивает их размер, и, опять же, цену.

Поэтому посмотрел в сторону китайцев, и у меня возникли вопросы:

  1. Кто-нибудь имел дело с подобным реле? Их очень много у разных продавцов, все одинаковые на вид.

https://ru.aliexpress.com/item/Modbus-4-road-relay-module-STM8S103-system-4-road-input-485-communication-DIY/32493782149.html

Написано, что они поддерживают протокол Modbus. Я предполагаю, “из коробки”, как родные, они работать не станут, и что если для них никто не писал скриптов ранее, будет сложно заставить их работать в принципе?

  1. Прав ли я в принципе в том, что собираюсь располагать реле “на местах”, а не в щитке? Это плохо или равнозначно?

Не серчайте, если пробакланил уже данный ответ.
Спасибо за внимание, и надеюсь на ответ.

Кто-нибудь имел дело с подобным реле? Их очень много у разных продавцов, все одинаковые на вид.

Имел, буквально совсем недавно приехала парочка таких.

С Modbus у этих зверей всё двояко… Китайцы попытались реализовать протокол, но получилось у них так себе. Управлять реле можно, но всем требованиям протокола их команды не соответствуют (если нужно, могу подробнее описать несоответствия) — поэтому софт, честно поддерживающий Modbus, задружить с реле не получится. Ситуацию усугубляет то, что они ещё и ответы на команды присылают как-то криво (такое чувство, что через раз приходит эхо отправленной команды — может кто-нибудь умнее меня придумает объяснение этому феномену).

К счастью, сами команды довольно понятно описаны (например, здесь), а Wirenboard умеет посылать «сырые» байтики через последовательный порт. Так что можно соорудить костыль с помощью виртуальных устройств на js. Вот, например, костыль моего изготовления — его надо посадить в /etc/wb-rules. Там зардкожены команды для устройства, сидящего на адресе 64. По-хорошему, надо бы переделать, чтобы адрес можно было любой указывать, но тогда надо будет контрольные суммы в коде считать. Ответ у меня не проверяется (что тоже нехорошо), но на практике реле вполне успешно щёлкают.

Как альтернатива — внутри WB уже есть несколько проприетарных не-modbus протоколов (uniel, milur, mercury230, ivtm, s2k). Если хочется хардкора — всего-то надо немного покодить на Си и пересобрать wb-mqtt-serial)

Ещё более хардкорная альтернатива — попробовать самостоятельно перепрошить китайский девайс. Выводы для программатора у него есть, остальное вроде дело техники)

Прав ли я в принципе в том, что собираюсь располагать реле “на местах”, а не в щитке? Это плохо или равнозначно?

Поскольку в отношении планирования умного дома я примерно на том же уровне, что вы, не могу отвечать с полной уверенностью. Но судя по всему, что пока получилось узнать — примерно равнозначно.

Ставить в щитке удобно тем, что всё будет в одном месте — не нужно придумывать, где спрятать контроллеры в комнатах, и случись чего — до них будет проще добраться.

Если будут рядом с выключателями, будет действительно меньше проводов. И лично мне кажется этот вариант концептуально правильнее и красивее — иначе зачем вообще нужна шина RS485, если всё одним пучком идёт в общую коробку? Действительно жаль, что у Contactless кроме WB-MRM2-mini нет других компактных модулей (с тремя-четырьмя реле или — лично моя хотелка — с диммером).

Кстати, если не боитесь взяться за паяльник — можно и самому девайсов под свои нужды напаять. Рекомендую глянуть пару статей на Geektimes — раз, два. В первой описывается «room controller» на Atmega8, получив возможность подцепить к нему и датчики, и управляющие устройства. Во второй — бесшумная альтернатива реле, симисторный ключ, которым он управляет светом. Правда, к сожалению, связаться с автором ради подробностей не получилось.

1 лайк

Спасибо за ответ.

Я так понимаю, используя такой костыль, эта штука нормально работает без каких бы то ни было проблем?

А как эти реле работают без связи с контроллером? Адекватно реагируют на хардварные кнопки? Работают с однопозиционными выключателями без фиксации? Если да, то, технически, их можно сразу установить, без автоматизации, нормально ими пользоваться, и уже затем разбираться с управлением от центрального контроллера.

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

И костыль это костыль всё-таки, это не супер-надёжное решение. Бывает такое, что какую-то команду на включение/выключение реле пропускает и не меняет состояние (а в интерфейсе этого не видно из-за того, что ответ не обрабатывается).

Я всё надеюсь получить более подробную документацию от китайцев, да и сам поковыряюсь ещё, но пока что большой надёжности от этой штуки ждать не стоит.

Выскажу несколько соображений… Когда-то у меня возникла необходимость поставить модуль в дырку за многокнопочным выключателем внутри гипсокартонной перегородки. Модули от WB туда просто не лезли. Мне было предложено избавиться от корпуса и ставить туда только плату. Предупреждали о том, что китайские девайсы могут принести проблемы. Но я все же выбрал именно китайские от wellpro. И не пожалел. Работает нормально. С тех пор их уже стало несколько, в том числе и модуль с аналоговыми входами 0-10 для разных измерений, аналогов которых у WB просто нет. Пробовал и другие китайские modbus устройства (в том числе и совсем дешевые) - тоже проблем не возникало. Wellpro, конечно, подороже, чем эти релейные модули, но все же сильно дешевле, чем от WB. Ну а если в пересчете на порт - то и дешевле выйдет, чем этот 4-портовый модуль. Но так ли нужны именно эти реле? По-моему разумнее (если нужны дискретные выходы) смотреть в сторону модулей с транзисторными выходами. И если надо коммутировать высоковольтную и сильноточную нагрузку - вешать уже на них полупроводниковые реле с нужными параметрами. По крайней мере не будет слышно их работу (если ставить не в щиток), да и износа не будет от частого переключения механики.

1 лайк

Спасибо за совет.

А как у реле Wellpro с входами для кнопок? Они корректно работают?

UPD: Почитал - вау, они даже в списке совместимых устройств!

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

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

А не подскажете, на какой ток рассчитан каждый выход? Он может коммутировать 220В или рассчитан на слаботочку?

Если Вы хотите именно механические реле - есть там и такие в номенклатуре (но как я уже говорил - мне такое не нравится), а транзисторные выходы рассчитаны на низковольтную нагрузку до 0.5 ампера. Надо больше - ставите за ними твердотельные или механические реле в зависимости от того что хотите получить.

Посмотрел я их решения. Заменой данного реле, получается, может стать WP8024ADAM, учитывая необходимость управления с внешних кнопок.

Правда, в нём выходит всего 4 управляемых канала. К сожалению, цена за канал всё равно получается немаленькая, и сравнивается с ценой за канал 14-канального реле от WB.

А вы не в курсе, из коробки в данных реле входы скоммутированы с релейными выходами? Или их нужно будет настроить на замыкание реле сначала?

Я релейные модули не брал, мне интереснее были транзисторные выходы. В частности на 8DI + 8DO. Все входы-выходы независимы друг от друга и управляются только через контроллер. Ничего на модуле настраивать не надо, кроме изменения адреса, но и это делается просто через их софтину и 485 конвертер.

Очень жаль. Выходит, нет страховки на случай выхода из строя центрального контроллера, и свет нельзя будет включить, если он не работает?

Если Вам для света надо - лучше смотрите в сторону диммеров, к примеру у Uniel есть свои автономные входы для управления. А это все же универсальные модули входов-выходов, а не контроллер… кто знает, что Вам понадобится - кнопку подключать или включатель с фиксацией… или может вообще таймер какой-нибудь захотите.

Решения от Uniel, конечно, крутые, но это выходит ещё дороже и ещё менее компактно, чем родные устройства от WB. При цене описанного реле нет проблемы в случае чего просто поменять его на другую плату. Исходя из нашего диалога, я прихожу к выводу, что в данном случае хорошо и недорого не бывает.

Если “недорого” вопрос принципиальный, то берите в руки паяльник и изучайте ESP8266 (3$). На него повесите то что Вам надо - реле, кнопки… сделаете ту простейшую логику, что Вам надо прямо на нем. По WiFi подключите к mqtt WB для управления через контроллер. Лично мне такое не очень нравится, хотя для датчиков считаю вполне нормальным. У меня, к примеру, так работает датчик CO2 + давление. Но в Вашем случае при желании распихать устройства по разным углам, потратить минимум денег и сделать собственные уникальные хотелки - возможно это будет лучший вариант.

А кто-то реально пробовал пойти путём размещения в комнатах устройств на rs485 таким образом, чтобы оставить в щитке только сам WB?

Всё никак не спланирую ремонт, но точно знаю, что делать буду помещения по очереди это было бы очень удобно. Не хотелось бы штробить под десятки, если не сотню проводов до щитка из всех комнат.

А в чём проблема с этим? Так-то RS485 для того и есть)

Разве что проложить шину надо как-то сразу грамотно по периметру, и предусмотреть простой способ к ней иметь доступ и делать ответвления. Ну и места, где будут устройства располагаться.

Есть то он есть, но хочется понимать его реальные возможности.

На вскидку, для трёшки таких устройств может быть 2-3 десятка, а длинна шины будет метров 30.

Судя по всем этим интернетам, качество работы rs485 достаточно сильно зависит от контроллера и проводки.

может я не прав.

Опять же, судя по отзывам в интернете, длина в 30 метров — это ничто для этой шины (хотя на самом деле 30 метров это что-то довольно оптимистично, у меня в однушке по плану примерно столько выходит, а на деле надо ещё с запасом расчитывать). Там 1200 метров максимум по стандарту.

2-3 десятка это уже довольно много, да, но вы уверены, что там столько понадобится? Один модуль обычно несколькими реле управляет, датчики тоже погруппировать можно. Я бы не больше 3-5 устройств на комнату рассчитывал, куда больше-то. 15 устройств RS485 вполне потянет. А если не потянет — вторую линию протянуть, благо в WB второй порт есть)

Я вот, кстати, планирую к электросчётчику провод бросить, но там проблема в том, что он снаружи, на лестничной площадке находится. Опасно как-то общую шину наружу выводить — похоже, придется докупить модуль с изолированным портом специально под это дело.

Может я погорячился конечно, потому что реально можно комбинировать и вопрос просто в подборе.
К примеру для комнаты по максимуму порядка 6 устройств может быть:

  • релюшки (часть света, розетка-другая)
  • димер (свет)
  • шторы
  • сухие контакты (датчики протечки, датчик дыма)
  • климатические датчики (температура, влажность, со2)
  • инфракрасный передатчик (управление кондеем, выключение телика)