Дистанционное передача данных по воде

Вотериус: Передача показаний воды на телефон по Wi-Fi (4 года от батареек)

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

Мой путь оказался непростым и витиеватым. Но в результате получилось устройство, передающее показания воды по Wi-Fi на телефон. Простое и понятное в использовании и настройке хоть школьнику, хоть гуманитарию пенсионеру. А знакомым со словом «Ардуино» — ещё и несложное для изготовления. Девайс способен работать от батареек четыре года (дольше, чем длились отношения с вашей бывшей). Это ещё и первый открытый проект с такими характеристиками. Заводские аналоги я выписал, их мало, да и ладно с ними.

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

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

Требования

Характеристики

Ежедневная передача по Wi-Fi

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

Реализована поддержка TCP сервера и приложения Blynk. Добавляйте протоколы HTTP, MQTT, Modbus TCP, облака Cayenne, IFTTT и т.п. (тут даётся место для проявления вашего творческого гения).

UPD2: творческие гении зарелизили ещё HTTPS, MQTT

Настройка

При нажатии на кнопку Вотериус включает Wi-Fi точку доступа. Подключаетесь, заполняете форму, трижды кланяетесь на восток и говорите «спасибо» разработчикам WiFiManager. Можно мысленно.

Занимательная электроника

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

Единственный способ достичь единиц микроампер потребления во время подсчета импульсов — использовать экономичный микроконтроллер, а не то, что вы подумали. Сердце Вотериуса — микроконтроллер Attiny85 (аналоги — MSP430, STM8L). Прошивается без проблем любой платой Ардуино любыми руками, растущими выше пояса. Attiny85 работает на частоте 1МГц от внутреннего генератора и считает импульсы, проверяя периодически 2 входа на замыкание и кнопку. Ток сна 4 мкА при 3В. Сказка.

В качестве Wi-Fi я использую ESP8266-01. Потребления во время работы 75мА, импульсами до 250мА. Общаются два микроконтроллера по шине i2c. Правильность выбора подтвердил проект метеостанции. ESP8266 постоянно во сне: пин EN подтянут к GND через резистор. Ток потребления меньше 10мкА (мне попадались экземпляры с 0мкА). Раз в сутки Attiny85 подает HIGH, ESP8266 просыпается, получает показания от Attiny85, подключается к домашнему Wi-Fi и отправляет данные за

4 сек — что по исследованиям британских учёных гораздо быстрее, чем вы обычно добираетесь вручную до этих самых счетчиков.

На фото хорошая ESP, потребление прыгает 7-11мкА. Обычно цифры 19-23мкА.

Другие типы сна Вотериусу не подойдут, хоть обсыпьте его мелатонином под звуки колыбельной: Бесконечный deepsleep с мгновенным пробуждением по импульсу на External reset потребляет 20мкА и подходит для частой отправки данных. Самый экономичный вариант: полное отключение ESP8266, но понадобятся полевые транзисторы, которые боятся статического электричества, так-то.

Кнопка настройки расположена на линии SCL. Все пины Attiny85 заняты! По этой причине Вотериус не поддерживает выходы счётчиков «намур» и не имеет датчика протечки.
Светодиод подключен к TX пину ESP и горит, когда ESP работает. Подключите TTL-USB переходник, чтобы видеть лог (интересно же!). В начале разработки я считал, что для индикации ошибки нужно моргать светодиодом, но обойдётесь — это только усложнит код.
При успешном подключении к Wi-Fi роутеру через 3-10 секунд светодиод погаснет, а если продолжит гореть — подключитесь телефоном к Вотериусу заново. Сложная техника, нанотехнологии, наработки НАСА, учения Древнего Китая.

Любой из нас знает: особенность устройств с низким потреблением заключается в подверженности электромагнитным помехам. Поэтому я обратился к знакомому электронщику и изучил литературу (+красивейший курс Murata). Все пины у ESP и Attiny подтянуты к питанию или GND. Установлены конденсаторы по питанию. «Грязная» земля счётчиков подключена к «чистой» через резистор 300 ом, а сами выходы через резистор 3к3. Всем бы так!

Корпус

Берем пластиковую бутылку… шутка. Я использовал отсек на 4 батарейки АА. В крышке вырезается дырка под разъем, сбоку для светодиода и кнопки.

Можно распаячную коробку использовать (с 3D-принтером и прочим шаманизмом экспериментируйте сами, если ннннада).

В github лежит однослойная плата для ЛУТа и двухслойная для фабричного производства. Вотериус может изготовить даже школьник! Правда, если он не имеет гироскутера и никогда не крутил спиннер.

Идеальная плата сразу не получается. Первый прототип выглядел так:

А вот постройневшая четвертая версия, почти «идеальна»:

Я не смог устоять и заказал пачку плат в Резоните. Это кайф!

Питание

В Вотериусе стоит стабилизатор MCP1700 на 3В с очень низким минимальным потреблением (несколько мкА). Три алкалиновые батарейки АА 1.5В смогут разрядиться почти полностью до 3.2 В. Плюс на Attiny85 будет стабильное напряжение (и меньше плавать частота, что есть гуд, хотя в этом проекте не принципиально).

