Работа со счетчиком Меркурий 230 через RS-485

ошибка в логе: FATAL: Serial protocol error: cannot open serial port

Скорее всего вы перевели порт RS-485-2 в режим CAN в разделе Hardware Modules Configuration, а из конфига wb-mqtt-serial не убрали.

Так RS-485-2 мне и нужен в режиме CAN.
На RS-485-1 весит Меркурий 230 ART-03 PQRSIDN, а
на RS-485-2 весит Меркурий 230 ART-03 CN

Как ни странно, “CAN” у Меркуриев - это не настоящий CAN. Вам нужно выставить порт в режим UART-CAN для работы с Меркуриями по “CAN”-у.

Только что так и сделал.
А как с протоколами быть?
Там только Меркурий230 и всё.
Он и для RS485 и для CAN идёт?

Да.

Подскажите, пожалуйста, у вас Меркурий 230 ART-03 PQRSIDN заработал?

Нет. Может Вы подскажите где и что ещё проверить?

Предлагаю:

  1. На всякий случай убрать второй счётчик, чтобы про него уже не думать. Оставить только Меркурий 230 ART-03 PQRSIDN на первом порту RS-485.
  2. Опять прислать логи.

Второй счётчик убран давно. Первый по RS485 всё-равно не отвечал.
Но… случилось чудо. Сегодня всё включил и увидел что первый счётчик в работе. Теперь вопрос по его показаниям. Может сможете как-то объяснить, почему на третьей фазе показывает 19 вольт? Счётчик подключен по первой фазе.

Теперь вопрос по удалению лишних устройств с WEB-интерфейса WB.
Начну с того как я прописывал эти устройства.
Через WEB-интерфейс. Config/Serial Device Driver Configuration
на порт ttyRS485-1 прописал: name: Mercury230_1 с адресом 682
на порт ttyRS485-2 прописал: name: Mercury230_CAN_1 с адресом 786
Сохранил.
Затем внёс исправления:
на порт ttyRS485-1 name: Mercury230_Modbus_1 с адресом 82
на порт ttyRS485-2 name: Mercury230_CAN_1 с адресом 86

В результате на странице Devices получилось 4 устройства, вместо двух. С адресами 682, 82, 786, 86. Адреса смотрел в топиках на странице Settings. Думаю это не хорошо.
Теперь решил убрать лишние. Логики ни какой. В результате моих действий одно устройство всё-таки удалилось окончательно (с ttyRS485-1).
Удаляю командой:
mqtt-delete-retained ‘/devices/mercury230ar02_786/#’
Делаю стоп/старт драйверу wb-mqtt-serial.
Устройств нет. Перегружаю контроллер. Устройства снова на месте.
Так сделал уже три раза.

Буду подключать счётчик с CAN на ttyRS485-2.
Позже напишу что получилось.

Подключил на ttyRS485-2 Меркурий 230 ART-03 CN.
Всё заработало.
Остался вопрос по удалению лишних устройств.
Техподдержку прошу помочь.
Возможно такой вопрос будет не только у меня.

  1. Пришлите скриншот из Devices с устройством …786.
  2. Пришлите скриншот Configs - Serial Device Driver Configuration.
  3. В консоли выполните mosquitto_sub -v -t '#' | grep 786 и пришлите вывод.

Вот страница Devices. На ней три устройства. Одно рабочее и два лишних.

Вот эти устройства по порядку на странице Settings



Новый текстовый документ.txt (6.6 КБ)

Видно, что у вас топики от mercury230ar02_786 остались.
Выполните

mqtt-delete-retained '/devices/mercury230ar02_786/#'
mosquitto_sub -v -t '#' | grep 786

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

Также пришлите /etc/wb-mqtt-serial.conf

Так я знаю что остались топики. И в devices устройства висят.
Эту команду я выполнял. После этого топиков нет. В devices то же ничего нет.
Затем перегружаю контроллер.
И снова всё на месте. Я Вам это уже писал.
В /etc/wb-mqtt-serial.conf смотрел.
Всё там чисто и красиво. Дублирования никакого нет.
Дело в том, что сейчас я не могу вам прислать то что Вы просите.
Час назад этот контроллер перестал подключаться по Wi-fi к сети.
И постоянно вываливается в ошибку. (мигает красный светодиод)
Завтра буду звонить к Вам в офис и договариваться как сдать контроллер в ремонт.
Ну а пока я взял с полки новый контроллер.
Подключил к нему два счётчика.
Всё заработало сразу.
Занимаюсь настройкой MQTT.
Спасибо за помощь.

Я бы, конечно, предложил подключиться по отладочному порту и посмотреть, что он туда выводит сначала. И, возможно, сбросить настройки: Обновление прошивки контроллера Wiren Board — Wiren Board

Спасибо за подсказку. Ещё скажите, какой ёмкости нужна флешка?
Пробую 16Гб, не получается. Формат FAT32, имя файла изменил.
В консоли пишет ошибку на mosquitto. Не может его запустить.
А я как раз правил файл /etc/mosquitto/conf.d/bridge.conf
Наверное в этом ошибка.

Особых требований нет.

  1. Посмотрите, что при этом пишет в отладочную консоль.
  2. Посмотрите, похоже ли на что-либо из списка: Wiren Board 6: Errata — Wiren Board.

Да, встречались с похожими проблемами. Попробуйте вернуть исходный или вообще удалить.

Так и не получилось у меня сбросить на заводские установки.
Что пишет в консоль пришлю в понедельник.
Вернуть исходный или удалить не успеваю. Контроллер постоянно идёт на перезагрузку.
Единственное, что успел, это выполнить команду systemctl disable mosquitto
После этого прекратились ошибки по поводу старта mosquitto.
Но так же продолжает перезагружаться.

Попробовал снова сделать сброс на заводские установки.
Всё сработало.
Но контроллер продолжает перегружаться.
Я успел войти в оболочку мс. Но до файла @bridge.conf не успел добраться.
вот лог-файл, может пригодиться.
putty.log-1.txt (66.7 КБ)

Довольно странно. Файл точно назывался wb6_update_FACTORYRESET.fit (c FACTORYRESET)? Он должен был все ваши файлы удалить.

Контроллер перезагружается из-за https://wirenboard.com/wiki/index.php?title=Watchdog - успейте зайти и выполнить service watchdog stop

В лог-файле видно, что имя файла `wb6_update_FACTORYRESET.fit
Команду выполнил. Всё нормально. Посмотрел файл /etc/mosquitto/conf.d/@bridge.conf, там информация моя осталась. Сброс не получился?
Я удалил всё из этого файла. Сделал start для watchdog.
И всё по старому. Перегружается.