Bramka Zigbee dla SUPLA na SONOFF ZBBridge-P
Niewielka bramka, która pozwala połączyć wybrane czujniki, przekaźniki i sterowniki rolet Zigbee z SUPLA Cloud.

Dlaczego powstała bramka?
Pomysł narodził się przede wszystkim z potrzeby obsługi zasilanych bateryjnie czujników temperatury i wilgotności. Drugim ważnym powodem były sterowniki rolet.
Do tej pory często wgrywaliśmy oprogramowanie SUPLA do urządzeń Wi-Fi firmy SONOFF, między innymi do sterowników z serii DUAL R3. Są one jednak stosunkowo duże i nie zawsze mieszczą się w puszce instalacyjnej. Nowsze, mniejsze sterowniki SONOFF MINI RBS są zabezpieczone, dlatego na tę chwilę nie można wgrać do nich oprogramowania SUPLA.
Bramka nie ma być uniwersalnym zamiennikiem rozbudowanych systemów Zigbee. Jej zadaniem jest prosta i przewidywalna obsługa kilku konkretnych, wcześniej sprawdzonych urządzeń.
Zależało mi też na wykorzystaniu gotowego urządzenia w obudowie. Zamiast projektować całą elektronikę od podstaw, wybrałem SONOFF Zigbee Bridge Pro, znany również jako ZBBridge-P. Dostępna na rynku już o jakiegoś czasu okazała się dobrym punktem wyjścia do stworzenia wyspecjalizowanej bramki Zigbee dla SUPLA.
Co znajduje się w środku?
W bramce są dwa najważniejsze elementy: ESP32 oraz moduł SM-031 z układem CC2652P.
ESP32 obsługuje Wi-Fi, panel WWW, komunikację z SUPLA Cloud, aktualizacje OTA oraz całą logikę bramki.
SM-031 z CC2652P pełni funkcję koordynatora Zigbee i odpowiada za komunikację radiową z urządzeniami.

Legenda elementów widocznych na płytce:
- ESP32.
- Moduł SM-031 z CC2652P.
- Pamięć Flash 25Q32.
- Pamięć PSRAM APS1604M.
- Zegar RTC HT1302.
- Bateria podtrzymująca RTC.
- Niebieska dioda.
- Zielona dioda.
- Przycisk konfiguracyjny.
- Miejsce na listwę goldpin do zasilania i programowania ESP32.
- Buzzer.
- Gniazdo Micro USB.
Gotowy koordynator Zigbee w środku bramki
Po otwarciu bramki było jasne, że ESP32 i moduł CC2652P muszą jakoś ze sobą współpracować. Szybko okazało się, że komunikują się przez zwykły port szeregowy UART. To otworzyło drogę do dalszych testów.
Zanim powstało właściwe oprogramowanie bramki, ESP32 został wykorzystany jako prosta przejściówka pomiędzy komputerem a CC2652P. Pozwoliło to wysyłać bezpośrednie zapytania do układu Zigbee i obserwować jego odpowiedzi.
Po kilku próbach CC2652P zwrócił informacje o wersji oprogramowania oraz poprawnie odpowiedział na standardowe komendy TI ZNP. Był to ważny moment projektu. Oznaczało to, że SONOFF wykorzystał gotowe rozwiązanie Texas Instruments — układ CC2652P pracował już jako koordynator Zigbee i nie wymagał zmiany firmware.
Dzięki temu nie trzeba było budować obsługi całego protokołu Zigbee od zera ani ryzykować programowania części radiowej bramki. Własne oprogramowanie trafia wyłącznie do ESP32, a CC2652P nadal zajmuje się siecią Zigbee.
Podział zadań
ZNP, czyli Zigbee Network Processor, to rozwiązanie przygotowane przez Texas Instruments dla urządzeń z dwoma procesorami. CC2652P obsługuje radio, tworzy i utrzymuje sieć Zigbee, dołącza urządzenia oraz przekazuje odebrane dane. ESP32 wysyła do niego polecenia przez UART, interpretuje odpowiedzi i realizuje pozostałą część działania bramki: Wi‑Fi, panel WWW, konfigurację, aktualizacje OTA oraz połączenie z SUPLA Cloud.
| GPIO ESP32 | Funkcja |
|---|---|
| GPIO23 | Odbiór danych z CC2652P |
| GPIO19 | Wysyłanie danych do CC2652P |
| GPIO15 | Reset CC2652P |
| GPIO2 | Niebieska dioda |
| GPIO21 | Zielona dioda |
| GPIO27 | Przycisk konfiguracyjny |
Jak zarządzać bramką Zigbee?
Bramką zarządza się podobnie jak typowym urządzeniem SUPLA — przez prosty panel WWW dostępny w lokalnej sieci. Wystarczy sprawdzić adres IP przydzielony bramce przez router, a następnie wpisać go w przeglądarce na komputerze lub telefonie.
Panel został przygotowany tak, aby najważniejsze informacje i funkcje były dostępne w jednym miejscu. Znajdują się w nim sekcje pokazujące stan bramki, urządzenia Zigbee dołączone do sieci, aktualizacje firmware oraz ustawienia połączenia z Wi‑Fi i SUPLA Cloud.

