Cześć, napisałem bibliotekę dla Modbus Slave RTU. Wiem, w internecie jest pełno takich bibliotek, ale uważam, że moja jest dla początkującego najbardziej przejrzysta i prosta do zastosowania. Dodatkowo zawiera minimalną ilość kodu, więc może się przydać dla modułów z mniejszą ilością pamięci jak np. ESP 8285. Osobiście testowałem to właśnie na procesorze ESP 8285 oraz 8266 w środowisku Arduino IDE. Zapraszam grono do testowania.
Aktualizacja 22-08-2026 (wersja 1.1.5)
- zmiana nazwy biblioteki
- zmiany dla funkcji
- dodano przykład dla WAVESHARE_RS485
Aktualizacja 9-10-2025 (wersja 1.1.3):
- dodano parametr BigEndian
- drobne poprawki
Aktualizacja 27-07-2025 (wersja 1.1.2):
- naprawiono błąd przepełnienia
- poprawiono przykłady (eeprom)
Aktualizacja (wersja 1.1.1):
- drobne poprawki
Aktualizacja (wersja 1.1.0):
- poprawiono przykłady (dodano status Supli)
Aktualizacja (wersja 1.0.9):
- drobne poprawki
- dodałem konfiguracje pinu REDE (nadawanie / odbieranie)
- dodałem przykład z zegarem
- dodałem przykład z błędem komunikacji
ModbusSlaveRTU 1.1.5 (22-08-2026)
-
Bania
- Posts: 107
- Joined: Wed Jul 24, 2024 5:03 pm
- Location: Bielsko-Biała
- Has thanked: 5 times
- Been thanked: 5 times
You do not have the required permissions to view the files attached to this post.
Last edited by Bania on Sun Aug 23, 2026 3:34 pm, edited 26 times in total.
https://github.com/anarhbania/Supla
-
Adamo28
- Posts: 223
- Joined: Sun Nov 08, 2020 2:54 pm
Hej, mam pytanie, przy zwykłym esp8266 potrzebuje dodatkowy konwerter żeby się połączyć bezpośrednio z np falownikiem od PV po RS485 jeśli poziom napięcia sygnałów się będzie zgadzał? Czy mam martwić się tylko żeby poziom napięcia GPIO się zgodził i będzie to "gadać"? Fajnie że w przykładach dałeś kanały ogólnego przeznaczenia, fajna robota. Dzięki
-
Bania
- Posts: 107
- Joined: Wed Jul 24, 2024 5:03 pm
- Location: Bielsko-Biała
- Has thanked: 5 times
- Been thanked: 5 times
Cześć, ESP8266 nie ma wbudowanego RS485, więc trzeba kupić konwerter UART <-> RS485. Przy okazji ten konwerter w jakimś stopniu separuje ESP8266. Ogólnie do testów korzystam z konwertera HW-0519 (nie trzeba pamiętać o przełączeniu w tryb TX lub RX). Biblioteka jest napisana w trybie SLAVE. Urządzenie nadrzędne (MASTER) komunikuje się z urządzeniem podrzędnym (SLAVE). Moim zdaniem zwykle PV są w trybie SLAVE. W bibliotekach Supla jest https://github.com/SUPLA/supla-device/t ... c/supla/pv
Ogólnie piszę podobną bibliotekę dla trybu MASTER, też na zasadzie zapisywania zmiennych w tablicy i tą tablicą operować w Supla, bo moim zdaniem kod przez to staje się czytelniejszy. Dodatkowo jeśli ktoś chce zagłębić i poznać temat MODBUS, to moim zdaniem biblioteka jest tak prosto napisana, że jest ktoś w stanie zrozumieć "co ona robi".
Zasada działania MODBUS: MASTER wysyła zapytanie do SLAVE, SLAVE odpowiada do MASTER. W układzie MODBUS może być tylko jeden MASTER.
Ogólnie piszę podobną bibliotekę dla trybu MASTER, też na zasadzie zapisywania zmiennych w tablicy i tą tablicą operować w Supla, bo moim zdaniem kod przez to staje się czytelniejszy. Dodatkowo jeśli ktoś chce zagłębić i poznać temat MODBUS, to moim zdaniem biblioteka jest tak prosto napisana, że jest ktoś w stanie zrozumieć "co ona robi".
Zasada działania MODBUS: MASTER wysyła zapytanie do SLAVE, SLAVE odpowiada do MASTER. W układzie MODBUS może być tylko jeden MASTER.
https://github.com/anarhbania/Supla
