Jump to content

Как передавать данные со счетчика в систему мониторинга


Recommended Posts

Здравствуйте,

 

Имеется счетчик электроэнергии с импульсным выходом. Необходимо собирать данные в систему мониторинга PRTG Network Monitor и строить графики на основании полученных данных. Как передавать данные со счетчика в систему мониторинга?

Edited by bot
Link to post
Share on other sites

Подскажите, то же интересно

Счетчик такой уже есть.

Link to post
Share on other sites

Имеется счетчик электроэнергии с импульсным выходом. Необходимо собирать данные в систему мониторинга PRTG Network Monitor и строить графики на основании полученных данных. Как передавать данные со счетчика в систему мониторинга?

Проще всего использовать готовое устройство на микроконтроллере. Например, вот такое.

Или сделать что-то аналогичное самостоятельно.

Link to post
Share on other sites

Взял роутер TP Link MR3020, прошил OpenWRT, по мануалу http://wiki.openwrt.org/doc/howto/hardware.button

настроил. Припаял два провода к переключателю на плате роутера и подключил их

в разьем счетчика. В счетчике НИК 2102-02 на выходе стоит транзистор, поэтому надо угадать

полярность при подключении.

post-24775-0-38255300-1438767193_thumb.jpg

 

Скрипт, обрабатывающий кнопку:

 

 

root@OpenWrt:~# cat /etc/hotplug.d/button/buttons

#!/bin/sh
#logger the button was $BUTTON and the action was $ACTION
 
if [ $ACTION == 'released' ]; then
  mkdir -p /tmp/el/events/
  file=`cat /proc/timer_list | grep now | sed -e 's/[^0-9]//g'`
  echo released > /tmp/el/events/event.${file}
fi

 

При отпускании получаю счетчик наносекунд со старта роутера для уникального имени файла.

Создаю файл на /tmp, это фс в памяти, так что частая запись не страшна.

 

 

root@OpenWrt:~# cat /etc/crontabs/root

*/20    *       * * *   /bin/ping -c 5 192.168.3.1 || /sbin/reboot
* * * * * /root/counter.sh

 

В кроне проверка на отваливание вифи, если подключите витухой сеть (мне было далеко тянуть) можно закоментировать.

Обработка данных каждую минуту скриптом:

 

 

root@OpenWrt:~# cat /root/counter.sh

#!/bin/ash
 
counter=0
delta=0
files=`ls /tmp/el/events/event.* 2>/dev/null`
 
[ -z "$files" ] && return 1
 
for file in $files; do
 delta=`expr $delta + 1`
 rm -f ${file}
done
#echo delta is ${delta}
 
if [ -f /tmp/el/counter ]; then
 counter=`cat /tmp/el/counter`
 if [ ! "0$counter" -gt "0" ]; then
  counter=0
 fi
fi
#echo counter is ${counter}
counter=`expr ${counter} + ${delta}`
logger counter is ${counter}
echo -n ${counter} > /tmp/el/counter

 

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

Это число добавляю к предыдущему значению счетчика в файле /tmp/el/counter

Этот же файл доступен через http с роутера - сделал симлинк

 

 

root@OpenWrt:~# ls -l /www | grep counter

lrwxrwxrwx    1 root     root            15 May 16 00:28 counter -> /tmp/el/counter

 

Сервер мониторинга сам забирает текущее значение с роутера. Можно переделать /root/counter.sh и отправлять на сервер данные.

Вместо MR3020 можно взять любой OpenWRT совместимый роутер (TPLink 740, Nexx 3020), лишь бы в нем были gpio, доступные через hotplug или прочий софт.

Link to post
Share on other sites

Отличное и мегабюджетное решение.

Link to post
Share on other sites

 

 

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

Некошерное решение. Будут теряться импульсы. Проще дописывать единичку в файл.  По крону - переименовывать и дальше считать кол-во строк и удалять.