Схема будет работать и без стабилизатора от двух батареек АА. Attiny85 следует купить версии V (питание до 1.8В). ESP работала «в интернетах» до 2.5В. Мы сможет воспользоваться 40% ёмкости батареек (не верите — см. тестирование А. Надежина). Если купить две литиевые батарейки АА 1.5В 3 А*ч, Вотериус будет работать до 10 лет и при низкой температуре, а там — глядишь — и коммунизм построим.

Отсутствие инструментов не позволяет мне точно измерить потребление Вотериуса. Дома он работает уже 45 дней, отправляя показания каждые 30 мин (для ускорения разряда). Напряжение питания упало на 0.17В с 4.68В до 4.51В (UPD: 100 дней 4.38В, UPD2: 313 дней 3.9В). Если так пойдет дальше, то батареек хватит на 1.5 года. Отправка показаний раз в сутки в 3 раза экономичнее, поэтому 4 года работы. Да, я знаю про саморазряд батареек. Даташит energizer и срок годности на упаковках говорят, что не сильно.

Вот расчет потребления батареек и стоимость компонентов для самых любопытных (гуглтаблица).

Программистские подробности (для тех, кто не устал)

3л), и ток будет утекать через подтягивающие резисторы. Потребуется защита от дребезга контактов: микросхема или задержка в коде. Я реализовал периодический опрос каждые 250мс и инкрементирую (красивое слово, правда?) значение только при повторном замыкании. Ничего не надо паять, хотя если очень хочется, то можно.

Для защиты от перезагрузки Attiny я сохраняю все значения в ее память EEPROM. Для превышения ограничения в 100к записей я написал кольцевой буфер с кольцевой меткой текущей ячейки. Теперь сплю спокойно, чего и вам желаю. В коде предусмотрено включение логирования для отладки. Подключите TTL-USB в разъём второго счётчика.

Экспорт данных

Сначала я написал Телеграм бота, но Роскомнадзор заблокировал Телеграм. Пришлось отказаться от этого решения, чтобы не запускать прокси-сервер и не раскачивать лодку. Использование Blynk оказалось оптимальным (бесстрашные разработчики борются с блокировками). Вот QR код проекта. Кроме него приложение для телефона есть у проекта Cayenne.

Автоматическая отправка в Мосводоканал не реализована, т.к. проект некоммерческий, но какие наши годы. Или ваши. У меня нет средств содержать свой сервер и «узаконивать» процедуру отправки, но вы поспрашивайте по знакомым, вдруг… Буду рад вашей помощи и бесплатным мыслям.

Москвичи отправляют показания по СМС, значит, достаточно веб-сервера для приема данных Вотериуса и страницы с СМС (github). Московским знатокам программы Fiddler, кто пользуется приложением Госуслуги Москвы, должен быть интересен мой Python скрипт отправки показаний воды.

Развитие

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

Путь к перфекционизму лежит через

  • Обновление прошивки ESP и Attiny через интернет
  • UPD2: поддержку HTTPS или шифрования
  • сервер, где пользователь мог бы загрузить свой скрипт для отправки показаний воды.
  • использование STM8L/MSP430 (они экономичнее и больше пинов)
  • UPD2: наглядную проверку наличия контакта со счетчиками при подключении
  • указание периода отправки эл. письма
  • UPD2: поддержку выходов «намур» у счетчика
  • датчик протечки (UPD2: на reset сделали)
  • управление кранами
  • поддержку электросчетчиков

Благодарности

Спасибо Ивану Коваленко и Иван Ганжа за консультации по электротехнике, Айгуль, Лапину Е.Н. за правильный подход к жизни и папе за то, что я умею не только программировать, но и паять, а вам — за внимание!

Буду рад любым предложениям, пул реквестам и критике!

UPD2 07.05.2019: Спасибо всем, кто помогает с проектом!

Источник

Универсальная система удаленного сбора данных со счетчиков

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

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

  1. получение данных от приборов учета (роль считывателя);
  2. передача данных заинтересованным сторонам (роль передатчика).

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

Канал прибор учета — считыватель определяется конструкцией счетчика:

Тип прибора учета (счетчика) Тип канала Примечание
Без импульсного и интерфейсного выходов, без оптического порта Оптический с целью получения изображения Полученные данные используются для распознавания
С оптическим портом Оптический с целью получения данных
С импульсным или интерфейсным (CAN,RS485,RS422,RS232) Проводной с целью получения данных
С интегрированным считывателем Скрытый У машины осталась только роль передатчика

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

