Шлюз WiFi-RS485

У меня установлен счетчик электроэнергии Меркурий-230 в котором присутствует порт RS-485. В момент установки счетчика к интерфейсу был подведен и подключен кабель UTP. Через USB адаптер все это было подключено к серверу и работало несколько лет, пока руки не дошли отвязаться  физически от сервера. 

На aliexpress заказал модуль UART-RS-485 и под него нарисовал плату в корпус на DIN рейку.так как места достаточно много а платы заказываются десятком, совместил два устройства на одной плате.

Собственно сам шлюз с возможностью установки двух типов модулей, esp8266-01 и esp8266-07 если необходима внешняя антенна ( в случае установки в железный бокс).

Второй вариант это WiFi реле на 2 канала, с возможностью подключения на вход кнопок или датчиков. На плате разведен делитель для встроенного АЦП. Присутствуют 3,3 вольта для питания ESP и 5 вольт для датчиков.

Для питания схемы используется преобразователь DC-DC с диапазоном входных напряжений от 4,75 до 23 вольт, настраивается на 5 вольт на выходе.  3,3 вольта получаем через AMS1117. Силовая часть это твердотельные реле G3MB-202P.

Платы заказывал на jlcpcb.com.

Распаял детали шлюза (синие клеммники не советую использовать)

Зеленый  светодиод это наличие питания, оранжевые отображают статус подключения к серверу MQTT и сети WiFi.

Сделал лицевую панель

технология та же что использовал при изготовлении шлюза OpenTherm

Корпус производства «Меандр»

В собранном виде выглядит так

В качестве прошивки используется ESPEasy. В зависимости от того как сконфигурировать прошивку шлюз можно использовать в двух режимах.

В качестве виртуального порта используя ser2net , в этом режиме к счетчику можно обращаться с помощью родной программы или использовать модуль «Счетчики Меркурий» из маркета дополнений MajorDoMo. Как вариант, для работы в таком режиме можно использовать прошивку ESP-Link.

Второй вариант, использовать плагин от @Andrey Anopov для ESPEasy. С его помощью всю нужную информацию можно получать через MQTT. Прошивку можно скомпилировать самостоятельно или воспользоваться моей сборкой.

Что бы данный плагин мог работать с hardware serial нужно отключить порт в настройках ESPEasy

после этого в настройках плагина станут доступными для выбора GPIO1 и GPIO3. (После настройки плагина, порт можно включить обратно)В результате этих манипуляций с заданным периодом опроса в MQTT появляются текущие данные, опционально можно включить получение ежедневной и ежемесячной статистики.на основе этих данных уже можно строить графикиили выводить нужные данные на видное место

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

Для желающих, файлы для заказа плат.

Запись опубликована в рубрике handmade с метками , , , , . Добавьте в закладки постоянную ссылку.

