Итак... одним дождливым зимним днем пришла идея мониторить электросеть по новому. Так как собственный интерфейс программы прибора LPW-305 выглядел не так как хотелось, мною было принято решение сделать свой интерфейс.
И так как я пол года имел дело с мониторингом сетевого оборудования (L3 коммутаторы), выбор пал на Zabbix сервер. Ведь он умеет общаться с modbus устройствами. А LPW-305 имеет интерфейс ethernet и протокол modbus tcp.
Кратко... Накатываем виртуальную машину с Ubuntu. В virtualbox настройках свежеиспеченной машины выбираем пункт сеть и ставим "сетевой мост". Теперь наш коммутатор будет выдавать виртуальной машине ip адрес, который желательно прописать статикой в настройках сетевого подключения ubuntu. На сервер ставим zabbix сервер, базу данных mysql или postgresql, и веб-сервер apache или nginx.
Теперь мы можем подключиться с других устройств в этой сети к серверу zabbix, введя в адресной строке браузера ip адрес виртуальной машины с окончанием "/zabbix/
". Например: http://192.168.1.10/zabbix/
если ip адрес машины 192.168.1.10
Вводим логин и пароль от админки.
Далее самое интересное... Это создание собственных шаблонов. Создаем шаблон, я назвал его не замысловато lpw-305-modbus-agent
Добавляем его в какую либо группу, можно предварительно ее создать. Переходим во вкладку макросы и создаем три макроса:
макрос: {$MODBUS_PORT}
значение: tcp://192.168.1.9:502
макрос: {$MODBUS_SLAVE}
значение: 10
макрос: {$NODATA_PERIOD}
значение: 3000
![](https://habrastorage.org/getpro/habr/upload_files/8c2/e4f/0bc/8c2e4f0bc77d45cdf4c8ed3b15c8e652.png)
Добавляем элементы данных которые нас интересуют из мануала на прибор. У меня это напряжение и ток:
![](https://habrastorage.org/getpro/habr/upload_files/99c/7b3/a6a/99c7b3a6a956bca590c83a35f61327bf.png)
Далее добавляю триггеры для уведомления, поддерживается telegram.
![](https://habrastorage.org/getpro/habr/upload_files/11f/312/e12/11f312e121489680c30d94a21f1a3895.png)
Мы создали самое основное, далее нужно создать узел сети...
Создаю узел с именем lpw-305
В макросе узла указываю {$NODATA_PERIOD}
значение: 600
В качестве агента используем локалхост с портом 10050
![](https://habrastorage.org/getpro/habr/upload_files/459/88f/89f/45988f89f685c307e5e53ab6494e23f2.png)
Осталось настроить саму панель, это уже на вкус и цвет. У меня это выглядит как то так...
![](https://habrastorage.org/getpro/habr/upload_files/fae/f45/05a/faef4505a41747db078207d1bcc006e2.png)
Также справа внизу есть панелька "кабель" она мониторит состояние одного кабеля через Arduino Uno + ethernet shield w5100. На arduino написан скетч с zabbix агентом для пингования самой ардуины и проверки состояния ее пина.