пока нет
как это сделать? поставил admin tools 11, а там нет 485 канала связи…
ээ, к программе существует руководство оператора - там все написано…
Наконец-то дошли руки до скрипта. Как понимаю, счетчик нужно регистрировать как serial device с указанием id и device type. Откуда взять эти значения?
Пока что запуск выглядит так:
serial Energomera WHM adr=777777 on /dev/ttyRS485-2: 9600 7E1
MAKEHEX get /?777777!
MAKEHEX make 2f 3f 37 37 37 37 37 37 21 0d 0a
ASK send /?777777!
ASK get
Energomera answer timeout
Это только в случае наличия шаблона (и поддержки) счетчика.
Если напишете шаблон - то можно так, да.
Используемый для подключения порт свободен в wb-mqtt-serail?
Для уверенности - остановите его перед экспериментами.
systemctl stop wb-mqtt-serial
Скорее всего этот скрипт для счетчика CE102, а не CE102M, у которого другой протокол. С CE102M работает этот скрипт Считывание показаний и программирование электросчетчика "Энергомера СЕ102М" по rs-485, только таймаут нужно больше 0,2 с выставить.
Полученные значения периодически отправляю в топики. Напр.:
mosquitto_pub -t '/devices/energomera-ce102m/controls/VOLTA' -m '209.52'
В веб-интерфейсе данные видны
Вопрос. Как это описать в шаблоне? Откуда взять поле address? Или по-другому всё делается?
Счетчик, этот счетчик, не через modbus rtu работает- для него шаблон не напишешь.
А разве нельзя эмулировать modbus на самом контроллере? Создать виртуальное устройство, например, и к нему обращаться как к реальному? Или как-то получать эти данные в js-скрипте другим способом?
Модбас - это просто транспорт. Данные - хранятся в mqtt топиках. Если скрипт на питоне туда их уже поместил - то к ним уже можно обратиться. Для удобства - да, можно создать еще и виртуальное устройство Но оно всего лишь служит для отображения mqtt.
На самом деле устройство и так автоматически создается, когда в mqtt-топик приходят данные, так что виртуальное устройство будет лишь его дублировать, так что я присвоил типы с помощью мета-топиков
И ещё питоновский скрипт получает и передает данные от счетчика с некоторой периодичностью. Какую частоту опроса принято выставлять для электрических счетчиков? Раз в секунду, чаще, реже?
Исключительно в зависимости от потребностей. Мне, например, для графиков достаточно значений вообще раз в минуту.
Если нужно засекать пики потребления - то чаще.
Сложил на гитхаб всю инфу, позволяющую подключить энергомеровский счетчик. Правда, режим программирования у меня так и не заработал.
Объясните, пожалуйста, на пальцах как взаимодействуют друг с другом устройства на шине. Счетчик сейчас подключен ко второму серийному порту. Если я повешу туда ModBus-устройство не возникнут ли конфликты?
Здорово, спасибо!
Возникнут. У вас два разных приложения будут пытаться писать и читать из порта, данные получать сможет только одно. Так что лучше останавливать wb-mqtt-serial на время опроса вашим скриптом, ещё лучше - разнести по разным портам.
На уровне протокола конфликтов там быть не должно - они слишком разные, чтобы одно устройство могло случайно принять чужие запросы за свои.
“Друг с другом” - никак. Устройства только отвечают контроллеру.
На контроллере опросом занимается wb-mqtt-serial, который занимает порт. То есть если порт включен в его конфиг - то никакая другая программа доступ к порту не получит.
“сторонние” устройства обычно и вешаются на отдельный порт - чтобы не мешать.
Есть вариант: написать скрипт который будет останавливать wb-mqtt-serial, запускать скрипт и потом вновь стартовать wb-mqtt-serial. Но на период остановки - не будут работать никакие устройства на всех RS-485 портах.
Здравствуйте!
Вот тут нашел информацию о поддержке CE301 https://wirenboard.com/wiki/Драйвер_wb-mqtt-serial
Уже купил счетчик, но не могу понять как его подключать. У него же свой протокол? Как именно он подключается к WB?
Спасибо!
Здравствуйте. Аналогичный вопрос. Вчера ковырял и тоже не смог прочитать данные с CE301.
wb-mqtt-serial=2.6.0.
Удалось прочитать показания с СЕ301
wb-mqtt-serial=2.5.1
Поделитесь, пожалуйста, информацией! Что именно сделали, чтобы заработал сбор данных?
Спасибо!
Как обновляться
Обновлённое ПО вышло только для Wiren Board 6, предыдущие контролеры не поддерживаются.
Нужно включить unstable репозиторий, раcкоментировав строчку в /etc/apt/sources.list.d/wb-unstable.list
или выполнив команду
sed -i 's/^#deb/deb/g' /etc/apt/sources.list.d/wb-unstable.list
Обновить список пакетов
apt update
и установить новые:
apt install wb-mqtt-gpio wb-mqtt-adc wb-mqtt-w1 wb-mqtt-serial
как всегда, версию пакетов и доступные для обновления версии можно посмтреть командой
apt policy имяпакета
apt install wb-mqtt-serial=2.5.1 -y