Задача
Energomera CE301 часто подключают к Wiren Board “как обычный счётчик”: получают общий расход и, в лучшем случае, пару базовых значений. Но архитектура wb-mqtt-serial позволяет раскрыть CE301 почти до уровня анализатора сети: напряжения/токи по фазам, мощность по фазам, PF, частота и углы.
Что такое wb-mqtt-serial
wb-mqtt-serial — основной драйвер Wiren Board для последовательных устройств (RS-485/Modbus/IEC и т. д.). По сути это мост Serial ⇄ MQTT: устройства описываются JSON-шаблонами, и вы можете расширять их без переписывания драйвера.
Подключение Энергомера CE301 по RS-485
1) Выбор интерфейса
- RS-485 — рекомендуемый вариант для постоянной интеграции с Wiren Board.
- Оптопорт — обычно используют для разовых операций/настройки.
2) Распиновка клемм RS-485 (CE301)
| Клемма | Назначение | Комментарий |
|---|---|---|
12 | A | линия данных A (Data+) |
13 | B | линия данных B (Data−) |
14 | Vcc | питание интерфейса RS-485 (5–12 В), часто требуется для обмена |
15 | GND | общий провод (земля) |
3) Схема подключения
Ниже — обновлённая схема подключения: питание Wiren Board и RS-485 интерфейса счётчика разведены через отдельные блоки питания; для интерфейса CE301 нужен отдельный источник 5–12 В, а линии A/B и GND показаны отдельными трассами.
4) Практические нюансы RS-485
- Полярность: перепутали A/B — счётчик не отвечает.
- Экран: подключайте экран только с одной стороны (обычно со стороны Wiren Board к GND).
- Терминация 120 Ω: нужна при длинной линии (условно 10+ м) или при нескольких устройствах на шине.
- Кабель: экранированная витая пара Cat5e/Cat6; общая длина RS-485 до ~1200 м (зависит от среды и топологии).
Параметры порта и адрес
| Параметр | Значение |
|---|---|
| Скорость | 9600 |
| Parity | Even |
| Data bits | 7 |
| Stop bits | 1 |
Slave ID для CE301/CE303 — последние 9 цифр серийного номера. Пример: 8842104233 → 842104233.
Добавление устройства в Wiren Board
Settings → Configs → Serial Device Driver Configuration
- Выберите нужный RS-485 порт и включите Enable Port.
- Добавьте устройство (шаблон Energomera CE301/CE303 или кастомный JSON).
- Укажите Slave ID.
- Сохраните и перезапустите драйвер.
Полный кастомный JSON-шаблон
Ниже — пример расширенного шаблона, который добавляет показатели “как у анализатора сети”.
{
"device_type": "Energomera CE301/CE303",
"title": "Energomera CE301",
"group": "g-power-meter",
"device": {
"name": "Energomera CE301",
"id": "energomera301",
"protocol": "energomera_iec",
"frame_timeout_ms": 1500,
"response_timeout_ms": 1500,
"channels": [
{ "name": "Total All", "reg_type": "group_single", "type": "power_consumption", "address": "0x100101" },
{ "name": "DAY", "reg_type": "group_single", "type": "power_consumption", "address": "0x100102" },
{ "name": "NIGHT", "reg_type": "group_single", "type": "power_consumption", "address": "0x100103" },
{ "name": "Total P", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400304" },
{ "name": "P L1", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400301" },
{ "name": "P L2", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400302" },
{ "name": "P L3", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400303" },
{ "name": "Urms L1", "reg_type": "group_single", "type": "voltage", "address": "0x400101" },
{ "name": "Urms L2", "reg_type": "group_single", "type": "voltage", "address": "0x400102" },
{ "name": "Urms L3", "reg_type": "group_single", "type": "voltage", "address": "0x400103" },
{ "name": "Irms L1", "reg_type": "group_single", "type": "current", "address": "0x400201" },
{ "name": "Irms L2", "reg_type": "group_single", "type": "current", "address": "0x400202" },
{ "name": "Irms L3", "reg_type": "group_single", "type": "current", "address": "0x400203" },
{ "name": "Frequency", "reg_type": "group_single", "type": "value", "address": "0x400D01" },
{ "name": "Voltage angle L1-L2", "reg_type": "group_single", "type": "value", "address": "0x400B01" },
{ "name": "Voltage angle L2-L3", "reg_type": "group_single", "type": "value", "address": "0x400B02" },
{ "name": "Voltage angle L3-L1", "reg_type": "group_single", "type": "value", "address": "0x400B03" },
{ "name": "PF L1", "reg_type": "group_single", "type": "value", "address": "0x400701" },
{ "name": "PF L2", "reg_type": "group_single", "type": "value", "address": "0x400702" },
{ "name": "PF L3", "reg_type": "group_single", "type": "value", "address": "0x400703" },
{ "name": "Total PF", "reg_type": "group_single", "type": "value", "address": "0x400704" },
{ "name": "Serial", "reg_type": "group_single", "type": "value", "address": "0x500301" }
]
}
}
Как это выглядит в Wiren Board
После расширения шаблона устройство перестаёт быть просто “счётчиком кВт·ч” и становится похожим на компактный анализатор сети: видны энергия, мощность, напряжения, токи, частота, углы и коэффициент мощности.
Что получилось в итоге
- Учёт: общая энергия + тарифы (день/ночь).
- Анализ по фазам: мощность, напряжение, ток на L1/L2/L3.
- Качество питания: частота, PF и углы фаз.