logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Hostowanie funkcji „Logs” aplikacji internetowej OpenBekenIOT w LittleFS urządzenia (BK7231T)

jkwim 25 Sty 2024 15:19 5727 60
Najlepsze odpowiedzi

Czy mogę zwiększyć LittleFS, żeby hostować pliki webapp dla „Logs” na BK7231T, i czy OTA skasuje taką partycję?

Możesz zwiększyć LittleFS do własnego rozmiaru, ale OTA może go wyczyścić, więc trzymaj kopię zapasową i w razie potrzeby odtwórz LFS po aktualizacji; do tworzenia/zmiany rozmiaru użyj `format_lfs` i sprawdź `lfs_size` [#20928195] Przy takich plikach 128 kB okazało się za małe, bo LittleFS ma bloki 4 kB i każdy plik zajmuje całe bloki, więc praktycznie trzeba celować w około 200 kB lub więcej [#20930090] [#20933489] W testach stabilnie działało `0x32000` (200 kB), a finalnie udało się uruchomić całość przy `0x34000` (212 kB) po zminifikowaniu `httpVueLoader.js`, dodaniu brakującego `system.vue` i poprawieniu ścieżek w `startup.js` oraz `indexdevice.html` z `window.root='/api/lfs/'` i `script src='/api/lfs/startup.js'` [#20941452] [#20944917] [#20946139] Jeśli podczas uploadu urządzenie się restartuje, pomocna była poprawka stabilności z dodanym opóźnieniem RTOS w funkcji przesyłania plików [#20941452]
Wygenerowane przez model językowy.
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu

Podsumowanie tematu

✨ Dyskusja dotyczy hostowania funkcji „Logs” aplikacji internetowej OpenBekenIOT na systemie plików LittleFS w urządzeniach z układem BK7231T oraz BK7231N. Domyślny rozmiar LittleFS wynosi 32 kB, co jest niewystarczające do przechowywania plików aplikacji webowej. Użytkownicy testowali zwiększenie rozmiaru partycji LittleFS do 128 kB, 150-160 kB, a nawet 256 kB, jednak pojawiały się problemy z przesyłaniem większych plików (np. vue.min.js o rozmiarze około 90 kB), które skutkowały restartem urządzenia i ostrzeżeniami o niskim poziomie sterty. Sugerowano restart urządzenia po formatowaniu LFS oraz zwiększenie rozmiaru partycji, uwzględniając rozmiar bloków (4 kB). Wskazano, że LittleFS znajduje się poza partycją aplikacji, a OTA czyści LFS.

Rozwiązaniem okazało się zastosowanie poprawki opóźnienia RTOS w funkcji przesyłania plików, co poprawiło stabilność kopiowania większych plików. Użytkownicy potwierdzili działanie tej poprawki na różnych urządzeniach i wersjach firmware, choć na urządzeniach BK7231N problem z kopiowaniem dużych plików nadal występował. Zalecano minifikację plików JavaScript i CSS (np. httpVueLoader.js, pliki .vue) w celu zmniejszenia rozmiaru i lepszego dopasowania do ograniczonej przestrzeni LittleFS.

Dyskutowano także o alternatywnych rozwiązaniach hostingu aplikacji webowej na zewnętrznych urządzeniach sieciowych (serwer NAS, router z OpenWrt) lub przeniesieniu systemu plików LittleFS na zewnętrzne układy flash SPI lub karty SD, co pozwoliłoby na znaczne zwiększenie dostępnej pamięci (do kilku MB lub więcej). Prace nad implementacją obsługi zewnętrznej pamięci flash SPI z własnym protokołem bitbang SPI są w toku, z testami wydajności i stabilności. Wskazano, że większy cache LFS (np. 128 bajtów zamiast 16) poprawia stabilność zapisu.

Podsumowując, kluczowe elementy to: zwiększenie rozmiaru LittleFS, zastosowanie opóźnień RTOS podczas zapisu, minifikacja plików webowych, oraz rozważenie przeniesienia LFS na zewnętrzną pamięć flash lub kartę SD dla większej pojemności i stabilności działania w zamkniętej sieci IoT z urządzeniami OpenBK na platformie BK7231T/N.
Wygenerowane przez model językowy.
REKLAMA