Снятие показаний счетчиков электричества, воды, газа

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Paradoxx_A » 21 фев 2017, 17:46

Всем привет!
Подскажите, пожалуйста, некоторые моменты, а то чего-то уже туплю и путаюсь...

Уже который год хочу автоматизировать учет электроэнергии, но самое главное, мне нужно знать статистику потребления (ток/мощность не так важно) и некоторые дополнительные параметры. Периодически начинаю чтото думать в этом направлении и потом снова забиваю. Но сейчас решил основательно взяться и закрыть этот вопрос. На вводе в квартиру стоит электросчетчик Меркурий 200, но он опечатан и договориться не реально (пробовал). Но так как в щитке у меня еще есть немного места (и туда проброшена витая пара), то решил купить туда китайский счетчик EASTRON SDM220-MT с Modbus и RS485 ( https://ru.aliexpress.com/item/SDM220MT ... 0.0.gf7Cif ) и для него конвертер USB в RS485 ( https://ru.aliexpress.com/item/Free-Shi ... 0.0.gf7Cif ). Сейчас пока жду доставку...

Дома имеется сервер на Синолоджи, на котором работает некий примитивный мониторинг с вебмордой и графиками, к которому прикручена мега с 10 18B20, датчики давления, влажности и тд, а также по сети собирается инфа со шлюза Ноолайт. В коде более-менее стал разбираться, научился на BASH и PHP чуть, могу переделать по аналогии код и тд). Вообщем все работает хорошо.

Вопрос: что мне нужно и как правильно сделать, чтоб получать данные со счетчика?
Если я воткну в сервер (HP Microserver Gen8 с XPEnology) этот USB конвертер, подцеплю его к счетчику через витую пару - будет ли это все работать? У кого уже есть подобный опыт? Как мне с него получать данные?

Или надо вешать ESP или иной какой шлюз (типа перешитого роутера) и потом по сети получать (в сети встречал подобные описания)?

И потом, как я понимаю, надо как-то преобразовывать шеснадцатеричный код в десятеричный... Я планирую снимать текущее значение потребленной энергии и отнимать от нее данные, полученные 5 (или 30, не так важно) минут назад и полученное число выводить на график (приращение)... Как-то так. Чегото я совсем запутался уже...

PS все никак не начну осваивать более продвинутые варианты типа Мажор/Опенхаб и тд.
PPS Сорри за вопросы от чайника.

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Victor_S » 23 фев 2017, 00:25

Paradoxx_A, раз спрашиваете на данном форуме, значит соответствующую статью прочитали...или нет?
Преобразователя достаточно, дальше только программная обработка, что Вы выберете, на том и будете писать. Никаких дополнительных проблем...:)
У меня около двух лет ведется мониторинг 2 3-фазных счетчиков Меркурий 236 на Мажордомо через USB "свисток". Прямо сейчас занимаюсь переводом этого "хозяйства" на orange pi zero. Так, что Ваш синолоджи вполне должен справиться с данной задачей.

Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Paradoxx_A » 01 апр 2017, 18:05

Коллеги, всем привет. Прошу не кидаться в меня тапками, программистами к сожалению не рождаются, и приходится быть "самоучкой".
Все что смог, я прочитал на этом форуме (в основном про меркурий), но у меня уже каша в голове.
Я уже поставил счетчик, свисток под вин10, виндовые программы все нормальнт работают, все значения считываются. Но так как у меня основной сервер это Синолоджи (линукс по сути), там уже работает некий примитивный софт, который меня минимально устраивает на данном этапе, собираются данные с ноолайта, меги и кучи датчиков.
А вот с чего начинать для считывание данных со счетчика через свисток, воткнутый в сервер, не знаю.

Как я понимаю, мне нужно 1) подключить этот "свисток" к синолоджи 2) Он должен там как-то определиться и заработать (драйверы?) В винде он определяется как USB-SERIAL CH340 3) Отправить команду типа "01 04 01 56 00 02 90 27" или тоже но через тире (не знаю в чем разница) 4) получить ответ в виде "01 04 04 42 D8 B2 B0 1A D3" и перевести его в понятный вид "108,3490 KWh" 5) Из этого числа вычесть число полученное 5 мин назад и результат в виде графика.

Можете, если не трудно, хотя бы некий план для чайника, что и как. Если есть, то ткните меня где почитать... Без Вашей помощи не справлюсь похоже :-(
Вложения
223032859_450319.jpg
223032859_450319.jpg (138.45 КБ) 7459 просмотров

Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Paradoxx_A » 01 апр 2017, 18:10

По счетчику скажу, что мне он понравился, сделан хорошо, всего 2 места на рейке занимает, точный, после моего вводного меркурия за неделю показанию идут идеально, хотя может эстрон и еще точнее. Накопал полный комплект документации на него, с описанием протокола. Если кому надо, вышлю без проблем.

Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Paradoxx_A » 23 апр 2017, 23:55

Добрый вечер!
Просто делюсь, вдруг кому поможет (понимаю, что это просто, но я уже разобрался с этим более-менее).
Так как пришла замена счетчиков воды (ГВС), то заменил их на счетчики с герконовым выходом. Повесил их на вход меги и решил использовать встроенный счетчик импульсов в меге. Немного поигрался с тем, как лучше это использовать, и в итоге получился вот такой рабочий код.

Код: Выделить всё

hot_bathroom_cnt=$(curl --silent 'http://192.168.0.14/sec/?pt=18&cmd=get'| awk -F'/' '{print $2}') // отправка запроса о состоянии порта и присвоить все, что стоит после слеша (это данные счетчика порта меги)
let Counter_hot_bathroom=$hot_bathroom_cnt*10 // произвожу перемножение данных со счетчика порта на 10, так как в моем счетчике воды ITELMA 1 имп это 10 литров
hot_bathroom_cnt=$(curl --silent 'http://192.168.0.14/sec/?pt=18&cnt=0') // обнуляю счетчик порта и далее я строю график пикового потребления по интервалу запуска этого скрипта

Counter_hot_bathroom_total=$(tail -n 1 /var/services/web/log/Counter_hot_bathroom_total.txt  | cut -c17-100) // а тут я веду общий учет данных. Вывожу последнюю строчку файла-лога в котором пишется дата/время и последнее значение, вырезаю только само значение и присваиваю его к переменной
let Counter_hot_bathroom_total=$Counter_hot_bathroom+$Counter_hot_bathroom_total //тут суммирую значение которое я присвоил из файла и то, что получилось  выше, и полученная сумма снова присваивается к той же переменной. Потом она записывается в тот самый текстовый файл. Далее, когда скрипт запустится снова по планировщику, то прочитается уже новое увеличенное значение с нарастающим итогом.
В итоге я опробовал, считается все точно. Вижу пиковое потребление воды (обычно по нулям, когда нет водоразбора, и повышение графиков в момент потребления), а также нарастающий итог. Даже если вдруг мега будет не активна/сломана/выключена, то не учтется только маленькая часть импульсов (если водой будем пользоваться более 10л и проскочит импульс). Но исправить это можно очень легко, достаточно открыть текстовый файл и последнее значение поправить как на счетчике сейчас.

Вообщем, вдруг кому :-)

С электросчетчиком пока туго...
Вложения
2.jpg
2.jpg (122.09 КБ) 7282 просмотра
1.jpg
1.jpg (88.52 КБ) 7282 просмотра

velsi
Сообщения: 1
Зарегистрирован: 13 май 2017, 01:22

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение velsi » 13 май 2017, 15:30

Делюсь наработками чтения данных со счетчика Энергомера CE102M-R5 через китайский адаптер на чипе ch340/ch341 за 50р

Как и ожидалось, под Windows с помощью стандартной AdminTools всё работает.
Попытки читать данные через самописные скрипты имели переменный успех - работало только после открытия и закрытия порта через AdmiTools.

