Как стать автором
Обновить

Комментарии 17

НЛО прилетело и опубликовало эту надпись здесь
Согласен, небольшие статьи легче читаются.
НЛО прилетело и опубликовало эту надпись здесь

Я не имел ничего против статьи, кому-то она может даже будет полезна. Я больше о том, что цена данной реализации очень высока, по моим примерным расчетам 3-5 т.р., если для Вас это небольшая сумма для данной задачи, то никто не будет против. Я лишь дал наводку, куда копать, чтобы сделать это в пределах 1т.р.


Позже скину список модулей для сборки на есп.

НЛО прилетело и опубликовало эту надпись здесь
Тут важный момент, что я использовал готовую библиотеку по работе с протоколом M-Bus. Если есть тулчейн, чтобы собрать ее под ESP8266/32 — то было бы здорово. И тогда, если говорить о серийном производстве, например, это имело бы смысл. А так прийдется самому писать реализацию по работе с протоколом (или поискать готовую на Python). К тому же, если у вас в квартире еще 2 счетчика на воду и один на газ. А если еще и электросчетчик поддерживает технологию — это уже 5 счетчиков. С Raspberry платой тут проблем возникнуть не должно.
Вообще, как заметили в комментарии, я использовал то железо, которое уже было)) За исключением купленного M-Bus конвертора.

Вот гугл выдал первый же результат, правда не совсем python, но с кодом и инструкцией.

Обратите, пожалуйста, внимание, что по указанной вами ссылке используется протокол для коммуникации ModBus по RS485, у которого совсем другой вольтаж. В статье описан другой протокол — M-Bus.

Действительно, невнимательно прочитал.
Можно попробовать использовать микропитон, конвертер M-Bus в ttl, судя по статье, можно установить либы для микропитона, например эту, но я такого ещё не пробовал делать.
В отпуске доразведу плату на esp8266, пока они совсем не подорожали, и смогу проверить установку либы в микропитон.

Для водой и газосчетчиков уже есть решение (и открытый проект) watering.ru

Там же на сайте ссылки на магазины (где купить) и на github (собрать самому, если хочется)

А для тепловых счетчиков — нет)

Вообще, ваш комментарий похож на рекламу, если честно. Я зашел на сайт и не смог найти решения, о которых вы говорите.

и на github (собрать самому, если хочется)

Можете скинуть ссылку на github?

Прошу прощения, писал с мобилы и как всегда злобная клавиатура от гугла подменила...

вместо watering.ru => waterius.ru

ссылка на git => https://github.com/dontsovcmc/waterius

Так как сайты локального поставщиков услуг отличаются — нет практического смысла описывать детали реализации. Все сводится к запросу и парсингу веб-страницы. Отправке POST запросов с содержимым формы для авторизации и получения сессионного токена, а также отправке POST запроса с данными показаний.

Было бы полезно поделиться и этим, чтобы не ваять второй раз велосипед.
Мне например не хочется гробить вечер на парсинг mos.ru. А пару часов на ревью кода нашел бы, заодно мб MR прислал бы.
С большой уверенностью могу сказать, что в этой части проекта не получится вынести общую кодовую базу. При запросе страницы, вы получите совсем другой HTML. Способ авторизации вероятно будет отличаться. Поля формы для подачи, скорее всего, тоже будут отличаться. Да и количество снимаемых параметров, возможно, тоже. На просторах интернета не сложно найти туториалы по разбору сайта, например.
Можете посмотреть на пример кода в репозитории. Я использовал пакет html для парсинга веб-страниц.

Мне не лень раз в месяц счетчики сфоткать. И чтобы занести три цифры электро, вода, газ в телеграмм нужно буквально 1 минута, зачем такое ваять?? Хотя можно даже фотки через вайбер отсылать даже цифры вводить не надо. :)) А вот пример в посте, чтобы автоматизировать какие-то простейшие вещи сколько надо усилий. Реально много, посколько все проблематично. Отпарсить веб-страницу чтобы передать одну цифру. Жуть.

Класс! Спасибо за статью! Было интересно прочитать!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории