Сразу скажу, все шаги повторять не нужно. Можно сразу перейти к схеме и проекту :)
Несколько лет назад Мосэнергосбыт устновил у меня в квартире новый электросчетчик "КАСКАД-1-МТ-W1-A1-230-5-60A-S-OV3".
Из внешних интерфейсов у этого счетчика есть только оптопорт.
С чего начать? Для начала нужен оптопорт (забегая вперед, могу сказать, что ничего сложного в нем нет). Заводские устройства стоят неадекватно дорого, а самоделок практически нет. Нашел более-менее разумное решение - VR-005. Не буду приводить ссылок, он легко ищется в поисковике. Но были сомнения. А заработает ли с "Каскад"ом, так как все описание от VR-005 заточено на электросчетчики "Меркурий". Заработал.
Скачиваем и устанавливает программу, которую рекомендует производитель - MeterTools
Цепляем VR-005 на окошко оптопорта счетчика, магнит хороший, держит уверенно.
Вводим адрес счетчика, который он показывает на дислее, соединяемся.
Все, программма от производителя может читать данные со счетчика через оптопорт.
Дальше нужно понять, по какому протоколу они обмениваются. Информации не просто мало, ее практически нет. По документам, которые предоставяет OAO "Каскад", там - ГОСТ Р МЭК 61107-2001. Но дьявол кроется в деталях. Из этого ГОСТа верно только описание головки оптопорта. А вот протокол, который описан в этом ГОСТе, к "КАСКАД"у не подходит от слова совсем.
В общем, нашел пару ссылок, где обсуждается протокол МИРТЕК, но самого протола в открытом доступе нет.
https://snickser.livejournal.com/12184.html
https://www.radiokot.ru/forum/viewtopic.php?f=25&t=171991&sid=039243297acb0ce1b677287ae40e41c2
Ну, Wireshark нам в помощь. С помощью снифера удалось посмотреть, что программа MeterTools посылает в счетчик и что счетчик отвечает. В результате, можно узнать информацию по 4 тарифам, силу тока, напряжение сети и потебляемую мощность.
И так, что мы знаем и умеем. Знаем часть протокола (этой части достаточно для мониторинга) и уже умеем им пользоваться.
Остается найти схему оптопорта, проверить. И если все заработает, то соединять с каким-нибудь микроконтроллером с Wi-Fi или Bluetooth для удаленной передачи.
В общем нашел более-менее две схемы.
Остановился на второй, потому что у chipdip было все в наличие.
Спаял макетку. Соединил с адаптером USB-UART FTDI232. С оригинальной программой MeterTools все прекрасно заработало.
В общем осталось выбрать MCU. Выбор пал на миниатюрный модуль от Ai-Thinker TB-04
А куда мы это будем передавать? А в Home Assistant. Там для этого все готово.
Схема устройства:
Проект для самостоятельной сборки и настройки.