Czytnik wieloprotocolowy dla ESP32-S3-ETH z obsługą RS-485 i M-Bus
Dostarczone przez zamawiającego:
Breadboard
ESP32-S3-ETH
RS-485 TTL-moduły HW-519 — 4 szt.
Multipleksory: HW-178 lub CJMCU-4051
M-Bus master do konwertera TTL
Przetwornik DC-DC 24V → 5V
Zasilacz 24V 3A
Czujnik temperatury XY-MD02
2 liczniki wody z nakładkami M-Bus
Licznik ciepła Sharky 775 z modułem M-Bus
Liczniki NIK:
NIK 2100 AP6T.2200.MC.11
NIK 2307 0.5s ART T.1620.MC.22
Dokumentacja producenta dotycząca protokołu RS-485 (dotycząca pracy z licznikiem)
1. Platforma sprzętowa:
Kontroler: ESP32-S3-ETH
Dostępne UART: 3 sprzętowe UART
Konwertery:
5 x RS485-TTL (HW-519 lub kompatybilne)
1 x M-Bus-TTL Master
Multipleksor: HW-178 lub CJMCU-4051
Dodatkowe moduły: DC-DC, czujniki temperatury/środowiskowe
2. Podłączenie:
Jeden UART (UART1 lub inny dostępny) ESP32 służy do odczytu z 6 kanałów przez multipleksor.
Multipleksor przełącza dostęp do jednego z 6 konwerterów w dowolnym momencie.
Logika przełączania multipleksora realizowana jest przez 3 GPIO (S0, S1, S2).
3. Główne funkcje firmware:
3.1. M-Bus (1 kanał)
Skanowanie urządzeń na M-Bus: wykrywanie aktywnych adresów
Pobieranie danych od każdego urządzenia M-Bus po unikalnym adresie (identyfikatorze)
Zbieranie i parsowanie wartości zużycia lub innych wskaźników
3.2. RS-485 (5 kanałów)
Skanowanie każdego z 5 kanałów RS-485 pod kątem obecności urządzeń (może być realizowane przez cykl zapytań znanych adresów lub protokołów NIK)
Pobieranie danych od każdego urządzenia na kanale (adres, model)
Wsparcie zapytań dla NIK 2100 i NIK 2307 (szczegóły w notatkach)
3.3. Tworzenie danych wyjściowych
Wszystkie wyniki mają być uporządkowane w formacie JSON, na przykład :
{
"data": [
{
"device": "NIK 2100 AP6T.2200.MC.11",
"id": "1234567890",
"type": "rs485-1",
"value": "128.45",
"timestamp": "2025-05-05T12:34:56"
}
// ...inne urządzenia
]
}
Ostateczny format zostanie ustalony podczas współpracy
4. Wymagania dotyczące firmware:
Plik wyjściowy w formacie .ino dla frameworka Arduino (dla PlatformIO lub Arduino IDE)
Implementacja cyklu zapytań:
Czas między cyklami — konfigurowalny (np. raz na 5 minut)
Przechowywanie wyników JSON w RAM (wyświetlanie przez Serial, UART lub Ethernet)
Znaczniki czasu — za RTC lub NTP (w razie potrzeby)
5. Wynik rozwoju:
Gotowy i przetestowany plik firmware .ino, który:
odpowiada za odczyt wszystkich 6 kanałów (M-Bus i RS485-1…5)
tworzy poprawny JSON z danymi z urządzeń
wyświetla JSON przez Serial
2. Dokumentacja do firmware
Uwagi:
Dodatki dotyczące pracy z RS-485 dla liczników NIK:
Liczniki NIK 2100 AP6T.2200.MC.11 oraz NIK 2307 0.5s ART T.1620.MC.22 korzystają z protokołu opartego na standardach IEC 62056-46, -53, -61, -62, który przewiduje użycie HDLC kodowania i struktury danych COSEM/DLMS.
Komunikacja z licznikiem obejmuje etapy:
Inicjalizacja połączenia (wysłanie ramki SNRM i otrzymanie odpowiedzi UA).
Autoryzacja przez pakiet AARQ z podaniem hasła (użytkownik, operator lub administrator).
Przetwarzanie odpowiedzi AARE w celu weryfikacji autoryzacji.
Po autoryzacji — wymiana zapytań GET z użyciem kodów OBIS do odczytu wskaźników.
Zakończenie sesji pakietem DISC.
Do autoryzacji używany jest 16-bajtowy hasło przesyłany w polu AARQ. Typ dostępu (user/operator/admin) jest ustawiany w ID użytkownika.
W przypadku 5 nieudanych prób autoryzacji z tym samym ID — dostęp jest blokowany na 30 minut.
Wszystkie pakiety są opakowane w strukturę HDLC z sumami kontrolnymi (FCS), obliczanymi na podstawie 16-bitowego CRC (algorytm w dołączonej dokumentacji).
Adresowanie licznika odbywa się w formacie HDLC i opiera na numerze seryjnym (konwersja również dostępna w dokumentacji).
Należy pamiętać, że nie wszystkie liczniki mogą odpowiadać na skanowanie adresów — w takim przypadku można próbować odpytywać po znanym spisie numerów seryjnych.
-
282 1 0 Dzień dobry, jeśli masz całą dokumentację z zestawem poleceń, to jestem gotowy wykonać Twoje zadanie
-
это на ПК даже будет довольно сложно реализовать, а вы хотите на ЕСП32 что бы фрилансер сделал
нанимайте команду какуюто или фирму
-
Добрый день!
Для этого проекта ESP 32 будет явно слабовата для стандарта DLMS/COSEM запроса. Если взять RPI можно продолжить разговор...
-
Aktualne zlecenia dla freelancerów w kategorii C i C++
Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna… C i C++, Aplikacje desktopowe ∙ 4 dni 7 godzin temu ∙ 5 ofert |
Opracowanie mapy nasion Minecraft Java / przeglądarki nasion dla strony internetowejOpracowanie mapy nasion Minecraft Java / Podgląd nasion dla strony internetowejOpis projektu Potrzebne jest opracowanie narzędzia opartego na przeglądarce Mapa nasion Minecraft Java / Podgląd nasion, które będzie działać na naszej stronie i pozwoli użytkownikowi wprowadzić… C i C++, Układ HTML i CSS ∙ 4 dni 13 godzin temu ∙ 14 ofert |
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x)
83 PLN
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x) na identycznej platformie sprzętowej (ESP32 + SX1268, 2W) według kryteriów zasięgu, przepustowości, stabilności łącza i zużycia energii. Przeprowadzić… C i C++, C# ∙ 8 dni 20 godzin temu ∙ 2 oferty |
Konsultacja i audyt bieżącego projektu na Odoo 19 Community EditionSzukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w pracy z Odoo 19 Community Edition, w tym z wykorzystaniem Claude Code. Potrzebujemy specjalisty, który ma zrealizowane projekty w Odoo oraz praktyczne doświadczenie w programowaniu z użyciem Claude Code.… C i C++, Javascript & Typescript ∙ 11 dni 22 godziny temu ∙ 8 ofert |
Rozwój oprogramowania dla Arduino (moduły RF 3–7,5 GHz, automatyczne skanowanie częstotliwości)Należy opracować system na Arduino do automatycznego wyszukiwania aktywnego analogowego sygnału wideo oraz automatycznego dostosowywania nadajnika do wykrytej częstotliwości.Planowane jest wykorzystanie trzech oddzielnych modułów odbiorczo-nadajnych: 3000–4200 MHz; 4900–6000… C i C++, Systemy wbudowane i mikrokontrolery ∙ 12 dni 22 godziny temu ∙ 5 ofert |