Urządzenia dodane do bramki
Kolejna część panelu prezentuje listę urządzeń Zigbee dołączonych do bramki. Przy każdym urządzeniu widoczny jest jego przyjazny model, producent, czas od ostatniej odebranej wiadomości, jakość połączenia LQI oraz poziom baterii, jeśli urządzenie go raportuje. Panel pokazuje także typ urządzenia — router albo urządzenie końcowe.

Można szybko sprawdzić, czy urządzenie nadal komunikuje się z bramką i jak wygląda jakość jego połączenia. W przypadku konkretnego sterownika dostępne są również dodatkowe funkcje związane z jego typem. Dla sterownika rolet można na przykład przejść do ustawień kalibracji i sprawdzić czas ruchu rolety.
Dodawanie urządzeń Zigbee
Przycisk „Dodaj urządzenie” czasowo otwiera sieć na dołączanie nowych urządzeń przez 180 sekund. W tym czasie należy uruchomić tryb parowania w urządzeniu które chcemy dodać do bramki.
Bramka odczytuje producenta i model urządzenia. Jeśli rozpozna go jako obsługiwany, automatycznie tworzy odpowiedni kanał SUPLA: roletę jako sterownik rolet, przekaźnik jako przełącznik, a czujnik temperatury i wilgotności jako kanał pomiarowy itp.
Użytkownik nie wybiera ręcznie typu urządzenia ani jego funkcji. Nieznane modele urządzeń są odrzucane, aby do SUPLA trafiały wyłącznie urządzenia wcześniej sprawdzone.
Pierwsza konfiguracja bramki
Aby bramka mogła połączyć się z SUPLA Cloud, należy zapisać w jej ustawieniach dane swojej sieci Wi‑Fi oraz dane dostępowe SUPLA. W panelu podajemy nazwę i hasło sieci Wi‑Fi, adres serwera SUPLA przypisany do konta, a także wymagane dane rejestracyjne urządzenia.
Po zapisaniu ustawień bramka uruchamia się ponownie, łączy z siecią Wi‑Fi, a następnie rejestruje się w SUPLA Cloud. Od tego momentu można dodawać urządzenia Zigbee i korzystać z utworzonych dla nich kanałów w aplikacji SUPLA.

Co warto wiedzieć o komunikacji Zigbee?
Urządzenia Zigbee nie działają wszystkie w ten sam sposób. Czujnik zasilany baterią zachowuje się inaczej niż przekaźnik lub sterownik rolet podłączony na stałe do zasilania.
Czujniki bateryjne
Czujniki temperatury i wilgotności przez większość czasu pozostają uśpione, aby jak najdłużej pracować na baterii. Budzą się okresowo, wysyłają aktualne dane albo robią to wtedy, gdy temperatura lub wilgotność zmieni się o wartość ustaloną przez producenta.
Jeżeli warunki są stabilne, czujnik może przez kilkanaście minut, a czasem nawet dłużej, nie wysłać żadnej wiadomości. Nie oznacza to od razu problemu z zasięgiem ani uszkodzenia urządzenia.
Bramka uwzględnia ten sposób pracy i oznacza czujnik jako niedostępny dopiero po godzinie bez odebranych danych. W panelu WWW można jednocześnie sprawdzić czas od ostatniej wiadomości.
Urządzenia zasilane z sieci
Przekaźniki i sterowniki rolet są zasilane na stałe, dlatego nie muszą oszczędzać energii przez usypianie. Bramka może okresowo wysyłać do nich zapytania i sprawdzać, czy nadal odpowiadają.
Brak odpowiedzi urządzenia zasilanego z sieci jest wykrywany znacznie szybciej — zależnie od modelu, najpóźniej po 15 minutach.
Jak urządzenia pojawiają się w SUPLA Cloud?
Po skonfigurowaniu bramka pojawia się na koncie SUPLA Cloud jako jedno urządzenie. Czujniki, przekaźniki i sterowniki rolet połączone przez Zigbee są widoczne jako kolejne kanały tej bramki.


Po dodaniu nowego urządzenia bramka zapisuje jego konfigurację i uruchamia się ponownie, aby przygotować właściwy kanał. W SUPLA Cloud musi być wtedy aktywna opcja „Rejestracja urządzeń aktywna”.
Usuwanie urządzeń Zigbee z bramki
Urządzenia można również usuwać z bramki. Zmiana układu kanałów może wtedy spowodować konflikt z konfiguracją zapisaną wcześniej w SUPLA Cloud. W takiej sytuacji należy usunąć żółty kafelek oznaczający konflikt kanałów, ponownie włączyć rejestrację urządzeń i pozwolić bramce zarejestrować aktualny zestaw kanałów.

Chcesz uruchomić własną bramkę?
Pierwsze wgranie firmware wymaga podłączenia konwertera USB–UART do ZBBridge-P. W osobnym poradniku pokazujemy podłączenie przewodów, programowanie ESP32 oraz pierwsze uruchomienie bramki.