Link to post
Share on other sites

Будут теряться импульсы. Проще дописывать единичку в файл.

 

Поясните почему будут теряться импульсы ?

Насчет единички согласен, скрипт будет проще, спасибо за подсказку.

Link to post
Share on other sites
  • 1 year later...

Робив необхідну вам річ. Вартість вийшла дуже низька. Якщо цікавить, пишіть в приват.

Edited by ethv0
Link to post
Share on other sites

Робив необхідну вам річ. Вартість вийшла дуже низька. Якщо цікавить, пишіть в приват.

Так распишите тут.

Или, может быть, вы денег хотите за инфу?

Link to post
Share on other sites

Самое бюджетное решение:

Импульсами от счетчика тушить/поднимать линк на порту любого управляемого свича, который умеет отправлять трапы на сервер.

На сервере достаточно сосчитать количество трапов.

Link to post
Share on other sites

Самое бюджетное решение:

Импульсами от счетчика тушить/поднимать линк на порту любого управляемого свича, который умеет отправлять трапы на сервер.

На сервере достаточно сосчитать количество трапов.

 та ну, перестаньте

8000 импульсов на кв/ч

это при нагрузке 2квт будет почти 5 импульсов в секунду - не отработает столько линк-ап/линк даун свитч

Link to post
Share on other sites

 

Робив необхідну вам річ. Вартість вийшла дуже низька. Якщо цікавить, пишіть в приват.

Так распишите тут.

Или, может быть, вы денег хотите за инфу?

 

Так ви питайте що цікаво. Топікстартер не уточнив як він бажає передавати дані (чи по ethernet, чи по wifi чи по якомусь іншому протоколу).

Також, він не уточнив які лічильники (хоча це не так принципово).

Edited by ethv0
Link to post
Share on other sites

Выше описано на любом tplink'е, повторить легко. Для ардуинки еще выход в сеть надо, на tplink уже есть и езернет и вифи.

Link to post
Share on other sites

Интересно на малинке... Хотя думаю почти так же как и на тплинке должно быть...

Даже проще,проводок паять ненужно, GPIO выведены и openwrt ненужно
Link to post
Share on other sites

 

 

Интересно на малинке... Хотя думаю почти так же как и на тплинке должно быть...
 

А не слишком ли этого дорого, если на каждой точке?

Link to post
Share on other sites

 

Интересно на малинке... Хотя думаю почти так же как и на тплинке должно быть...

 

А не слишком ли этого дорого, если на каждой точке?

 

Можно на апельсинке, разница в цене с тплинком будет практически нулевая
Link to post
Share on other sites

 

 

Можно на апельсинке, разница в цене с тплинком будет практически нулевая
 

Если я правильно понял, то TP-Link (OpeWRT)? Если так, то даже с самым дешевым TP-Link разница примерно 50%.

Link to post
Share on other sites

 

Можно на апельсинке, разница в цене с тплинком будет практически нулевая

 

Если я правильно понял, то TP-Link (OpeWRT)? Если так, то даже с самым дешевым TP-Link разница примерно 50%.

 

Апельсинка US $10.44 (Примерно 291,70 грн.)

На розетке самый дешевый ТP-link 333грн

Где разница в 50% ?

Edited by John_Doe
Link to post
Share on other sites

 

 

Можно на апельсинке, разница в цене с тплинком будет практически нулевая

 

Если я правильно понял, то TP-Link (OpeWRT)? Если так, то даже с самым дешевым TP-Link разница примерно 50%.

 

Апельсинка US $10.44 (Примерно 291,70 грн.)

На розетке самый дешевый ТP-link 333грн

Где разница в 50% ?

 

Забыл об этой линейке.

 

Но вообще, танцев с бубном в этом случае будет гораздо больше. Места больше занимать будет.

Кстати, если возможна передача данных по WiFi то цена устройства будет уже $4  :)

Edited by ethv0
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...