Бюджет: 20000 UAH Термін: 30 днів
Доброго дня, якщо маєте всю документацію з набором команд то готовий виконати ваше завдання
Breadboard
ESP32-S3-ETH
RS-485 TTL-модулі HW-519 — 4 шт.
Мультиплексори: HW-178 або CJMCU-4051
M-Bus master to TTL converter
DC-DC перетворювач 24V → 5V
Блок живлення 24V 3A
Температурний датчик XY-MD02
2 лічильника води з M-Bus накладками
Лічильник тепла Sharky 775 з М-Bus модулем
Лічильники NIK:
NIK 2100 AP6T.2200.MC.11
NIK 2307 0.5s ART T.1620.MC.22
Документація виробника по протоколу RS-485 (по роботі з лічильником)
Контролер: ESP32-S3-ETH
Доступні UART: 3 апаратні UART
Конвертери:
5 x RS485-TTL (HW-519 або сумісні)
1 x M-Bus-TTL Master
Мультиплексор: HW-178 або CJMCU-4051
Додаткові модулі: DC-DC, температурні/екологічні датчики
Один UART (UART1 або інший доступний) ESP32 використовується для зчитування з 6 каналів через мультиплексор.
Мультиплексор комутує доступ до одного з 6 конвертерів у будь-який момент часу.
Логіка комутації мультиплексора реалізована через 3 GPIO (S0, S1, S2).
Сканування пристроїв на M-Bus: визначення активних адрес
Опитування кожного M-Bus пристрою за унікальною адресою (ідентифікатором)
Збір і парсинг значення споживання або іншого показника
Сканування кожного з 5 каналів RS-485 на наявність пристроїв (може бути реалізовано через цикл опитування відомих адрес або протоколів NIK)
Опитування кожного пристрою на каналі (адреса, модель)
Підтримка запитів для NIK 2100 та NIK 2307 (деталі в примітках)
Усі результати мають бути структуровані у форматі JSON, наприклад :
{
"data": [
{
"device": "NIK 2100 AP6T.2200.MC.11",
"id": "1234567890",
"type": "rs485-1",
"value": "128.45",
"timestamp": "2025-05-05T12:34:56"
}
// ...інші пристрої
]
}
Остаточний формат визначимо при співпраці
Вихідний файл у форматі .ino для Arduino framework (для PlatformIO або Arduino IDE)
Реалізувати цикл опитування:
Час між циклами — налаштовуваний (наприклад, раз на 5 хвилин)
Зберігання JSON-результатів у RAM (виведення через Serial, UART або Ethernet)
Часові мітки — за RTC або NTP (за потреби)
Готовий і протестований файл прошивки .ino, який:
опитує всі 6 каналів (M-Bus та RS485-1…5)
формує валідний JSON із даними з пристроїв
виводить JSON через Serial
2. Документація до прошивки
Примітки:
Доповнення щодо роботи з RS-485 для лічильників NIK:
Лічильники NIK 2100 AP6T.2200.MC.11 та NIK 2307 0.5s ART T.1620.MC.22 використовують протокол на основі стандартів IEC 62056-46, -53, -61, -62, що передбачає використання HDLC кадрування та COSEM/DLMS структури даних.
Комунікація з лічильником включає етапи:
Ініціалізація з’єднання (надсилання SNRM фрейму та отримання відповіді UA).
Авторизація через AARQ пакет із вказанням паролю (користувач, оператор або адміністратор).
Обробка AARE-відповіді для перевірки авторизації.
Після авторизації — обмін GET-запитами з використанням OBIS-кодів для зчитування показників.
Завершення сесії DISC-пакетом.
Для авторизації використовується 16-байтовий пароль, що передається у полі AARQ. Тип доступу (user/operator/admin) задається в ID користувача.
У разі 5 невдалих спроб авторизації з одним ID — доступ блокується на 30 хв.
Усі пакети обгортаються в HDLC-структуру з контрольними сумами (FCS), що обчислюються за 16-бітним CRC (алгоритм у доданій документації).
Адресація лічильника здійснюється у форматі HDLC та базується на серійному номері (алгоритм конвертації також надано в документації).
Враховувати, що не всі лічильники можуть відповідати на сканування адрес — у такому випадку можливе опитування по відомому списку серійних номерів.
Бюджет: 20000 UAH Термін: 30 днів
Доброго дня, якщо маєте всю документацію з набором команд то готовий виконати ваше завдання
это на ПК даже будет довольно сложно реализовать, а вы хотите на ЕСП32 что бы фрилансер сделал
нанимайте команду какуюто или фирму
Добрый день!
Для этого проекта ESP 32 будет явно слабовата для стандарта DLMS/COSEM запроса. Если взять RPI можно продолжить разговор...