Счетчик импульсов для счетчика воды – Электронный счетчик воды — что это такое, отличия от механического, плюсы и минусы, обзор популярных моделей, а также инструкция по установке

Содержание

Подключаем счетчик воды к умному дому / Habr

Когда-то системы домашней автоматизации, или как их часто называют “умный дом”, были жутко дорогими и их могли позволить себе лишь богачи. Сегодня на рынке можно найти достаточно бюджетные комплекты с датчиками, кнопками/выключателями и исполнительными устройствами для управлением освещением, розетками, вентиляцией, водоснабжением и другими потребителями. И даже самый криворукий DIY-шник может приобщиться к прекрасному и за недорого собирать устройства для умного дома.

Как правило предлагаемые устройства это либо датчики, либо исполнительные механизмы. Они позволяют легко реализовать сценарии вроде “при срабатывании датчика движения включить свет” или “выключатель возле выхода тушит свет во всей квартире”. Но вот с телеметрией как-то не сложилось. В лучшем случае это график температуры и влажности, или мгновенная мощность в конкретной розетке.

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

Под катом мой вариант устройства на базе ESP8266, которое считает импульсы со счетчиков воды и по MQTT отправляет показания на сервер умного дома. Программировать будем на micropython с использованием библиотеки uasyncio. При создании прошивки я наткнулся на несколько интересных сложностей, о которых также расскажу в этой статье. Поехали!

Схема


Сердцем всей схемы является модуль на микроконтроллере ESP8266. Изначально планировался ESP-12, но мой оказался бракованный. Пришлось довольствоваться модулем ESP-07, который был в наличии. Благо они одинаковые и по выводам, и по функционалу, разница только в антенне — у ESP-12 она встроенная, а у ESP-07 — внешняя. Впрочем, даже без антенны WiFi сигнал в моей ванной ловится нормально.

Обвязка модуля стандартная:

  • кнопка ресет с подтяжкой и конденсатором (хотя и то и другое уже есть внутри модуля)
  • Сигнал enable (CH_PD) подтянут к питанию
  • GPIO15 подтянут к земле. Это нужно только на старте, но мне все равно нечего на эту ногу цеплять больше не нужно

Для перевода модуля в режим прошивки нужно замкнуть GPIO2 на землю, а чтобы было удобнее я предусмотрел кнопку Boot. В нормальном состоянии этот пин подтягивается к питанию.

Состояние линии GPIO2 проверяется только вначале работы — при подаче питания или сразу после ресета. Так модуль либо загружается как обычно, либо переходит в режим прошивки. После загрузки этот вывод можно использовать как обычный GPIO. Ну а раз там уже есть кнопка, то можно повесить на нее какую нибудь полезную функцию.

Для программирования и отладки я буду использовать UART, который вывел на гребенку. Когда нужно — я просто подключаю туда USB-UART переходник. Нужно только не забывать, что питается модуль от 3.3В. Если забыть переключить переходник на это напряжение и подать 5В, то модуль скорее всего сгорит.

С электричеством в ванной у меня проблем нет — розетка расположена примерно в метре от счетчиков, так что запитывать буду от 220В. В качестве источника питания у меня будет трудится небольшой блочок HLK-PM03 от Tenstar Robot. Лично у меня туго с аналоговой и силовой электроникой, а тут готовый блок питания в маленьком корпусе.

Для сигнализации режимов работы я предусмотрел светодиод, подключенный к GPIO2. Впрочем распаивать я его не стал, т.к. в модуле ESP-07 уже есть светодиод, причем подключенный к тому же GPIO2. Но на плате пускай будет — вдруг я захочу вывести этот светодиод на корпус.

Переходим к самому интересному. У счетчиков воды нет никакой логики, у них нельзя спросить текущие показания. Единственное что нам доступно это импульсы — замыкание контактов геркона каждый литр. Выводы герконов у меня заведены в GPIO12/GPIO13. Подтягивающий резистор я буду включать программно внутри модуля.

Изначально я забыл предусмотреть резисторы R8 и R9 и в моем варианте платы их нет. Но раз я уже выкладываю схему на всеобщее обозрение, то стОит исправить эту оплошность. Резисторы нужны, чтобы не спалить порт в случае если прошивка глюканет и выставит единицу на пине, а геркон закоротит эту линию на землю (с резистором потечет максимум 3.3В/1000Ом = 3.3мА).

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

Поэтому я решил реализовать сохранение значений счетчиков в микросхеме памяти, подключенной по I2C. Особых требований по размеру флеш памяти у меня нет — нужно сохранять всего 2 числа (количество литров по счетчикам горячей и холодной воды). Даже самый маленький модуль подойдет. А вот на количество циклов записи нужно обратить внимание. У большинства модулей это 100 тыс циклов, у некоторых до миллиона.

Казалось бы миллион это много. Но я за 4 года проживания в своей квартире потребил чуть более 500 кубов воды, это 500 тыс литров! И 500 тыс записей во флеш. И это только холодная вода. Можно, конечно, перепаивать микросхему каждые пару лет, но оказалось есть микросхемы FRAM. С точки зрения программирования это тот же самый I2C EEPROM, только с ооооочень большим количеством циклов перезаписи (сотни миллионов). Вот только пока все никак не доеду до магазина с такими микросхемами, поэтому пока постоит обычная 24LC512.

Печатная плата


Изначально я планировал делать плату в домашних условиях. Потому плата проектировалась как односторонняя. Но продолбавшись битый час с c лазерным утюгом и паяльной маской (без нее как-то не comme il faut), я все же решил заказать платы у китайцев.

Уже практически перед заказом платы я сообразил, что помимо микросхемы флеш памяти на шину I2C можно подцепить что нибудь еще полезное, например дисплей. Что именно на него выводить — пока еще вопрос, но развести на плате нужно. Ну а раз я собрался платы заказывать на фабрике, то ограничивать себя односторонней платой уже не было смысла, поэтому линии на I2C — единственные на задней стороне платы.

С односторонней разводкой также связан был один большой косяк. Т.к. плата рисовалась односторонняя, то дорожки и SMD компоненты планировалось размещать с одной стороны, а выводные компоненты, разъемы и блок питания с другой. Когда через месяц я получил платы, то забыл про изначальный план и распаял все компоненты на лицевой стороне. И только когда дело дошло до припаивания блока питания выяснилось, что плюс и минус разведены наоборот. Пришлось колхозить перемычками. На картинке выше я уже поменял разводку, но земля перекидывается из одной части платы в другую через выводы кнопки Boot (хотя можно было бы и на втором слое дорожку провести).

Получилось вот так

Корпус


Следущий шаг — корпус. При наличии 3D принтера это не проблема. Особо не заморачивался — просто нарисовал коробку нужного размера и сделал вырезы в нужных местах. Крышка крепится к корпусу на маленьких саморезах.

Я уже упоминал, что кнопка Boot может быть использована как кнопка общего назначения — вот ее и выведем на переднюю панель. Для этого я нарисовал специальный “колодец” где живет кнопка.

Внутри корпуса также располагаются пеньки, на которые устанавливается плата и фиксируется единственным винтом М3 (на плате больше места не оказалось)

Дисплей подбирал уже когда напечатал первый примерочный вариант корпуса. Стандартный двухстрочник в этот корпус не влазил, зато в сусеках обнаружился OLED дисплей SSD1306 128×32. Маловат, но мне на него не каждый день глазеть — покатит.

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

Устройство в сборе. Дисплейный модуль приклеен на сопли термоклей

Конечный результат можно увидеть на КДПВ

Прошивка


Перейдем к программной части. Для вот таких небольших поделок мне очень нравится использовать язык Python (micropython)- код получается очень компактный и понятный. Благо тут нет необходимости спускаться на уровень регистров с целью выжимать микросекунды — все можно сделать из питона.

Вроде бы все просто, да не очень — в устройстве намечается несколько независимых функций:

  • Пользователь тыкает в кнопку и смотрит на дисплей
  • Литры тикают и обновляют значения во флеш памяти
  • Модуль следит за сигналом WiFi и переконнекчивается если нужно
  • Ну а без моргающей лампочки вообще нельзя