30 комментариев на «Шлюз WiFi-RS485»

  1. Павел говорит:

    Здравствуйте. а по GPRS не пробовали передавать данные на MQTT?

    • Jager говорит:

      Не совсем понятен вопрос в контексте шлюза. GPRS это всего лишь канал связи, принимайте данные с шлюза на компьютер и далее передавайте куда угодно и каким угодно способом. Если вы хотите без компьютера передавать данные на удаленный MQTT то ставьте 3G/4G модем c WiFi/

      • Павел говорит:

        да, на даче нет ни компа ни WiFi.
        платку уже изготовил с SIM800 и ESP12 на борту.
        осталось дело за программой.

  2. Михаил говорит:

    Можно с несколькими счетчиками Энергомера по 485 соединить?
    Хочу свой и соседский опрашивать.
    И какая стоимость?

  3. Александр говорит:

    Добрый день, уважаемый Jager. Я заказал платы по вашим файлам, не могли бы вы дать информацию по компонентам на плате

    • Jager говорит:

      Вы собираете шлюз? Если да то там и деталей то нет, резисторы 510-1к в зависимости от светодиодов которые вы будете использовать. Собственно сами светодиоды 3мм.

  4. Александр говорит:

    Детали есть, обвязка питания (тоже готовая платка), стабилизатор, разъемы для подключения, разъем (плата ESP)

    • Jager говорит:

      В статье есть линки на DC-DC, стабилизатор, реле. Клеммы под провода с шагом 5.08, под есп стандартный header female 2×4 2.54

  5. Павел говорит:

    Здравствуйте. ser2net устанавливается на esp поверх ESP_Easy?

  6. Сергей говорит:

    а готовое устройство есть возможность продать?

  7. Антон К. говорит:

    Подскажите в чем причина…впаял резисторы 510, прошил esp 01…в итоге esp не хочет стартовать на плате, но при этом в прошивальщике стартует на ура…(перемычку между vcc и chep впаял)…такое ощущение что модуль что то держит…может вообще не нужны резисторы кроме как на светодиодах??? (я впаял на HL 1,4,5 под светодиоды и R 9, 8 1,2,7 тут правильно?)

    • Jager говорит:

      Если собираете гейт на RS485 то резисторы нужны только на светодиоды, но если вы остальные запаяли то они никак не влияют на работу ESP.
      (перемычку между vcc и chep впаял)
      Не надо там никаких перемычек запаивать, VCC и CH_PD соединены на плате.

    • Владимир Масловский говорит:

      После выхода со стаба 3.3В нужно впаять конденсатор, там есть посадочное место. И все заработает.

  8. Антон К. говорит:

    Не понятно тогда почему не стартует, буду пробовать играться с питанием. А что впаивается в C1, конденсатор?

  9. Антон К. говорит:

    Запустил наконец-то модуль на плате, но подключить прибором Энергомера (СЕ 102M S7 145-AV) по средствам плагина от @Andrey Anopov не удалось…а вообще будут работать другие приборы кроме Меркури???

    • Jager говорит:

      Плагин написан конкретно под Меркурий, у вашего другой протокол. Напишите автору, возможно сделает.

  10. Игорь говорит:

    схема собрана как на фото «Распаял детали шлюза»
    использовал: плата, DC-DC Сonverter 4.75V-23V to 1V-17V SG125-SZ+, Линейный регулятор AMS1117, модуль UART-RS-485 и esp-01s, проверил напряжение 3,3В и 5В до компонентов доходит ровное.
    Но на выходе RS-485 сильные помехи, сигнал до прибора (Овен ПВТ-100) доходит, но ответ возвращается очень-очень-очень редко (редко и случайно).
    В чем может быть проблема?
    на фото «Распаял детали шлюза» еле заметил перемычки между контактами, и не видно линейного регулятора. Можете скинуть фото реально работающей коробки со всеми компонентами?
    Последнее фото в статье не грузиться.
    Спасибо.

    • Jager говорит:

      В статье фото реально работающего экземпляра. LDO нет потому что DC-DC настроен на 3.3 вольта. Сама плата RS485 может работать как от 5 так и от 3,3 вольт, на плате есть перемычка для выбора напряжения. В моем случае все питается от 3,3. Вы можете попробовать запитать платку RS485 от 5 вольт. Мой экземпляр связывается со счетчиком который стоит на уличном столбе через витую пару длиной метров 20.

  11. Игорь говорит:

    приложил фото собранной платы:
    https://cloud.mail.ru/public/H4hc/549c7ae25

  12. Сергей говорит:

    Добрый день. Счетчик Меркурий236, имеется только оптопрот. Сделал переходник на основе
    USB-TTL, к разъемам Тх и Rx которого подключены фототранзистор и инфракрасный светодиод (+ обязка). Пока считываю показания с помощью стандартной программы от Инкотекса. Возможно ли Тх и Rx подключить непосредственно к ESP?

    • Jager говорит:

      Если у вас работает с адаптером, то и с есп есть вероятность что заработает. Прошивку можете использовать ESP-Link, она создает мост wifi-uart.

  13. Сергей говорит:

    Решил попробовать залить Вашу сборку(https://www.dropbox.com/s/vk706nu8ivo4o3r/firmware_git.bin?dl=0) на ESP12
    Появилась Wi-Fi сеть с SSID: ESP_Easy_0
    Стандартные пароли не подходят
    Не подскажете?

  14. Сергей говорит:

    Спасибо. В настройки ESP зашел. Вопросы:
    1. К каким GIPIO надо подключить чтобы создать мост wifi-uart, и какие настройки
    сделать? (возможность просмотра показаний в Меркурий-конфигуратор )
    2. Возможно ли показания увидеть прямо в браузере? (попутно с температурой — DHT22 )
    3. Есть ли краткое руководство для новичков по сборке ESP-Link? Я залил Вашу сборку, хотя
    Вы рекомендовали ESP-Link, т.к. не хватает опыта и знаний сборок firmware.bin после скачивания с Гитхаб

    • Павел говорит:

      Я вот залил есп-линк, но месяц уже воду в машине, все руки не дойдут подключить к счётчику чтоб проверить. Тоже по настройке много вопросов после подключения будет)
      Переделал плату под есп+ сим800, но необходимость отпала, сделал интернет на даче + мажордомо.

  15. Илья говорит:

    Здравствуйте. Спасибо за интересный проект. Решил повторить и возникла пара вопросов.
    1) как я понимаю, если делать шлюз, а не реле, на нижней части платы нужно сделать перемычки на месте реле?
    2) у вас судя по всему используется внешний источник питания? От самого счётчика кроме как к 220в не подцепиться? И как я понимаю пять вольт нужно так же на сам счётчик подавать? или я путаю…
    3) как я понимаю, плата разведена в diptrace. Если у вас остался проект и можно о таком попросить, не могли бы поделиться самим проектом в diptrace? Я бы хотел разделить платы, а гербер очень коряво импортируется.
    4) так же немного запутался с преобразователями напряжения. У вас на фотке распаян только DC-DC преобразователь. Как я понимаю для шлюза его нужно настроить на 3.3 вольта и этого достаточно для RS485 и ESP?

    Простите за нубские вопросы и заранее спасибо за ответы

    • Jager говорит:
      1. Да
      2. Зависит от счетчика, есть модели с внутренним питанием интерфейса (буква S в названии)
      3. Нет
      4. Да, настроить на 3,3 вольта. RS485 и ESP питаются от 3,3.

Добавить комментарий