Под Linux всё печально. Выяснилось, что во всех linux-системах идет старый драйвер, который не поддерживает 7-1-чет режим работы. Надо либо пересобирать драйвер самому (брать его тут), либо работать в режиме 8 бит данных, 1 бит стоп, без четности и самому добавлять бит четности к семи битам данных и убирать этот бит при чтении. Идея честно подсмотрена в AdminTools, там такой режим называется "программный 7-1, чет".

Если, вдруг, кому-нибудь будет интересен или полезен мой "говно-код" на python - https://github.com/velsi/rs485/blob/master/counter.py

milyasow
Сообщения: 2
Зарегистрирован: 24 авг 2017, 15:30

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение milyasow » 24 авг 2017, 17:55

Paradoxx_A писал(а):Коллеги, всем привет. Прошу не кидаться в меня тапками, программистами к сожалению не рождаются, и приходится быть "самоучкой".
Все что смог, я прочитал на этом форуме (в основном про меркурий), но у меня уже каша в голове.
Я уже поставил счетчик, свисток под вин10, виндовые программы все нормальнт работают, все значения считываются. Но так как у меня основной сервер это Без Вашей помощи не справлюсь похоже :-(
Дружище! Вынужден тебя расстроить но ты купил не тот счетчик! У твоего - только импульсный выход, а для твоих целей тебе нужен с modbus.
А дальше идет соединение через rs-485 to USB converter и данные считываются modpoll хоть в винде, хоть в линуксе.

milyasow
Сообщения: 2
Зарегистрирован: 24 авг 2017, 15:30

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение milyasow » 27 авг 2017, 01:04

А не, все нормально, modbus у тебя тоже должен быть. Просто у меня, например, SDM-220 прям на панели своей большими буквами обозначен как поддерживающий modbus. В данный момент занимаюсь такой же задачей по снятию данных через modbus на сервере с Linux с дальнейшим учетом в Zabbix. Хотел изначально использовать для этого имеющийся netping, в нем есть встроенный шлюз rs-485/TCP, однако, как ни плясал с бубном, добиться нормальной работы через него не смог, в половине ответов приходят нормальные значению, в других - мусор, как будто он не видит стоповые биты, и вместо нормальных 8 байт может выдать кучу мусора с предыдущих запросов.
Куплю на этой неделе переходник USB-RS485 на CH341, попытаю счастья с ним.
А тебе, если не разобрался с вопросом - в помощь есть несколько статей на гиктаймсе, где народ подключал eastron'ы к серверу. Вот только я не знаю, что насчет Synology, но для начала попробуй добиться корректной работы этой связки хотя бы на винде. Удачи, товарищ! :D

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Aquarius » 09 ноя 2017, 11:31

Подскажите, пожалуйста, кто-нибудь подключал счётчик газа Гранд 1,6? В описании выхода только это: Подключаемый счетчик импульсов должен иметь входное сопротивление не менее 1 МОм и емкость не более 100 пФ. На выходе только сигнал и GND.

matikus
Сообщения: 12
Зарегистрирован: 26 ноя 2015, 11:43

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение matikus » 23 ноя 2017, 22:38

Вечер добрый, подскажите, как лучше и правильнее подключить датчик ss441a к меге-14-in? Планирую использовать его вместе с счетчиков ВК-G4

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Alex_Jet » 24 ноя 2017, 10:23

matikus писал(а):Вечер добрый, подскажите, как лучше и правильнее подключить датчик ss441a к меге-14-in? Планирую использовать его вместе с счетчиков ВК-G4
Так вроде бы ничего особенного. Он имеет ключ с открытым коллектором (схема с общим эммитером), значит "выход" надо напрямую к обычному порту MegaD подсоединить. В MegaD для IN режим P - при поднесении магнита к датчику его выходной транзистор откроется и потенциал на входе MegaD приблизится к GND. Power (+3,3В) и GND берем от модуля MegaD.
Где купили? Дайте ссылку, а то же уже стоит такой же газовый счетчик, думал поставить обычный геркон, поскольку срабатывать он будет не часто.
Последний раз редактировалось Alex_Jet 24 ноя 2017, 12:33, всего редактировалось 1 раз.

matikus
Сообщения: 12
Зарегистрирован: 26 ноя 2015, 11:43

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение matikus » 24 ноя 2017, 12:02

"Power (+3,3В)" - просто в даташит написано питание не менее 3,8 вольт, меня вот это и смутило. Попробую, конечно от 3.3

Брал здесь - https://www.aliexpress.com/item/100-New ... 0.0.AHH3bQ в комплекте 5 шт.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Alex_Jet » 24 ноя 2017, 12:37

matikus писал(а):"Power (+3,3В)" - просто в даташит написано питание не менее 3,8 вольт, меня вот это и смутило. Попробую, конечно от 3.3
Нашел другой даташит, немного понятнее - http://www.farnell.com/datasheets/1714710.pdf
Если от 3,3В не будет работать, то подключите к +12В. Umax=30В! Вообще этот датчик не для таких простых применений, а скорее для автомобильных, поскольку главная его фишка - это температурная компенсация.

matikus
Сообщения: 12
Зарегистрирован: 26 ноя 2015, 11:43

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение matikus » 24 ноя 2017, 13:06

Если к +12, то на входе в Мегу, как я понимаю нужно использовать резистор, ведь более +3,3 нельзя подавать на вход?

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Alex_Jet » 24 ноя 2017, 13:46

matikus писал(а):Если к +12, то на входе в Мегу, как я понимаю нужно использовать резистор, ведь более +3,3 нельзя подавать на вход?
Нет ничего не надо. Там открытый коллектор, который "подтягивается" к GND!

matikus
Сообщения: 12
Зарегистрирован: 26 ноя 2015, 11:43

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение matikus » 25 ноя 2017, 16:00

Alex_Jet, спасибо! Все получилось.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Alex_Jet » 26 ноя 2017, 13:31

matikus писал(а):Alex_Jet, спасибо! Все получилось.
Фото "колхоза" в студию! Хотя бы посмотреть как закрепили. А то искал информацию, но ее не так много. Помоему только d.v.ermakov выкладывал фотки.

matikus
Сообщения: 12
Зарегистрирован: 26 ноя 2015, 11:43

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение matikus » 29 ноя 2017, 15:06

Alex_Jet писал(а):
matikus писал(а):Alex_Jet, спасибо! Все получилось.
Фото "колхоза" в студию! Хотя бы посмотреть как закрепили. А то искал информацию, но ее не так много. Помоему только d.v.ermakov выкладывал фотки.
Да пока ничего нового, держится пока так. Работает хорошо =)
test_2.jpg
test_2.jpg (70.52 КБ) 6332 просмотра
test_3.jpg
test_3.jpg (66.04 КБ) 6332 просмотра

Genix
Сообщения: 121
Зарегистрирован: 15 дек 2017, 16:56

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение Genix » 21 ноя 2018, 02:15

Подскажите, кто знает, на какой максимальный ток расчитан SDM630 при прямом подключении (без трансформаторов тока)? А то в одном месте пишут про 100A, а на картинках на официальном сайте тут же на морде нарисовано "0.5-10 (100)". Вот это 100 в скобках и вносит недопонимание. Кто может знать точно?



Изображение

ScoobyDoo
Сообщения: 5
Зарегистрирован: 23 июл 2014, 12:15

Re: Снятие показаний счетчиков электричества, воды, газа

Сообщение ScoobyDoo » 29 ноя 2018, 14:02

Номинальный ток этого счетчика 10А. Максимальный - 100. Это говорит о том, что его нужно использовать на токах не более 10А, однако счетчик способен выдержать кратковременные скачки до 100А.

Ответить