Нельзя допустить что одна функция не работала, если другая по какой-то причине тупит. Я уже наелся кактусов в других проектах и теперь так и вижу глюки в стиле “пропустили очередной литр, потому, что в этот момент обновлялся дисплей” или “пользователь ничего не может сделать пока модуль коннектится к WiFi”. Конечно, некоторые вещи можно делать через прерывания, но можно упереться в ограничение по длительности, вложенности вызовов или неатомарного изменения переменных. Ну и код который занимается всем и сразу быстро превращается в кашу.

В проекте посерьезнее я использовал классическую вытесняющую многозадачность и FreeRTOS, но в данном случае гораздо более подходящей оказалась модель сопрограмм (coroutines) и библиотеки uasync . Причем питоновская реализация корутин просто бомбовая — для программиста все сделано просто и удобно. Просто пиши себе логику, только скажи в каких местах между потоками переключаться можно.

Различия между вытесняющей и конкурентной многозадачностью предлагаю изучить факультативно. А сейчас давайте, наконец, перейдем к коду.

#####################################
# Counter class - implements a single water counter on specified pin
#####################################
class Counter():
    debounce_ms = const(25)
    
    def __init__(self, pin_num, value_storage):
        self._value_storage = value_storage
        
        self._value = self._value_storage.read()
        self._value_changed = False

        self._pin = Pin(pin_num, Pin.IN, Pin.PULL_UP)

        loop = asyncio.get_event_loop()
        loop.create_task(self._switchcheck())  # Thread runs forever

Каждый счетчик обрабатывается экземпляром класса Counter. Первым делом из EEPROM (value_storage) вычитывается начальное значение счетчика — так реализуется восстановление после пропадания питания.

Пин инициализируется со встроенной подтяжкой к питания: если геркон замкнут — на линии ноль, если разомкнут линия подтягивается к питанию и контроллер читает единицу.

Также тут запускается отдельная задача, которая будет производить опрос пина. Каждый счетчик будет запускать свою задачу. Вот ее код

    """ Poll pin and advance value when another litre passed """
    async def _switchcheck(self):
        last_checked_pin_state = self._pin.value()  # Get initial state

        # Poll for a pin change
        while True:
            state = self._pin.value()
            if state != last_checked_pin_state:
                # State has changed: act on it now.
                last_checked_pin_state = state
                if state == 0:
                    self._another_litre_passed()

            # Ignore further state changes until switch has settled
            await asyncio.sleep_ms(Counter.debounce_ms)

Задержка в 25мс нужна для фильтрации дребезга контактов, а заодно она регулирует как часто просыпается задача (пока эта задача спит — работают другие задачи). Каждые 25мс функция просыпается, проверяет пин и если контакты геркона замкнулись, то значит через счетчик прошел очередной литр и это нужно обработать.
def _another_litre_passed(self): self._value += 1 self._value_changed = True self._value_storage.write(self._value)

Обработка очередного литра тривиальна — просто увеличивается счетчик. Ну и новое значение неплохо было бы на флешку записать.

Для удобства использования предусмотрены “доступаторы”

    def value(self):
        self._value_changed = False
        return self._value

    def set_value(self, value):
        self._value = value
        self._value_changed = False

Ну а теперь воспользуемся прелестями питона и библиотеки uasync и сделаем объект счетчика waitable (как это на русский перевести-то? Тот, которой можно ожидать?)
    def __await__(self):
        while not self._value_changed:
            yield from asyncio.sleep(0)

        return self.value()

    __iter__ = __await__  

Это такая удобная функция, которая ждет пока значение счетчика не обновится — функция время от времени просыпается и проверяет флажок _value_changed. Прикол этой функции в том, что вызывающий код может уснуть на вызове этой функции и спать до получения нового значения.А как же прерывания?Да, в этом месте вы меня можете потроллить, мол сам же сказал про прерывания, а на деле устроил тупой опрос пина. На самом деле прерывания это первое, что я попробовал. В ESP8266 можно организовать прерывание по фронту, и даже написать обработчик этого прерывания на питоне. В этом прерывании можно обновлять значение переменной. Наверное, этого бы хватило будь счетчик ведомым устройством — таким, которое ждет, пока у него не спросят это значение.

К сожалению (или к счастью?) мое устройство активное, оно должно само слать сообщения по протоколу MQTT и записывать данные в EEPROM. И тут уже вступают ограничения — в прерываниях нельзя выделять память и использовать большой стек, а значит об отправке сообщений по сети можно забыть. Есть плюшки типа micropython.schedule(), которые позволяют запустить какую нибудь функцию “как только так и сразу”, но возникает вопрос “а толку-то?”. Вдруг мы прямо сейчас отправляем какое нибудь сообщение, а тут вклинивается прерывание и портит значения переменных. Или, например, с сервера приехало новое значение счетчика пока мы еще старое недозаписали. В общем, нужно городить синхронизацию или выкручиваться как-то по другому.

А еще время от времени вылетает RuntimeError: schedule stack full и кто его знает почему?

С явным опросом и uasync оно в данном случае как-то красивее и надежнее получается


Работу с EEPROM я вынес в небольшой класс
class EEPROM():
    i2c_addr = const(80)

    def __init__(self, i2c):
        self.i2c = i2c
        self.i2c_buf = bytearray(4) # Avoid creation/destruction of the buffer on each call


    def read(self, eeprom_addr):
        self.i2c.readfrom_mem_into(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)
        return ustruct.unpack_from("<I", self.i2c_buf)[0]    
        
    
    def write(self, eeprom_addr, value):
        ustruct.pack_into("<I", self.i2c_buf, 0, value)
        self.i2c.writeto_mem(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)

В питоне напрямую с байтами работать сложновато, а ведь именно байты записываются в память. Пришлось городить конвертацию между целым числом и байтами с использованием библиотеки ustruct.

Чтобы каждый раз не передавать объект I2C и адрес ячейки памяти я все это завернул в маленький и удобный классик

class EEPROMValue():
    def __init__(self, i2c, eeprom_addr):
        self._eeprom = EEPROM(i2c)
        self._eeprom_addr = eeprom_addr
        

    def read(self):
        return self._eeprom.read(self._eeprom_addr)


    def write(self, value):
        self._eeprom.write(self._eeprom_addr, value)

Сам объект I2C создается с такими параметрами
i2c = I2C(freq=400000, scl=Pin(5), sda=Pin(4))

Подходим к самому интересному — реализации общения с сервером по MQTT. Ну сам протокол реализовывать не нужно — на просторах интернета нашлась готовая асинхронная реализация. Вот ее и будем использовать.

Все самое интересное собрано в классе CounterMQTTClient, который базируется на библиотечном MQTTClient. Начнем с периферии

#####################################
# Class handles both counters and sends their status to MQTT
#####################################
class CounterMQTTClient(MQTTClient):

    blue_led = Pin(2, Pin.OUT, value = 1)
    button = Pin(0, Pin.IN)

    hot_counter = Counter(12, EEPROMValue(i2c, EEPROM_ADDR_HOT_VALUE))
    cold_counter = Counter(13, EEPROMValue(i2c, EEPROM_ADDR_COLD_VALUE))

Тут создаются и настраиваются пины лампочки и кнопки, а также объекты счетчиков холодной и горячей воды.

С инициализацией не все так тривиально

    def __init__(self):
        self.internet_outage = True
        self.internet_outages = 0
        self.internet_outage_start = ticks_ms()

        with open("config.txt") as config_file:
            config['ssid'] = config_file.readline().rstrip()
            config['wifi_pw'] = config_file.readline().rstrip()
            config['server'] = config_file.readline().rstrip()
            config['client_id'] = config_file.readline().rstrip()
            self._mqtt_cold_water_theme = config_file.readline().rstrip()
            self._mqtt_hot_water_theme = config_file.readline().rstrip()
            self._mqtt_debug_water_theme = config_file.readline().rstrip()

        config['subs_cb'] = self.mqtt_msg_handler
        config['wifi_coro'] = self.wifi_connection_handler
        config['connect_coro'] = self.mqtt_connection_handler
        config['clean'] = False
        config['clean_init'] = False
        super().__init__(config)

        loop = asyncio.get_event_loop()
        loop.create_task(self._heartbeat())
        loop.create_task(self._counter_coro(self.cold_counter, self._mqtt_cold_water_theme))
        loop.create_task(self._counter_coro(self.hot_counter, self._mqtt_hot_water_theme))
        loop.create_task(self._display_coro())

Для задания параметров работы библиотеки mqtt_as используется большой словарь разных настроек — config. Большая часть настроек по умолчанию нам подходит, но много настроек нужно задать явно. Чтобы не прописывать настройки прямо в коде я их храню в текстовом файле config.txt. Это позволяет менять код независимо от настроек, а также наклепать несколько одинаковых устройств с разными параметрами.

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

    async def _counter_coro(self, counter, topic):
        # Publish initial value
        value = counter.value()
        await self.publish(topic, str(value))

        # Publish each new value
        while True:
            value = await counter
            await self.publish_msg(topic, str(value))

Корутина в цикле ждет нового значения счетчика и как только оно появилось — отправляет сообщение по протоколу MQTT. Первый кусочек кода отправляет начальное значение даже если водичка через счетчик не течет.

Базовый класс MQTTClient сам себя обслуживает, сам инициирует соединение по WiFi и переподключается когда соединение пропадает. При изменениях в состоянии соединения WiFi библиотека нас информирует вызовом wifi_connection_handler

    async def wifi_connection_handler(self, state):
        self.internet_outage = not state
        if state:
            self.dprint('WiFi is up.')
            duration = ticks_diff(ticks_ms(), self.internet_outage_start) // 1000
            await self.publish_debug_msg('ReconnectedAfter', duration)
        else:
            self.internet_outages += 1
            self.internet_outage_start = ticks_ms()
            self.dprint('WiFi is down.')
            
        await asyncio.sleep(0)

Функция честно слизана из примеров. В данном случае она считает количество отключений (internet_outages) и их длительность. При восстановлении соединения на сервер отправляется время простоя.

Кстати говоря, последний sleep нужен только для того, чтобы функция стала асинхронной — в библиотеке она вызывается через await, а так могут вызываться только функции в теле которых есть другой await.

Помимо связи с WiFi нужно еще установить соединение с MQTT брокером (сервером). Этим тоже занимается библиотека, а нам выпадает возможность сделать что нибудь полезное, когда соединение установлено

    async def mqtt_connection_handler(self, client):
        await client.subscribe(self._mqtt_cold_water_theme)
        await client.subscribe(self._mqtt_hot_water_theme)

Тут мы подписываемся на несколько сообщений — сервер теперь имеет возможность задать текущие значения счетчиков отправив соответствующее сообщение.
    def mqtt_msg_handler(self, topic, msg):
        topicstr = str(topic, 'utf8')
        self.dprint("Received MQTT message topic={}, msg={}".format(topicstr, msg))

        if topicstr == self._mqtt_cold_water_theme:
            self.cold_counter.set_value(int(msg))

        if topicstr == self._mqtt_hot_water_theme:
            self.hot_counter.set_value(int(msg))

Эта функция обрабатывает пришедшие сообщения, и в зависимости от темы (названия сообщения) обновляются значения одного из счетчиков

Парочка вспомогательных функций

    # Publish a message if WiFi and broker is up, else discard
    async def publish_msg(self, topic, msg):
        self.dprint("Publishing message on topic {}: {}".format(topic, msg))
        if not self.internet_outage:
            await self.publish(topic, msg)
        else:
            self.dprint("Message was not published - no internet connection")

Эта функция занимается отправкой сообщения в случае если соединение установлено. Если соединения нет — сообщение игнорируется.

А это просто удобная функция, которая формирует и отправляет отладочные сообщения.

    async def publish_debug_msg(self, subtopic, msg):
        await self.publish_msg("{}/{}".format(self._mqtt_debug_water_theme, subtopic), str(msg))

Так много текста, а мы еще не моргали светодиодом. Вот
    # Blink flash LED if WiFi down
    async def _heartbeat(self):
        while True:
            if self.internet_outage:
                self.blue_led(not self.blue_led()) # Fast blinking if no connection
                await asyncio.sleep_ms(200) 
            else:
                self.blue_led(0) # Rare blinking when connected
                await asyncio.sleep_ms(50)
                self.blue_led(1)
                await asyncio.sleep_ms(5000)

Я предусмотрел 2 режима моргания. Если пропало соединение (или оно только устанавливается), то устройство будет моргать быстро. Если соединение установлено — устройство моргает раз в 5 секунд. При необходимости тут можно реализовать и другие режимы моргания.

Но светодиод это так, баловство. Мы же еще на дисплей замахнулись.

    async def _display_coro(self):
        display = SSD1306_I2C(128,32, i2c)
    
        while True:
            display.poweron()
            display.fill(0)
            display.text("COLD: {:.3f}".format(self.cold_counter.value() / 1000), 16, 4)
            display.text("HOT:  {:.3f}".format(self.hot_counter.value() / 1000), 16, 20)
            display.show()
            await asyncio.sleep(3)
            display.poweroff()

            while self.button():
                await asyncio.sleep_ms(20)

Вот это то, о чем я говорил — как просто и удобно с корутинами. Эта маленькая функция описывает ВСЁ взаимодействие с пользователем. Корутина просто ждет нажатия кнопки и включает дисплей на 3 секунды. На дисплее отображаются текущие показания счетчиков.

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

   async def main(self):
        while True:
            try:
                await self._connect_to_WiFi()
                await self._run_main_loop()
                    
            except Exception as e:
                self.dprint('Global communication failure: ', e)
                await asyncio.sleep(20)

    async def _connect_to_WiFi(self):
        self.dprint('Connecting to WiFi and MQTT')
        sta_if = network.WLAN(network.STA_IF)
        sta_if.connect(config['ssid'], config['wifi_pw'])
        
        conn = False
        while not conn:
            await self.connect()
            conn = True

        self.dprint('Connected!')
        self.internet_outage = False

    async def _run_main_loop(self):
        # Loop forever
        mins = 0
        while True:
            gc.collect()  # For RAM stats.
            mem_free = gc.mem_free()
            mem_alloc = gc.mem_alloc()

            try:
                await self.publish_debug_msg("Uptime", mins)
                await self.publish_debug_msg("Repubs", self.REPUB_COUNT)
                await self.publish_debug_msg("Outages", self.internet_outages)
                await self.publish_debug_msg("MemFree", mem_free)
                await self.publish_debug_msg("MemAlloc", mem_alloc)
            except Exception as e:
                self.dprint("Exception occurred: ", e)
            mins += 1

            await asyncio.sleep(60)

Ну еще парочка настроек и констант для полноты описания
#####################################
# Constants and configuration
#####################################


config['keepalive'] = 60
config['clean'] = False
config['will'] = ('/ESP/Wemos/Water/LastWill', 'Goodbye cruel world!', False, 0)

MQTTClient.DEBUG = True

EEPROM_ADDR_HOT_VALUE = const(0)
EEPROM_ADDR_COLD_VALUE = const(4)

Запускается это все так
client = CounterMQTTClient()
loop = asyncio.get_event_loop()
loop.run_until_complete(client.main())

Что-то с памятью моей стало


Итак, весь код есть. Файлики я заливал с помощью утилиты ampy — она позволяет заливать их на внутреннюю (ту, которая в самом ESP-07) флешку и потом доступаться из программы как к обычным файлам. Туда же я залил используемые мною библиотеки mqtt_as, uasyncio, ssd1306 и collections (используется внутри mqtt_as).

Запускаем и… Получаем MemoryError. Причем чем больше я пытался понять где именно утекает память, чем больше я расставлял дебаг принтов, тем раньше возникала эта ошибка. Короткий гуглеж привел меня к пониманию, что в микроконтроллере в принципе всего 30кб памяти в которые 65 кб кода (вместе с библиотеками) ну никак не помещаются.

Но выход есть. Оказывается micropython не исполняет код напрямую из .py файла — этот файл сначала компилируется. Причем компилируется он прямо на микроконтроллере, превращается в байткод, который потом хранится в памяти. Ну и для работы компилятора тоже нужен определенный объем оперативки.

Трюк заключается в том, чтобы избавить микроконтроллер от ресурсоемкой компиляции. Можно скомпилировать файлы на большом компьютере, а в микроконтроллер залить уже готовый байткод. Для этого нужно скачать прошивку micropython и собрать утилиту mpy-cross.

Я не стал писать Makefile, а вручную прошелся и скомпилировал все нужные файлики (включая библиотеки) примерно так

mpy-cross water_counter.py

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

