Приобрел я себе в квартиру электросчетчик энергомера се102м с целью интеграции с MD при помощи модуля энергомера, но как потом выяснилось, продавец мне впарил счетчик без интерфейса rs485 (одна буква в названии модели отличается), типа сам дурак у всех такие других в продаже нет. Пришлось оставить, благо хотя бы на нем есть оптопорт.
Как посже выяснилось считыватель оптопорта не смотря на простоту и дешевизну конструкции, стоит не адекватных денег в разы привыкающею стоимость счетчика, и стоит больше 3000 т р, и длина USB провода и ограничение USB интерфейса не позволяют протянуть его через всю квартиру чтобы подключить к серверу мд.
Схем рабочего оптопорта я в интернете не нашел, пробовал изобрести велосипед, не получилось. Через три года дошли руки, и осцилограф появился.
Нашел схему http://vad-7.blogspot.com/2017/02/Mercu ... -IrDA.html
Собрал, счетчик не читается, как выяснилось оптопрот и irda на счетчиках это разные не совместимые протоколы.
Попался в руки считыватель оптопорта заводского исполнения на пару часов для пробы, счетчик успешно прочитался программой admintolls http://www.energomera.ru/ru/support/download/meters
Внутри этот девайс не сложен и выглядит вот так. После анализа данной схемы, стало понятней в каком направлении двигаться.
Схема состоит из передающего ИК диода который через резистор напрямую подключен к микросхеме usb -uart конвертера ftdi232 а приемник реализован на фотодиоде и предположительно компараторе GT92.
На GT92 документации не нашел, может кто видел документацию на этот чип?
Очень похожая схема у датчика припядствия для ардуино https://aliexpress.ru/item/32813355026. ... b201603_53
Вот его схема Немного переделал этот датчик под считыватель, отпаял минус у передающего ИК диода и подключил его на вход TX . Отпаял конденсатор который стоит параллельно приемному ик диоду чтобы не искажал принимаемый сигнал иначе не работало, выход data подключил к входу rx платы ftdi232. Плату ftdi232 использую вот такую https://aliexpress.ru/item/32826575637. ... b201603_53
Для проверки работоспособности схемы запускаю программу putty выбираю СОМ порт выставляю скорость 9600, далее ставим на против ик приемо передающих диодов зеркало и переменным резисторов на плате добиваемся в putty стабильной передачи без искажений символов и текстов с клавиатуры.
Теперь можно пробовать подключиться к с счетчику энергомера се102м программой AdminTools и к счетчику Меркури1 236 программой с конфигурирования https://www.incotexcom.ru/support/soft
В моем случаю с меркурия боле мене стабильное считывания показаний происходит примерно в 3 см от счетчика, с энергомерой сложнее, стоит в щите и расстояние подобрать трудно, считывание проиходит три раза из десяти попыток.
Необходима дальнейшая доработка в плане стабильности конекта и удобства монтажа, например как то уменьшить рабочею зону считывания до такой как в заводских считывателей. Есть идеи как это сделать?
Дальнейшее развитие идеи это подключить считыватель к esp8266 и написать код чтобы esp считывала параметры напряжения мощность, текущие показания и т. и передавало их в мд по http запросу меняя свойства объекта.
вот лог обмена приложения admintools со счетчиком
Код: Выделить всё
Запрос
05.02.2020 22:15:14.810
2F 3F 21 0D 0A /?!..
Ответ
05.02.2020 22:15:15.028
7F 0F 6A 77 7C 2F 45 4B .jw|/EK
Ответ
05.02.2020 22:15:15.138
54 35 43 45 31 30 32 4D 76 30 31 0D 0A T5CE102Mv01..
Запрос
05.02.2020 22:15:15.153
06 30 35 31 0D 0A .051..
Ответ
05.02.2020 22:15:15.372
07 30 35 31 63 61 01 50 30 .051ca.P0
Ответ
05.02.2020 22:15:15.466
02 28 31 30 39 31 31 31 33 38 36 29 03 24 .(109111386).$
Запрос
05.02.2020 22:15:15.482
01 50 31 02 28 37 37 37 37 37 37 29 03 21 .P1.(777777).!
Ответ
05.02.2020 22:15:15.700
60 54 6C 30 6F 6A 60 64 06 `Tl0oj`d.
Запрос
05.02.2020 22:15:15.794
01 52 31 02 53 4E 55 4D 42 28 29 03 5E .R1.SNUMB().^
Ответ
05.02.2020 22:15:15.810
60 3A 7E 30 3E 7F 55 2D 0A 29 6D 58 `:~0>U-.)mX
Ответ
05.02.2020 22:15:16.075
02 53 4E 55 4D 42 28 30 31 30 35 31 30 31 30 39 .SNUMB(010384109
31 31 31 33 38 36 29 0D 0A 03 65 111665)...e
Запрос
05.02.2020 22:15:16.091
01 42 30 03 75 .B0.u