Мультипротокольний зчитувач для ESP32-S3-ETH з підтримкою RS-485 та M-Bus
20 000 UAHНадається замовником:
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 (по роботі з лічильником)
1. Апаратна платформа:
Контролер: ESP32-S3-ETH
Доступні UART: 3 апаратні UART
Конвертери:
5 x RS485-TTL (HW-519 або сумісні)
1 x M-Bus-TTL Master
Мультиплексор: HW-178 або CJMCU-4051
Додаткові модулі: DC-DC, температурні/екологічні датчики
2. Підключення:
Один UART (UART1 або інший доступний) ESP32 використовується для зчитування з 6 каналів через мультиплексор.
Мультиплексор комутує доступ до одного з 6 конвертерів у будь-який момент часу.
Логіка комутації мультиплексора реалізована через 3 GPIO (S0, S1, S2).
3. Основний функціонал прошивки:
3.1. M-Bus (1 канал)
Сканування пристроїв на M-Bus: визначення активних адрес
Опитування кожного M-Bus пристрою за унікальною адресою (ідентифікатором)
Збір і парсинг значення споживання або іншого показника
3.2. RS-485 (5 каналів)
Сканування кожного з 5 каналів RS-485 на наявність пристроїв (може бути реалізовано через цикл опитування відомих адрес або протоколів NIK)
Опитування кожного пристрою на каналі (адреса, модель)
Підтримка запитів для NIK 2100 та NIK 2307 (деталі в примітках)
3.3. Формування вихідних даних
Усі результати мають бути структуровані у форматі JSON, наприклад :
{
"data": [
{
"device": "NIK 2100 AP6T.2200.MC.11",
"id": "1234567890",
"type": "rs485-1",
"value": "128.45",
"timestamp": "2025-05-05T12:34:56"
}
// ...інші пристрої
]
}
Остаточний формат визначимо при співпраці
4. Вимоги до прошивки:
Вихідний файл у форматі .ino для Arduino framework (для PlatformIO або Arduino IDE)
Реалізувати цикл опитування:
Час між циклами — налаштовуваний (наприклад, раз на 5 хвилин)
Зберігання JSON-результатів у RAM (виведення через Serial, UART або Ethernet)
Часові мітки — за RTC або NTP (за потреби)
5. Результат розробки:
Готовий і протестований файл прошивки .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 та базується на серійному номері (алгоритм конвертації також надано в документації).
Враховувати, що не всі лічильники можуть відповідати на сканування адрес — у такому випадку можливе опитування по відомому списку серійних номерів.
-
282 1 0 Доброго дня, якщо маєте всю документацію з набором команд то готовий виконати ваше завдання
-
это на ПК даже будет довольно сложно реализовать, а вы хотите на ЕСП32 что бы фрилансер сделал
нанимайте команду какуюто или фирму
-
Добрый день!
Для этого проекта ESP 32 будет явно слабовата для стандарта DLMS/COSEM запроса. Если взять RPI можно продолжить разговор...
-
Актуальні фриланс-проєкти в категорії C та C++
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 6 днів 4 години тому ∙ 6 ставок |
Розробка Minecraft Java Seed Map / Seed Viewer для сайтуРозробка Minecraft Java Seed Map / Seed Viewer для сайтуОпис проєкту Потрібно розробити browser-based інструментMinecraft Java Seed Map / Seed Viewer, який буде працювати на нашому сайті та дозволятиме користувачу ввести seed Minecraft Java Edition і переглянути інтерактивну… C та C++, HTML та CSS верстання ∙ 6 днів 11 годин тому ∙ 15 ставок |
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x)
1000 UAH
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x) на ідентичній апаратній платформі (ESP32 + SX1268, 2W) за критеріями дальності, пропускної спроможності, стабільності лінка та енергоспоживання. Провести тести з вимірюваннями з… C та C++, C# ∙ 10 днів 18 годин тому ∙ 2 ставки |
Консультація та аудит поточного проєкту на Odoo 19 Community EditionШукаємо Odoo Developer — соло-розробника з досвідом розробки на Odoo 19 Community Edition, у тому числі за допомогою Claude Code. Нам потрібен спеціаліст, який має успішно реалізовані проєкти в Odoo та практичний досвід розробки з використанням Claude Code. Важливо: розглядаємо… C та C++, Javascript та Typescript ∙ 13 днів 20 годин тому ∙ 8 ставок |