Все разработку я вел в программе (IDE?) ESPlorer. Она позволяет заливать скрипты в микроконтроллер и тут же их выполнять. В моем случае вся логика и создание всех объектов находятся находится в файле water_counter.py (.mpy). Но чтобы все это запускалось автоматически на старте должен быть еще файл с именем main.py. Причем это должен быть именно .py, а не пред-компилированный .mpy. Вот его тривиальное содержимое

import water_counter

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

Дело вот в чем. Даже при том, что файлы скомпилированы в байткод и находятся на внутренней файловой системе, на деле они все равно загружаются в оперативную память и выполняются оттуда. Но оказывается micropython умеет выполнять байткод прямо из флеш памяти, но для этого нужно встроить его непосредственно в прошивку. Это не сложно, хотя на моем нетбуке это заняло прилично времени (только там у меня оказался линукс).

Алгоритм такой:

  • Скачать и установить ESP Open SDK. Эта штука собирает компилятор и библиотеки для программ под ESP8266. Собирается по инструкции на главной страничке проекта (я выбирал установку STANDALONE=yes)
  • Скачать сорцы micropython
  • Нужные библиотеки закинуть в ports/esp8266/modules внутри дерева micropython
  • Собираем прошивку согласно инструкции в файле ports/esp8266/README.md
  • Заливаем прошивку в микроконтроллер (я это делаю на винде программами ESP8266Flasher или питоновским esptool’ом)

Все, теперь ‘import ssd1306’ будет поднимать код напрямую из прошивки и оперативная память под это расходоваться не будет. Таким трюком я залил в прошивку только код библиотек, тогда как основной код программы у меня выполняется с файловой системы. Это позволяет легко модифицировать программу не перекомпилируя прошивку. На данный момент у меня свободно около 8.5кб ОЗУ. Это позволит реализовать еще довольно много разного полезного функционала в будущем. Ну а если памяти будет совсем не хватать, то можно и основную программу затолкать в прошивку.

И что с этим теперь делать?


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

Мой “умный дом” крутится на системе Majordomo. Модуль MQTT то ли есть из коробки, то ли легко устанавливается из маркета дополнений — уже не помню откуда он у меня взялся. MQTT штука не самодостаточная — нужен т.н. брокер — сервер, который принимает, сортирует и перенаправляет клиентам MQTT сообщения. Я использую mosquitto, который (как и majordomo) крутится все на том же нетбуке.

После того, как устройство хоть раз отправит сообщение значение тут же появится в списке.

Эти значения теперь можно связать с объектами системы, их можно использовать в сценариях автоматизации и подвергать различному анализу — все это out of scope этой статьи. Кому интересна система majordomo могу порекомендовать канал Электроника В Объективе — товарищ тоже строит умный дом и доходчиво рассказывает про настройку системы.

Покажу лишь пару графиков. Это простой график значений за сутки


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

Из этого графика я узнал, что сходить в туалет это 6-7л воды, принять душ — 20-30л, помыть посуду около 20л, а чтобы принять ванную нужно 160л. За день моя семья потребляет где-то около 500-600л.

Для особо любознательных можно заглянуть в записи по каждому отдельному значению

Отсюда я узнал что при открытом кране вода течет со скоростью примерно 1л за 5с.

Но в таком виде статистику, наверное, не очень удобно смотреть. В majordomo есть еще возможности смотреть графики потребления по дням, неделям и месяцам. Вот, например, график потребления в столбиках

Пока у меня данных только за неделю. Через месяц этот график будет более показательным — каждому дню будет соответствовать отдельный столбик. Немного картину портят корректировки значений, которые я ввожу вручную (самый большой столбик). И пока не ясно, то ли я неправильно задал самые первые значения почти на куб меньше, то ли это баг в прошивке и не все литры пошли в зачет. Нужно больше времени.

Над самими графиками еще поколдовать нужно, побелить, покрасить. Возможно я также буду в отладочных целях строить график потребления памяти — вдруг там что-то утекает. Возможно буду как-то отображать периоды, когда отсутствовал интернет. Пока все это крутится на уровне идеи.

Заключение


Сегодня моя квартира стала чуточку умнее. С таким небольшим устройством мне будет удобнее следить за потреблением воды в доме. Если раньше я возмущался “опять много воды за месяц потребили”, то теперь я смогу найти источник этого потребления.

Кому-то покажется странным смотреть показания на экране, если он в метре от самого счетчика. Но в не очень отдаленном будущем я планирую переселиться в другую квартиру, где будет несколько стояков воды, а сами счетчики, скорее всего, будут расположены на лестничной площадке. Так что устройство удаленного снятия показаний будет весьма кстати.

Функциональность устройства я тоже планирую расширять. Я уже присматриваюсь к моторизованным вентилям. Сейчас для переключения бойлер-городская вода мне нужно поворачивать 3 крана в труднодоступной нише. Было бы гораздо удобнее делать это одной кнопкой с соответствующей индикацией. Ну и, само собой, защиту от протечек реализовать стОит.

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

Как всегда я открыт для конструктивной критики.

Исходный код
Схема и плата
Модель корпуса

Считывание показаний счетчиков воды с помощью 1-wire и Raspberry Pi

В статье описывается:

  • Типы водосчетчиков
  • Принцип работы импульсных выходов на счетчиках
  • Cпособы автоматического получения показаний расхода воды со счетчиков
  • Устройство для считывания показаний с использованием 1-wire
  • Сохранение показаний в базе данных и графическое отображение данных о расходе воды
  • Передача показаний в управляющую компанию (теория)

Введение

В настоящее время широкое распространение получили универсальные квартирные водосчетчики. Если отойти от темы домашней автоматизации, я считаю это очень хорошей тенденцией — ведь ведение учета расхода воды (да и не только воды) достаточно эффективная мера, способствующая сбережению ресурсов. Конечно, в современных Российских реалиях (низкая стоимость воды, электричества, наш менталитет) это звучит весьма странно, но где-то в душе я убежден, что обращать внимание на сбережение ресурсов нужно начинать уже сегодня. А если мыслить не так глобально, то сегодня счетчики, как минимум, позволяют экономить на счетах за коммунальные услуги. Что-то я отвлекся…

Типы бытовых счетчиков воды

Современные счетчики воды, по показаниям которых мы затем оплачиваем счет за ЖКУ, бывают в основном двух видов (с точки зрения домашней автоматизации):

  • Без выходов
  • С импульсным выходом
  • Цифровой выход RS 485 (в рамках этой статьи не рассматриваются)
  • С радиовыходом (в рамках этой статьи не рассматриваются)

С первыми все понятно: посмотрел, записал, отправил в управляющую компанию. Никакой автоматизации. Хотя есть народные умельцы, которые умудряются снимать показания с таких счетчиков с помощью веб-камер («сфотографировать» и затем с помощью специальных алгоритмов распознать цифры — пример реализации) или устанавливают специальные оптические считыватели скорости вращения гребенки на счетчике (чаще всего это та самая «светящаяся красная лампочка» со старых оптических компьютерных мышей — да да, это камера с очень низким разрешением) с последующей обработкой и преобразованием в конкретные цифры расхода воды. Если у вас счетчик без выходов и вы не хотите тратить деньги на установку новых счетчиков, то можете погуглить подобные решения — их достаточно много и почти все можно сделать «своими руками». Но, на мой взгляд, подобный подход носит скорее исследовательский характер, нежели стабильно работающее простое решение с использованием специально разработанных для этих целей импульсных выходов в водосчетчиках.

Рассмотрим подробнее счетчики с импульсным выходом. Общий принцип работы очень прост: датчик отдает один полный импульс при прохождении определенного количества жидкости (зависит от характеристик конкретного счетчика).

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

Задача сводится к подсчету импульсов в единицу времени и умножению их на «цену» одного импульса. Как правило 1 импульс = 10 литров, в некоторых счетчиках это значение равно 1 литру. Какая цена импульса у вашего счетчика можно посмотреть в техническом паспорте. Такая информация иногда бывает на самом счетчике.

Оборудование для считывания импульсов со счетчика воды

В моей реализации Умного дома почти все сенсоры подключены к шине 1-wire и счетчики импульсов для учета расхода воды не стали исключением. Я использовал готовое устройство от магазина radioseti — «Модуль счетчик с буферной памятью 2 канала». Как видно из названия, устройство позволит считывать показания с двух счетчиков. Устройство основано на чипе Maxim DS2423 и при наличии определенных умений, не составит труда спаять такое устройство самостоятельно.

