https://github.com/latonita/esphome-ce2727a-meter/
Компонент предполагает использование ESP8266 или ESP32 с RS-485 трансивером.
Подключение счетчика к трансиверу по одной витой паре.
Подключение микроконтроллера к трансиверу трехпроводное:
RO
- прием,
DI
- передача,
DE + R̅E̅
- контроль линии для передачи данных.
Я в 2018 сделал свою плату на базе ESP8266 и MAX3485 под стандартную распаечную коробку из магазина, но подходит и любой китайский модуль RS458<->TTL.
+-------+ +-------------+ +----------------+
| | | | | |
| MCU | RX <----------< RO | RS485<->TTL | A <------> A | Электросчетчик |
| | ,-> R̅E̅ | | | |
| ESPxx | FLOW >-----+ | module | B <------> B | ЦЭ2726А |
| | `-> DE | | | ЦЭ2727А |
| | TX >----------> DI | | | |
+-------+ +-------------+ +----------------+
Принципиальная схема простейшей обвязки для ESP8266 и MAX3485 указана ниже.
-
UART0 использовать нельзя - ESPHOME его использует для логирования.
-
Для esp8266 в ESPHOME используется SoftwareSerial и можно использовать любые пины для RX/TX.
-
Для ESP32 нужно использовать UART2: RX=16, TX=17.
-
Параметры подключения к счетчику: 9600 8E1.
-
Компонент расчитан на работу с одним электросчетчиком и использует широковещательные пакеты. Если на одной линии подключено больше одного счетчика - необходимо в yaml файле указать сетевой адрес счетчика. Сетевой адрес по-умолчанию совпадает с заводским номером (указан на фронтальной панели счетчика и не включает год выпуска).
ce2727a:
address: 4560123
- Примеры конфигураций в файлах
example.ce2727-8266.yaml
иexample.ce2727-32.yaml
. Секреты - из вашего стандартного файлаsecrets.yaml
.
Компонент получает базовые данные со счетчика: