OpenBeken/OBK to otwarty, wieloplatformowy firmware IoT dla urządzeń Wi‑Fi automatyki budynkowej, od przekaźników i LED po termostaty, liczniki energii i czujniki.
Projekt wspiera około 32 platformy dzięki osobnym buildom binarnym, a konfiguracja obejmuje GPIO, integrację z Home Assistant, Berry, REST i skrypty automatyzacji.
Na 2025.12.31 lista urządzeń OBK liczy 817 modeli, a wśród obsługiwanych sterowników są m.in. TuyaMCU, BL0942, SM2135, DHT22, DS1820 i DMX.
Wsad wgrywa się przez UART z własnym flasherem, po czym można korzystać z online buildów, automatycznego OTA, symulatora Windows/Linux i testów CI.
Niektóre platformy mają ograniczenia: część OTA działa tylko przez web, wybrane warianty wymagają specjalnych ustawień, a kilka funkcji jest uszkodzonych lub nieprzetestowanych.
Czy os_malloc i malloc różnią się na jakiejkolwiek platformie, a jeśli tak, to jaka jest różnica?
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
W końcu udało mi się zaimplementować funkcję umożliwiającą logowanie do LFS: PR #2076 .
Nie było to tak łatwe, jak myślałem na pierwszy rzut oka, ponieważ zapisywanie do lfs jest powolne i zawiesza się z IRQ watchdog, jeśli zapisuje więcej niż kilka linii.
Więc teraz będzie używać własnego wątku do spłukiwania bufora wiadomości do lfs.
Pozwala to na "logowanie startowe" za pomocą polecenia
Będzie logować wszystkie kolejne uruchomienia przez podaną liczbę sekund do lfs (o ile w lfs jest wolne miejsce).
Więc jeśli to zrobiono, wyłącz za pomocą
Widziałbym to tylko jako funkcję debugowania, a nie jako regularną.
Pomysł powrócił po problemie 2064 , w którym użytkownik nie mógł łatwo zobaczyć logów i zakładał błąd uruchamiania w trybie klienta WiFi. Dzięki tej funkcji mógł skonfigurować logowanie do lfs, wprowadzić swoje dane uwierzytelniające WiFi i po uruchomieniu w zwykłym trybie przełączania do trybu bezpiecznego ponownie zobaczyć dzienniki.
Dla wszystkich innych przypadków mamy rejestrowanie TCP, które można łatwo zapisać, więc możemy się zgodzić, że ma to sens tylko przy uruchamianiu, a nie podczas pracy.
Myślę, że rzeczywiste zmiany w czasie wykonywania są dość wąskie. Być może to, co sprawia, że PR wygląda na większy, to wspierające rusztowanie testowe w symulatorze, które dodałem jako pierwsze, aby ścieżki awarii alokacji mogły być odtwarzane i walidowane w sposób deterministyczny. A może masz na myśli inny rodzaj rozdęcia?
Rozwiązałem konflikty scalania. Nie martw się, jeśli nie uważasz, że są to dobre zmiany i PR powinien zostać zamknięty
@max4elektroda tworzy bajt log2lfs i domyślnie go wyłącza i myślę, że jest gotowy do scalenia
Dodano po 10 [godzinach] 26 [minutach]:
@divadiow używasz windowsa?
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Well.... Nie udało mi się jeszcze uruchomić tego Dockera na moim Windows 10. Wygląda na to, że sprawia mi wiele problemów, zarówno w starszych, jak i nowszych wersjach, z różnych powodów.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Wygląda na to, że brakuje prebuilda Berry. Słuszna uwaga. Nie zdawałem sobie z tego sprawy.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Jak to teraz wygląda, @divadiow ? Dodałem również ESP8266.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Może @divadiow mógłby wypróbować te artefakty na platformach RTL?
Dodałem kilka komentarzy do adresów mainConfig_t.
Zarówno dla ESPIDF, jak i RTL istniał jeden "niejawny" padding dla wyrównania do typów 4-bajtowych - dodałem short dla obu.
Aby upewnić się, że skonfigurowane urządzenie nie utraci konfiguracji, chciałbym przeprowadzić kilka testów.
Próbowałem już na ESP32 i C3, więc ESPIDF powinien być zapisany, ale mam tylko jedno urządzenie RTL...
Możesz użyć WIFI password2 (dla SSID2), które jest "poza" tym miejscem dla obu platform.
Wskazówka: nie używaj samego SSID2, ponieważ nie możesz go usunąć bez resetowania do OpenAP, a następnie urządzenie będzie w "drugim trybie SSID" do tego czasu - kolejna rzecz do naprawienia w przyszłości....
Testowanie logowania do lfs (jeśli chcesz spróbować) za pomocą tego polecenia:
Dzięki @divadiow!
Dobry pomysł. Spodziewałbym się, że jeśli zostanie wywołany na urządzeniu bez gotowego lfs, zainicjuje lfs przy pierwszym wywołaniu. Powinniśmy więc zaznaczyć, że lfs powinien zostać zainicjowany przed użyciem.
Czy znalazłeś jakieś problemy z zachowaniem istniejącej konfiguracji z np. wersji release lub innej wersji do tej?
✨ Projekt wieloplatformowego, otwartego firmware IoT rozwijanego na Elektrodzie do końca 2025 roku obejmuje wsparcie dla aż 32 różnych platform sprzętowych wykorzystywanych w automatyce budynkowej. Firmware dedykowane jest urządzeniom sterowanym przez Wi-Fi, takim jak przekaźniki, kontrolery LED (w tym WS2812), termostaty, mierniki energii oraz czujniki temperatury, wilgotności i ruchu. Głównym celem modyfikacji firmware jest rozszerzenie funkcjonalności urządzeń poprzez pełną kontrolę nad GPIO, możliwość dodawania własnych czujników, skryptów i mechanizmów automatyzacji. Projekt zawiera również szczegółową dokumentację techniczną oraz listę wspieranych urządzeń, co ułatwia integrację i rozwój systemów automatyki. Firmware umożliwia uniezależnienie się od oryginalnego oprogramowania producenta, co pozwala na dostosowanie urządzeń do indywidualnych potrzeb użytkownika oraz zwiększenie ich możliwości operacyjnych. Wygenerowane przez model językowy.