Во встроенной памяти устройства есть две целочисленные переменные Counters.A и Counters.B,  в которых хранится количество «подсчитанных» импульсов на каждом входе (горячая и холодная вода). Каждой переменной выделено 32 байта — этого хватит с огромным запасом на много лет, даже при цене импульса в 1 литр.

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

К общей 1-wire шине наше устройство подключается стандартным образом через коннектор типа RG-11 (6p4c): DATA, GND, +12V (в схеме датчика встроен стабилизатор напряжения с 12В).

Счетчики подключаются тоже достаточно просто, но крепление уже «под винт» (советую обзавестись комплектом хороших маленьких отверток, чтобы не повредить разъем устройства). Один разъем общий (GND), в него нужно подключить контакты от обоих счетчиков. И два входных для каждого из счетчиков раздельно.

Стабильность работы, пропуски импульсов и ложные срабатывания

Устройство работает на удивление стабильно. За более чем пол года эксплуатации расхождение «считанных» фактических показаний составило порядка 20 литров на горячую и 40 литров на холодную воду в меньшую сторону. При среднем расходе воды в месяц 4 и 6 кубометров соответственно это всего около 0,1% — не много. Раз в пару лет можно «откорректировать» значения в памяти устройства вручную.

На стабильность работы могут влиять следующие факторы:

  • Качество самих счетчиков воды (в моем случае со счетчиками Valtec повезло)
  • Наличие неподалеку источника сильных магнитных полей (силовая проводка, всевозможные источники электромагнитных помех)
  • Надежность фиксации выходов счетчика в разъеме устройства
  • Качество установленной батарейки (и нужно следить за ее напряжением)

Аналоги устройству от Radioseti можно найти  в интернете (например от HobbyBoards за 30$ без учета доставки из США) или спаять самому, но, если честно, то по соотношению цена/качество лучшего устройства я не пока видел.

Сохранение показаний со счетчика в базу данных

На сервере Умного дома (я использую Raspberry Pi с ОС Raspbian и USB мастером 1-wire сети DS9490R) по расписанию каждые N-минут (задается по желанию) запускается скрипт, который с помощью библиотеки OWFS считывает показания с 1-wire счетчика импульсов и сохраняет их в СУБД.

Общая схема подключения представлена ниже:

Более подробно про считывание значений с устройств 1-wire и управление ими при помощи библиотеки OWFS будет посвящена отдельная статья.

В консоли Linux считывание показаний выглядит примерно так:

А графики, полученные на основе данных с 1-wire счетчика импульсов выглядят примерно так:

Один день из жизни: показания расхода воды за сутки.
Для построения графиков используется библиотека Highcharts.

Автоматическая передача показаний со счетчиков воды в управляющую компанию

При наличии в БД актуальных данных о расходе воды, можно подсчитать ее расход за месяц и передать в управляющую компанию.

На сегодняшний день (по крайней мере в Москве) многие УК принимают показания с помощью:

  • Смс сообщения (реализуемо)
  • E-mail (реализуемо и очень просто)
  • Через сайт УК (реализуемо, но придется разобраться как устроен их сайт и научиться эмулировать с помощью скрипта «ручную» передачу показаний)
  • API сервисов ЖКХ (пока не реализуемо, но чувствую что скоро они появятся)

Но это тема следующих статей.

Выводы

С доступными на сегодняшний день решениями (как аппаратными, так и софтовыми)  считать показания со счетчика воды, сохранить их в БД, а затем визуализировать, использовать для статистических расчетов, передать в управляющую компанию очень просто — даже если вы не умеете пользоваться паяльником и не являетесь гуру-программирстом. Нужно лишь немного терпения, желание и не бояться нового 🙂

Счетчик воды передающий показания

Счетчик воды передающий показания

Сегодня большую популярность получили простые механические счетчики, учитывающие расход воды. Это позволяет удерживать их стоимость на низком уровне, но передавать данные показаний с каждым днем становится неудобно. В развитых странах Европы, где хорошо развита коммунальная структура, давно перешли на применение в жилых помещениях на такие приборы, как счетчик воды передающий показания. Медленно, но уверенно, в России также начинают понимать об удобстве и эффективности такого метода снятия показаний.

Достоинства водяных счетчиков с функцией передачи показаний

Наиболее значимой проблемой функционирования индивидуальных водяных счетчиков является своевременное предоставление информации о расходе воды от потребителя к ресурсной организации, поставляющей воду. В настоящее время в большинстве многоквартирных домов России такая передача показаний проводится вручную, путем заполнения квитанций, или звонком по телефону. Жильцы квартир самостоятельно снимают показания со счетчиков путем визуального осмотра, вписывают данные в квитанцию или указывают их на сайте организации в интернете.

Ручной способ передачи данных приборов учета способствует появлению многих проблем. К главным из них относится возможность подачи ложных данных, чтобы снизить стоимость услуг, а также нарушение сроков передачи показаний, способствующих расхождению с данными общедомовых приборов.

Счетчик воды передающий показания

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

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

Принцип действия водосчетчиков, передающих показания

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

В качестве приемника импульсов выступает особый приемный модуль, записывающий эти сигналы, и модифицирует их в удобный для считывания и транспортировки вид. В простом исполнении такие приборы располагают обычно на лестничной площадке. Это гарантирует удобный доступ для проверки показаний приборов.

Такой вариант установки приборов учета устраняет вопросы по неверно поданным показаниям, однако по-прежнему приходится выполнять обходы жилых домов и фиксировать показания приборов. Более совершенные варианты приборов дают возможность транслировать информацию по каналу радиоволны во всемирную сеть, или на наружные устройства. Это дает возможность создать систему своевременной передачи показаний со счетчиков, расположенных во всем доме.

Виды бытовых приборов учета расхода воды

Современные приборы учета воды, по данным которых люди платят за коммунальные услуги, существуют нескольких видов:

  1. Без выходов данных.
  2. С наличием выхода импульсов.
  3. Цифровой выход типа RS-485.
  4. С выходом по радиоканалу.

Последние два вида в данном обзоре не рассматриваются, так как они достаточно редко применяются в жилых домах, и будут рассмотрены в отдельных обзорах нашего портала. Первый тип счетчиков достаточно простой. Здесь все ясно: нужно визуально осмотреть индикатор, записать на бумаге показания и отправить поставщику услуг. Автоматизация в этом случае отсутствует. Однако, находятся народные мастера, снимающие данные с водосчетчиков посредством веб-камер, то есть, они снимают показания с применением специальных программ распознают цифры.

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

Импульсные водосчетчики, передающие показания

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

Общий принцип действия таких приборов не вызывает трудностей для понимания. Датчик выдает один целый импульс во время прохождения заданного количества воды. Это зависит от параметров определенной марки счетчика. Выход импульсов базируется на взаимодействии магнитного поля, имеющегося у постоянного магнита, на геркон. При этом возникает периодическое размыкание и замыкание контактов этого геркона. Он создает пассивный сигнал на выходе в виде «сухого контакта». Такой сигнал можно фиксировать любым импульсным счетчиком.

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

Оборудование для фиксации импульсов водосчетчиков

Рассмотрим, как реализуется возможность считывания импульсов приборов учета расхода воды в системе «Умный дом». Для примера рассмотрим счетчик с буферной памятью и двумя каналами связи. По наименованию прибора становится понятно, что прибор позволяет фиксировать показания с двух водосчетчиков. Это устройство в своей основе имеет микрочип марки Maxim DS2423. Если имеются некоторые навыки, то довольно просто будет сделать такое устройство своими руками.

Счетчик воды передающий показания

Во внутренней памяти устройства имеется два целочисленных значения Counters A и Counters B, которые содержат в себе число зафиксированных импульсов на всех входах холодной и горячей воды. Для каждой из переменных отведено 32 бита, чего вполне достаточно с большим запасом на несколько лет, учитывая значение одного импульса в 1 литр.

Внутренний встроенный элемент питания дает возможность сохранять итоги работы, и при этом не зависеть от наружного питания. Кроме этого, устройство будет фиксировать импульсы и хранить данные внутри в отведенной для этого памяти, даже при отсутствии питания сети. Такое решение является оптимальным для подобных задач.

Счетчик воды передающий показания