Канал передатчик — получатель данных имеет сложную структуру и может состоять из подканалов различного вида. Обычно их три: первый подканал может иметь различный тип [1]- проводной (PLC,xDSL,RSxxx) или беспроводной (LPWAN(ZigBee,LoRa, Стриж) Bluetooth, WiFi), второй — GSM/GPRS или интернет, третий — интернет. Границей между первым и вторым подканалами обычно является концентратор или УСПД, а между вторым и третьим — сервер обработки данных. В качестве иллюстрации можно привести решение компании «Стриж» [2]:

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

  1. Большое разнообразие приборов учета в эксплуатации, в том числе наличие счетчиков не имеющих никаких интерфейсов. Это требует соответствующего разнообразия считывателей. Основным трендом решения указанной проблемы является замена счетчиков.
    На Западе идет уже второй круг замен счетчиков, на первом устанавливались счетчики с импульсным выходом (поколение AMR), на втором — счетчики с интегрированными считывателями и устройствами отключения (поколение AMI). В нашей стране пока все проекты носят пилотный характер, а Госреестр СИ содержит счетчики всех типов.
  2. Имеющаяся инфраструктура позволяет широко использовать для первого подканала только GSM и PLC типы каналов, которые ограниченно используется из-за достаточно высокой цены передатчиков (модемов), а PLC к тому же может быть применен только для электрических счетчиков. Более дешевые передатчики LPWAN требуют развертывания соответствующей инфраструктуры.
  3. Получателями данных являются поставщики различных ресурсов или управляющие компании. Однако, в отличие от Запада, владельцами инфраструктуры часто являются совсем другие компании (интеграторы, операторы). Из-за отсутствия стандартов смена такой компании приводит к проблемам в работе системы. К тому же поставщики различных ресурсов действуют независимо и несогласованно, что еще больше усложняет внедрение комплексной системы.
  4. Конечные потребители начнут ощущать преимущества от автоматизации только после ее окончательного внедрения и доступа в личный кабинет. А на примере установки счетчиков с импульсным выходом видно, что ждать этого момента можно годами. Это приводит к их незаинтересованности, поэтому процесс внедрения происходит «сверху» — со стороны компаний.
    К счастью, развитие технологий и широкое распространение интернета позволяет решить все рассмотренные проблемы.

1. Оптическое распознавание показаний счетчика

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

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

С развитием мощности мобильных устройств стало возможным перенести распознавание на эти устройство. Дополнительную привлекательность такому решению придает возможность объединения двух процессов — получения фото и его распознавание на одном устройстве. Наиболее известными и популярными решениями являются разработки компаний Pixometer [4] и Anyline [5].

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

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

Для распознавания фотографий счетчиков используются удаленные серверы.

Наиболее эффективным и удобным является решение, когда и получение изображения со счетчика и его распознавание производятся на устройстве (оптическом считывателе), закрепленном на счетчике. К таким относятся решения компании Xemtec [10]

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

Мы также разрабатываем устройство для считывания показаний счетчика, работающее в режиме plug&play, но обладающее приемлемой ценой (до $30). За счет использования новой оригинальной технологии распознавания наш считыватель может работать, также как продукт Anyline, с любыми типами счетчиков.

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

2. Универсальная инфраструктура

Согласно последним исследованиям интернет-аудитория в России достигла 87,7 млн. чел. (71% населения, а среди молодежной аудитории — 98%). РАЭК предсказывает, что к 2020 году доступ в интернет в РФ будут иметь до 85% россиян [13]. Такие цифры означают, что уже сегодня практически в каждом домохозяйстве есть доступ к интернету. Для внедрения систем удаленного сбора данных это означает возможность изменения структуры канала передатчик — получатель данных. Теперь этот канал будет содержать только два подканала: первый — RF канал, второй — интернет канал. Разделяет подканалы концентратор, который собирает данные только от небольшого числа счетчиков одного домохозяйства и передает эти данные непосредственно поставщикам ресурсов, управляющим компаниям и т.д.

Такая инфраструктура в сочетании с оптическими считывателями позволяет решить все проблемы описанные выше.

  1. Разнообразие приборов учета не имеет никакого значения, так как для определения показаний используется табло, которым обладают все счетчики. Необходимый для этого оптический считыватель обладает низкой ценой, прост в установке и не требует никаких настроек.
  2. Для первого подканала используются очень дешевые маломощные передатчики с радиусом действия до 50 м (такого же типа как в обычных радиопультах). Для второго подканала — интернет. Функции концентратора:
    • По заданному при настройках расписанию посылает команду соответствующему считывателю, получает показание счетчика и сохраняет его. Такая же процедура (опрос счетчика) возможна по команде в произвольный момент времени.
    • По заданному расписанию (может не совпадать с расписанием опроса) и адресам осуществляет отправку показаний счетчиков на сервера получателей данных.
    • Получает команды от сервера поставщика ресурсов.
    • Имеет WEB интерфейс для работы с пользователями (владельцами приборов учета).

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

3. Домашний концентратор — центр умного дома

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

  1. Получать от пользователя и хранить сведения об оплате за ресурсы.
  2. Получать от поставщика ресурсов/управляющей компании и хранить сведения платежах, поступивших от пользователя.
  3. Определять сумму платежа за ресурс на день оплаты.
  4. Напоминать пользователю об оплате с указанием суммы платежа или самостоятельно осуществлять оплату по разрешению пользователя.
  5. Подключать модули для связи по различным протоколам ( Bluetooth, Z-Wave, ZigBee, Wi-Fi. ).

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

Источник

Оцените статью