Умный дом. Продолжение: подключаем счётчик воды к 1С

Программирование - Практика программирования

Подключаем стандартный счётчик учета расхода воды к локальной сети по вай фай и работаем с ним из 1С

Стандартный счётчик учёта воды, который ставят в квартиры, имеет на выходе 2 провода, которые замкнуты, когда круг с последней цифрой счётчика показывает 0-3, и разомкнуты при значении 4-9. Нам нужно проверять сопротивление этих проводов и, когда их состояние будет меняться с разомкнутого на замкнутое, прибавлять 10 литров. Т.к. счётчики находятся в ванной, а не у компа или роутера, было решено использовать ESPDuino (ардуинка со встроенным вай фай модулем, купить можно на таобао за 200 рублей https://detail.tmall.com/item.htm?spm=a230r.1.14.176.76ecfeeYRypwO&id=535588732894&ns=1&abbucket=17).

Для хранения показаний будем использовать встроенную память контроллера, которая имеет ограниченный цикл перезаписи, но для домашних объёмов её надолго хватит (если предполагается очень большой расход воды, то можно немного изменить код, чтобы делать запись при каждых 100 или 1000 литрах).

Для управления контроллером будет отправлять ГЕТ запрос следующего вида:

"http://АдресКонтроллера/?a=ПараметрСКомандой&b=ПустойПараметр&c=ПарметрСДействием&d=КонтрольнаяСумма&dopArg=ПоказанияСчётчика"

Первые 4 параметра используются для совместимости с конфигурацией "УмныйДом". Параметр "a" всегда равен 106, параметр "b" всегда 0, параметр "c" равен 1, когда мы хотим установить текущее показания на контроллере и 2, когда хотим считать их, "dopArg" имеет смысл, когда c=1 в нём должно быть 10-значное число с показаниями (с лидирующими нулями).

Для работы с ним можно использовать приложенную обработку или конфигурацию УмныйДом, для управления из конфигурации нужно сделать запись в регистр сведений NET:

АдресПорт = АйпиАдрес;

Команда = 106;

Аргумент = 1 когда хотим установить показания, 2 - прочитать;

ДопАргументNET= 10 значное число с показаниями с лидирующими нулями ( например 0000003456)

остальные поля оставить пустыми.

При отправке команды 2, после её выполнения в поле ОтветДопАргументNET будут показания счётчика.

 
 Код ESPDuino

1. Ставим резистор на 10 КОм между 4 пином и питанием.

2. Провода подключаем к GND и 4 пину.

 
 Код 1С

Основная публикация //infostart.me/public/653542/

Скачать файлы

Наименование Файл Версия Размер
Умный дом. Продолжение.. подключаем счётчик воды к 1С.:
.epf 6,21Kb
06.12.17
1
.epf 6,21Kb 1 Скачать

См. также

Комментарии
1. Ivan Khorkov (vano-ekt) 1034 07.12.17 11:27 Сейчас в теме
установить показания говорите?
2. Stepan 21231312 (MSK_Step) 10 07.12.17 11:40 Сейчас в теме
Трубы гнилые, зато "автоматизация"))
3. Andrey BedaNastala (Lem0n) 60 07.12.17 11:46 Сейчас в теме
(2)
С гнилыми трубами - это к слесарям, а не к 1Снику
4. bulpi bulpi (bulpi) 118 07.12.17 12:49 Сейчас в теме
5. A M (DarkUser) 07.12.17 13:53 Сейчас в теме
Автоматизация :)

А вот, кстати, что реально было бы хорошо иметь, это систему оповещения если неожиданно сверху (или снизу, от вас) по стояку потекла вода.
6. Александр Закиров (sasha777666) 236 07.12.17 14:01 Сейчас в теме
Это можно сделать из конфигурации предыдущей публикации https://infostart.ru/public/653542/ . Подключаете датчик протечки к аналоговому пину и считываете показания с помощью К.analogRead(НомерCOMАдресПорт, НомерПина)
7. Илья Асламов (7fortune) 13.12.17 08:41 Сейчас в теме
можно на javascript web-морду собрать - красивее будет)
8. Илья Асламов (7fortune) 13.12.17 10:29 Сейчас в теме
9. Александр Закиров (sasha777666) 236 13.12.17 17:01 Сейчас в теме
(7) Согласен, присоединяйтесь ))
10. Sergey Andreev (starik-2005) 1224 13.12.17 19:16 Сейчас в теме
1С тут лишняя, но за упражнение однозначно "+".
Оставьте свое сообщение