К базовой шине 1-wire наш прибор подсоединяется стандартным подключением посредством коннектора марки RG-11 (6p 4c): GND, DATA, + 12V. На плате датчика вмонтирован стабилизатор питания на 12 вольт. Прибор учета подсоединяется также легко, но крепится на винты. Для таких целей рекомендуется приобрести комплект качественных небольших отверток, чтобы разъем устройства не был случайно поврежден. Один разъем является общим – GND. В этот разъем необходимо подключить контакты от двух приборов учета, и пару входных контактов для счетчиков отдельно.

Стабильность действия, ложные срабатывания и пропуски импульсов

Такое устройство действует вполне стабильно. Из практики известно, что за несколько месяцев работы погрешность зафиксированных фактических данных составило около 20 литров воды на горячую воду, и около 40 литров холодной воды. Если учесть среднее потребление воды за месяц, то такая погрешность составит около 0,1%, что совсем немного. Один раз в два года рекомендуется градуировать показания вручную в памяти устройства.

На стабильность действия могут оказывать влияние следующие моменты:

  1. Качество приборов учета потребления воды.
  2. Наличие поблизости источника больших магнитных полей, например, силовые провода, источники электромагнитных помех.
  3. Качество элемента питания в оборудовании, напряжение может снижаться.

Аналогичные устройства можно обнаружить во всемирной «паутине» на разных ресурсах по разной стоимости, либо изготовить самостоятельно.

Фиксация и запись показаний водяных приборов учета в базе данных

На специальном сервере «Умного дома» по заданному распорядку каждый заданный интервал времени включается в работу специальный программный скрипт. Он считывает данные со счетчика импульсов с помощью библиотеки данных OWFS, и записывает их в базу данных.

Схема соединения приборов

Счетчик воды передающий показания

Более детально про считывание показаний с таких устройств и управление приборами с использованием библиотеки OWFS будет рассказано в другом обзоре.

В системе Linux считывание данных выглядит следующим образом:

Счетчик воды передающий показания

Графики, созданные на базе информации со счетчика импульсов можно представить в следующем виде:

Счетчик воды передающий показания

Счетчик воды с радиомодулем

Счетчик воды передающий показания

Для примера рассмотрим умный счетчик для фиксации расхода холодной и горячей воды марки СВК 15-3-2 с установленным радиомодулем. Он применяется для дистанционной передачи показаний водяных счетчиков. Диаметр условного прохода ДУ = 15 мм, установочная длина 110 мм. Периодичность поверки – 1 раз в 6 лет для холодной и горячей воды.

Характеристики прибора

Счетчик с модулем радиоканала «Стриж» производит удаленный мониторинг данных расхода воды посредством сети интернет. Для транспортировки показаний применяется энергоэффективный радиоканал марки LPWAN, функционирующий на частоте 868 мегагерц. Счетчик для квартир служит для замеров объема израсходованной холодной или горячей воды, и передачи этой информации в личный кабинет ресурсной или управляющей компании.

  1. В одном приборе совмещены два устройства: модем и счетчик воды. Это повышает надежность работы, снижает цену на монтаж и приобретение.
  2. Одного источника питания прибора хватает на 10 лет работы, так как установленный в приборе радиопротокол экономно тратит энергию.
  3. Дальность передачи данных по радиоканалу достигает 10 километров. Встроенный радиомодуль «Стриж» позволяет передавать показания на большое расстояние без использования сумматоров, ретрансляторов или концентраторов.
  4. Такая модель прибора значительно дешевле аналогичных зарубежных устройств.

Достоинства счетчика с радиоканалом

Такой водяной счетчик имеет следующие преимущества:

  1. Не имеет геркона. Импульсный вид выхода довольно часто выходит из строя. В этом приборе установлен датчик оборотов с оптическим элементом, что повышает его срок службы, и делает его поистине вечным.
  2. Не требует калибровки показаний или программирования. Его достаточно установить и включить. Установка не требует особой высокой квалификации работника.
  3. Счетчик «Стриж» со встроенным радиомодулем работает без наличия ретрансляторов и концентраторов, что удешевляет его в торговой сети.
  4. Простота монтажа. Умный прибор ставится за несколько минут, как простой водомерный прибор.
  5. Антимагнитные свойства. В корпус вмонтирован датчик магнита, который подает сигнал при постороннем вмешательстве в действие прибора.
  6. Счетчик «Стриж» разработан и производится в России, имеет приемлемую стоимость.
  7. Передача показаний расхода воды через интернет в любое время. Имеется возможность просмотра телеметрии с прибора дистанционным методом через всемирную сеть.

Принцип действия водосчетчика с радиоканалом

Прибор создан на основе сухоходного счетчика СВК 15-3-2. Встроенный в прибор радиоканал, имеет датчик с оптическим элементом, который считывает число оборотов крыльчатки. Затем информация о потреблении воды записывается в память прибора. Радиоканал один раз в день посылает по каналу радио LPWAN суммированную статистику о расходе воды.

Счетчик воды передающий показания

Сигналы от приборов принимаются основной станцией. Расстояние работы станции более 10 километров в городе, и до 50 км на загородных участках. Станция в одно время может принимать и обрабатывать данные от 10 тысяч приборов, а полная емкость равно 5 миллионам сообщений в течение суток. Информация со станции транспортируется по защищенному протоколу на сервер, проверяется, записывается и отображается в удобном виде в Личном кабинете.

Отчеты создаются в формате Excel, и могут быть совместимы с работой таких программ, как ЖКХ, ГИС или 1С, а также другими учетными программами. Система производит недельную обработку данных сотрудников в течение нескольких минут по счетчикам целого микрорайона города.

Функция Антимагнит

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

Геркон – датчик фиксации вращения крыльчатки

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

Показания прибора через интернет с любого компьютера

Данные счетчика видны в Личном кабинете и отображаются для всех сотрудников через всемирную сеть на любом компьютере при наличии доступа в интернет. При этом не требуется администрирование, настройка серверов, программирование и калибровка счетчиков. Достаточно его установить на место, и можно считывать показания на компьютере. Данные по дому и создание отчета занимает две минуты.

Уменьшение оплаты ОДН за две недели

Счетчик воды «Стриж» не допускает многие факторы, создающие дисбаланс и повышенный ОДН в больших многоквартирных домах. Наиболее проблемные факторы – нарушение сроков подачи показаний, случайное или умышленное уменьшение показаний, установка магнитов на приборы, излишний расход норматива воды и расход на утечки. ОДН в вашем доме уменьшится до нормальных показателей уже через две недели после монтажа таких приборов.

Комплектность прибора

В комплект входит: сам прибор с радиоканалом ДУ-15 мм, установочный набор: две гайки, переходники, прокладки, клапан обратный, паспорт прибора. Водосчетчик «Стриж» имеет сертификацию для коммерческого учета в комплексе системы АСКУВ «Стриж».

Основные параметры

  • длина – 11 см;
  • диаметр 15 мм;
  • периодичность поверки – 6 лет;
  • гарантийный срок – 40 месяцев;
  • радиопротокол частотой 868 мегагерц, мощность не более 25 милливатт, городское расстояние действия до 10 км, метод шифрования данных AES-128 бит;
  • температурный режим от +5 до +90 градусов;
  • статистика выдается каждый час;
  • датчик магнита;
  • сохранение показаний в «облачном» хранилище.

Автоматическая передача данных с приборов учета воды в ЖКХ

Если в базе данных имеются актуальные данные о потреблении воды, можно определить ее расход за месяц и отправить эту информацию в управляющую организацию. Сегодня в России многие управляющие компании уже принимают информацию по счетчикам с использованием следующих средств:

  1. Отправкой текстовых сообщений с мобильных устройств.
  2. Через электронную почту – реализуется просто и легко.
  3. Через интернет ресурсы управляющих компаний. Этот способ можно выполнить, но понадобится время на изучение работы сайта, и правильно передавать показания.
  4. Сервисов API жилищных контор. Это пока в будущем, но скоро такие способы начнут работать.

Готовится закон об обязательной установке водосчетчиков с функцией передачи показаний по интернету

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

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

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

Пока показатель по установке новых приборов учета очень низкий. По данным статистики процент обеспеченности водосчетчиками для населения равен 65,4% для холодной воды, и 67,9% для горячей воды. По тепловым счетчикам данный показатель значительно ниже, и составляет 6,6% от всего населения.

Председатель совета Федерации РФ в выступлении призывала население более экономно относиться к энергетическим ресурсам, чтобы платить за это приходилось меньше денег. Часто граждане не думают о тома, что нужно более рачительно относиться к таким ресурсам. Следует проводить информационную и разъяснительную работу о пользе сбережения тепловой энергии и повышения эффективности в коммунальных хозяйствах. Люди часто справедливо подвергают критике власть страны, сравнивая стоимость и качество коммунальных услуг в разных регионах.

Выводы специалистов

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

Facebook

Twitter

Вконтакте

Google+

горячей, холодной, как подключить, плюсы и минусы

Правительство РФ по вопросу энергосбережения поставило перед коммунальными службами задачу, которая заключается в достоверном учете потребления энергоресурсов: электричества, тепла, газа и водоснабжения.

Актуальность приобретают системы точного автоматизированного дистанционного учета воды с возможностью мониторинга в режиме реального времени. Это позволяет полностью исключить воздействие человека на достоверность показателей. Такими приборами можно управлять с помощью специальных устройств, которые обладают выходом в телекоммуникационные сети. К ним относится и импульсный счетчик воды.
внешний вид

Что это такое, его плюсы и минусы

Импульсный прибор учета горячей и холодной воды отлично подходит не только для промышленных целей, но и для населения РФ. Его основная цель заключается в фиксации точного объема потребляемых ресурсов, причем в режиме реального времени. За относительно недавний период внедрения он зарекомендовал себя как надежный прибор для автоматизированного контроля затрат воды.

Управляющие организации и РСО видят в импульсных приборах учета эффективное применение, которое позволяет обеспечить высокую точность рассчитываемых показателей с имеющейся возможностью их дальнейшей отправки коммунальным службам через автоматизированную систему.

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

Основными их преимуществами принято считать:

  • передача сведений относительно расхода воды дистанционно в автоматическом режиме;
  • могут быть подключены к сложным системам обработки данных. К примеру, можно без проблем подключиться к АСКУВ;
  • низкие цены, что позволяет отнести его к бюджетному классу;
  • высокий уровень надёжности;
  • стойкость к различным температурным воздействиям, что делает его одним из лучших приборов учета.

Если говорить о недостатках, то ими являются:

  • устройство имеет определенный срок службы, по завершении которого его следует заменить, в противном случае показания будут с погрешностью;
  • все сведения с прибора можно передать исключительно при его подключении к радио- либо цифровому сигналу;
  • в обязательном порядке необходимо использовать антимагнитную защиту, поскольку без неё можно без особых усилий останавливать учёт воды принудительно.

Несмотря на имеющиеся недостатки, импульсный прибор учета пользуется популярностью среди населения РФ.
особенности устройства

Конструкция

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

Принцип действия

Схема стандартной конструкции для холодной либо горячей воды базируется на счетном механизме, который и рассчитывает объем потребления. Импульсные счетчики рассчитывают объем потока и осуществляют передачу сведений в определенные системные пункты.

Итак, рассмотрим все подробней:

  1. Выходной поток оказывает воздействие на крыльчатку, которая находится в трубопроводе.
  2. Затем осуществляется подключение непосредственно к работе муфты, которая перерабатывает и далее передает сведения на индикатор.
  3. В ней при полном обороте магнит контактирует с датчиком, а после показатель указывается на цифровом индикаторе.
  4. Сведения поступают не только на экран, но и передаются в сам счетчик, который определяет расход холодной и горячей воды за конкретный временной промежуток.
  5. По завершении расчетов сведения передаются в сеть для дальнейшего отчета перед коммунальными предприятиями.

схема работы
Важно обращать внимание на то, что 1 импульс может приравниваться, к примеру, 10, 100 или 1000 литрам воды – значение напрямую зависит от диаметра трубопровода.

Управление импульсным прибором учета не влечет за собой каких-либо сложностей и не требует к себе от собственников профессиональных навыков и умений. Устройство, как и сам датчик, производит подсчеты в автоматическом режиме. Более того, оно не требует подключения к электричеству, что относит его к бюджетному варианту.

Важно помнить: в дальнейшем планируется эксплуатация исключительно импульсных счетчиков.

Как его подключить?

Подключение водомера осуществляется специалистом коммунальной службы.

Это связано с тем, что для налаживания автоматической диспетчеризации сведений с импульсного прибора учета необходимо подключать к нему сетевой кабель либо же модем-транслятор, с помощью которых осуществляется передача сигнала по каналу GCM или LPWAN.

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

Снятие показаний

Как уже отмечалось выше, владельцам импульсных счетчиков не стоит переживать о необходимости снятия и передачи показаний, поскольку устройство делает это в автоматическом режиме.

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

По этой причине специалисты рекомендуют всё-таки снимать показания с дисплея, как и в случае с обычным водомером, а после передавать их контролеру для минимизации последствий.

Счетчик воды с импульсным выходом- для холодной и горячей

Импульсный счётчик –  это устройство для контроля и измерения объёма расходной воды в любом помещении, где оно вмонтировано. Отличительной чертой от стандартных водомеров есть наличие выхода сигнала для его электронной обработки. Данные устройства можно применять как датчики автономных систем учета водоснабжения. Прекрасно функционируют и с холодным, и с горячим потоком воды. В нашей статье мы обсудим и другие особенности импульсных водомеров.

Конструктивные отличия

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

В основе механизма заложена электронная система, которая отвечает за подсчет длительности импульса. Стоит заметить, что интервал подачи зависит от скорости потока горячей или холодной схемы водоснабжения. Для данного водомера не нужно наличие источника энергопитания, ведь герконовый механизм способен вызвать замыкание слаботочной электроники.

Импульсный счетчик состоит из двух основных деталей:

  1. Язычковый переключатель;
  2. Контейнер, который полностью герметизированный.

Также, стоит перечислить дополнительные составляющие данного устройства:

  • Датчик небольшого размера, который срабатывает при магнитном воздействии;
  • Стрелка;
  • Магнит.

Внимание! Это очень легкая схема, которая характеризуется надежностью и долговечностью.

Преимущества счетчиков

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

  • Низкая цена;
  • Высокий спрос;
  • Соответствие нормам СНиП и ГОСТ;
  • Сертифицированный продукт;
  • Разнообразие моделей с набором диаметров разной величины;
  • Бесперебойность работы в период всего жизненного цикла;
  • Прочность и герметичность корпуса;
  • Размеры для установки в ограниченном пространстве;
  • В комплектацию входит комплект переходников;

Важно! Обязательно необходимо установить антимагнитную защиту, так как магнитное поле может влиять на точность показаний.

Импульсные счетчики бывают двух видов:

Рекомендуем к прочтению:

  1. Горизонтального монтирования;
  2. Вертикального монтирования.

Решения эксплуатационных проблем для водомера

Есть несколько решений, которые могут воплощать принцип работы счетчика  с импульсным выходом:

  1. Наличие для работы электрического источника. Решить данную ситуацию нужно при снятии показаний пользоваться магнитным контактом, который управляем.
  2. Способ и процесс передачи данных. Передаваться и обрабатываться информация может только при дополнительном запуске радио или цифрового сигнала.
  3. Способность водомера интегрировать в более сложную систему обрабатывания информации. Об этом стоит рассказать более детально. Автономная система счета помогает владельцам сэкономить некоторое количество финансов и сил.

Внимание! Даже для маленькой площади установка счетчика с импульсным выходом будет выгодной.

Понятие датчик импульса

Это устройство состоит из герметичного контейнера, в котором размещен  переключатель. Датчик независимый механизм от системы, который может монтироваться в одноструйные и многоструйные водомеры.

Принцип схемы прибора это соединения с сумматором и дистанционной аппаратурой.  Для полной подготовки к работе необходимо вычислить магнитный коэффициент, что способствует отображению потребленного литража.

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

Важно! Такой принцип действия образует выход импульсного сигнала, количество которых и есть показаниями расхода горячей или холодной воды, которые выводятся на дисплей устройства.

Принцип действия водомера

Схема работы обычного устройства для холодной и горячей воды основывается на счетном механизме, который определяет количество расхода воды. Счетчик с импульсным выходом подсчитывает объём потока и передает данные в соответственные пункты системы.

Итак, опишем все подробнее. Выход потока воды влияет на крыльчатку, которая расположена в трубопроводе. Далее происходит подключение к работе магнитной муфты, которая перерабатывает и передает информацию к индикатору. Здесь, при полном его обороте магнит входит в контакт с датчиком и результат отображается на циферблате.

Рекомендуем к прочтению:

Информация поступает не только на дисплей, но и посылается в счетчик, который рассчитывает потребление горячей и холодной воды за определенный период. После определения данной цифры информация отправляется в сеть для отчета перед коммунальными службами.

Внимание! 1 импульс приравнивается, например, 10; 100; 1000 литрам горячей воды – это зависит от диаметра трубы.

Управление импульсным счетчиком горячей и холодной воды довольно легкое и не требует от владельца особых профессиональных умений. Устройство, как и датчик, работает автоматически, не требует подключение к электричеству, что делает его бюджетным вариантом.
Внимание! В будущем хотят ввести только импульсные счетчики в оборот пользования.

Применение импульсных водомеров

Такие системы способны транспортировать данные автоматически в централизованный пункт. Все подсчеты расхода и стоимости потребления воды производит сам аппарат. Его главным достоинством есть то, что он избавит вас от хлопот и не сможет вас обмануть, потому что он имеет очень высокий процент точности.

К сведению! Такие счетчики монтируют в «умных домах», которые являются техническим совершенством нашего времени.

Данный водомер отлично функционирует как с холодной, так и с горячей водой. При холодном потоке выдерживает температуру до 40 градусов, и давление – 1,5 мПа. Такой же механизм и с горячей водой. Прекрасно работает при градусах до 90 и давлении до 1,6 мПа.

Импульсный счетчик  может монтироваться и вертикально, и горизонтально.  В основном установка происходит в таких заведениях: школы, офисы, квартиры и прочие  административные помещения.

Контроллер SAURES R1, Wi-Fi, 4 канала

Технические характеристики

  • канал передачи данных: Wi-Fi 2400 МГц
  • антенна встроенная PCB (на печатной плате)
  • количество аналоговых входов для подключения устройств: 4
  • электропитание: от 3 батареек АА 1.5 Вольт (VARTA входят в комплект)
  • потребляемая мощность: 1 Вт
  • защита корпуса: IP54
  • температурный диапазон работы: от +5 до +60°C
  • условия эксплуатации: без прямого воздействия солнца и осадков
  • габаритные размеры корпуса (без фланцев): 82x62x33 мм
  • шурупами к поверхности или нейлоновыми стяжками к трубе

Совместимое оборудование Сравнение контроллеров SAURES

Возможности

Устанавливается в непосредственной близости от счетчиков ресурсов или датчиков, расстояние до 50 метров (при использовании витой пары). У контроллера 4 канала для подключения устройств в любой комбинации:

При использовании модуля интерфейса RS-485/CAN к контроллеру также можно дополнительно подключить до 8 счетчиков электричества.

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

Вы можете существенно сэкономить, если будете использовать один контроллер на несколько квартир: подключить до 8 электросчетчиков в общем коридоре многоквартирного дома, подключить до 4 счетчиков воды находящихся в верхних или нижних квартирах (при наличии не замурованной шахты) и т.д. При этом каждый житель будет видеть только свои показания.

Сбор данных, оповещение и передача показаний:

Прибор собирает данные со счетчиков и датчиков и по заданному расписанию передает их в ваш личный кабинет. В штатном режиме данные отправляются раз в сутки с почасовой детализацией. Вы можете смотреть состояния датчиков, показания и графики на вашем мобильном телефоне используя браузер или мобильное приложение для iOS и Android.

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

В личном кабинете вы можете настроить в какой день и час ежемесячно автоматически отправлять показания в вашу управляющую компанию. Показания могут отправляться следующими способами: в виде PUSH уведомления, в виде EMAIL, непосредственно на портал MOS.RU!

Забудьте о рутине связанной с ежемесячным снятием и передачей показаний вручную!

Все события сохраняются в журнал и видны в вашем личном кабинете.

Питание:

Три батарейки АА напряжением 1.5 Вольта (рекомендуются щелочные), продолжительность автономной работы не менее 3 лет при передаче данных в личный кабинет раз в сутки. При снижении уровня заряда ниже 10% пользователю будет отправлено PUSH или EMAIL уведомление. Качественные батарейки DURACELL или VARTA входят в комплект.

При использовании модуля интерфейса RS-485/CAN контроллер можно запитать от внешнего источника постоянного тока напряжением 5 — 17 Вольт. Батарейки при этом должны быть извлечены! Необходимо использовать резервированный источник питания с аккумулятором, в противном случае точность и стабильность работы контроллера не гарантируется!

Способ передачи данных:

Выходит в интернет, используя частную или публичную сеть Wi-Fi. Может использоваться две сети: основная и резервная.

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

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

Монтаж:

20 минут на один передающий блок Saures R1 без шума и пыли. Две нейлоновые стяжки для крепления на трубу, инструкция, батарейки в комплекте! Для настройки и запуска вам необходимо только любое устройство с WiFi и браузером: смартфон, планшет, ноутбук, стационарный компьютер.

Если у вас уже установлен блок GIDROLOCK PREMIUM, АКВАСТОРОЖ или Neptun ProW, то вы можете дополнить их нашим контроллером R1, который используя Wi-Fi будет отправлять вам PUSH или EMAIL уведомления о произошедшей протечке, а также будет собирать данные с ваших счетчиков воды.

Требования к Wi-Fi сети:

Для работы нашего контроллера подойдет любая сеть с частотой 2.4ГГц и стандартом b/g/n. Внимание, частота 5ГГц и стандарт ac не поддерживаются!

Контроллер передает за один сеанс килобайты информации, поэтому он совершенно не требователен к скорости сети и качеству сигнала. При уровне сигнала даже -95 dBm вы будете стабильно получать информацию о показаниях.

Мы рекомендуем использовать оборудование компании MikroTik!

Комплектация

  • Контроллер R1 — 1шт.
  • Щелочные батарейки — 3шт.
  • Нейлоновые стяжки для крепления — 2шт.
  • Паспорт контроллера — 1шт.

Контроллер поставляется в фирменнтой картонной коробке.

Радиомодуль для счетчика воды и газа Пульсар, Тепловодохран, Краснодар

Чем удобны счетчики с радиомодулем?

Усовершенствованные приборы учета позволяют в значительной степени повысить удобство их пользования. Так, в последнее время набирают популярность счетчики с радиомодулем, демонстрирующие ряд неоспоримых преимуществ автоматизированных систем. Они:

  • могут быть установлены в тех местах, где затруднена либо же нежелательна по дизайн-проекту скрытая прокладка проводов;
  • значительно упрощают монтаж оборудования и его последующее обслуживание;
  • получают энергонезависимый архив;
  • обеспечивают двусторонней связи со счетчиком без видимого вмешательства обслуживающего и контролирующего персонала;
  • подходят для работы с приборами учета различного назначения;
  • характеризуются невысоким энергопотреблением, обеспечивая длительную автономную работу модуля
  • надежно защищены от постороннего вмешательства;
  • допускают возможность применения двухтарифной системы учета.

Назначение радиомодуля Пульсар

Радиомодуль Пульсар позволяет передать на диспетчерский пункт следующую информацию:

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

Конструкционно система включает счетчик воды с радиомодулем Пульсар и удаленный базовый регистратор, принимающий сигналы с 24-х устройств, расположенных непосредственно в квартирах.

Защита от несанкционированного доступа

Программное обеспечение, которое устанавливается на счетчик воды Пульсар с радиомодулем, записывается в память регистратора еще на этапе производства. После этого производится пломбировка самого устройства, в том числе затрудняющая доступ к разъему программирования. Такие меры обеспечивают высокий класс защиты.

Однако регистратор позволяет настраивать каждый из каналов путем задания начального значения и стоимости импульса.

Нужна ли регистрация счетчика с радиомодулем?

Не смотря на то, что счетчик воды с радиомодулем использует для передачи данных радиоканал с рабочей частотой 433 МГц, но его мощность составляет всего 10 мВт. Благодаря этому эти устройства не подлежат обязательной регистрации в органах городского управления.

Счетчик газа с радиомодулем

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

Система является одной из лучших разработок НПП «Тепловодохран» для коммерческого или технологического учета потребления газа, электроэнергии и воды, в составе автоматизированных систем администрирования технологических процессов. Заказывайте оборудование непосредственно у производителя!

Отправить ответ

avatar
  Подписаться  
Уведомление о