Když jsem se snažil použít RP, čas od času se RB stalo nebootovatelné, nebo se objevovali různé záhadné potíže.
Na vině SD karta je nevhodná pro časté zápisy, zvláště když hrozí, že může někdo RP odpojit z elektřiny.
Bohužel to znamená, že pokud to s využitím RB myslíte vážně, nezbývá, než bootovat RO režimu a zapisovat jen když je to nutné, např. během změny konfigurace.
Přijde mi, že většina lidí to neví a netuší a pod vlivem marketingu od lidí co stojí za raspberry pi.
Pokud ale hledám, mezi opravdovými odborníky, je to známá věc.
Prostě pokud chci, aby mi RP vydrželo fungovat leta, nesmím na SD kartu uvnitř pravidelně zapisovat. Problém hlavně s výpadkem elektřiny, kdy poškodit se mohou i data, která nemají se zápisem nic společného. Tedy ani rozdělit SD kartu na dvě části - jednu jen pro čtení - nepomůže.
Pěkně je to po psané zde.
https://hackaday.com/2016/08/03/single-board-revolution-preventing-flash-memory-corruption/Aby PR mágové dokončili zkázu, na RP nedali ani tlačítko na vypnutí nebo reset. Prostě před problém strkají hlavu do písku. Zde více na tohle téma přímo od člověka co stojí za RP:
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=101992 Zabudovaná paměť by stála pár dolarů navíc, navíc by možná zamotala trochu hlavu BFU co to prvně spouští a snížil by se tím údiv po prvním nabootování.
Možná řešení:
- Data zapisovat jen na disk v lokální síti nebo prostě do claudu. Bez internetu jste ale mrtví
- Data zapisovat na jiný disk připojený přes USB-SATA adaptér. - zde může být dobré se RP úplně vyhnout a koupit orange nebo banana, co mají přímo sata, ale tam jsou dost možná zase jiné nedodělky výrobce.
- Pořídit si UPS, tak by se výpadky proudů minimalizovat a zároveň omezit zápisy. Nevýhoda - i tak vám občas BFU může způsobit výpadek a ztrátu dat.
- Vykašlat se na RB a pořídit si levný router a nahrajte do něj openWRT. Ten nemá SD kartu, ale přímo zabudovanou flash paměť, která v kombinaci s vhodnějším souborovými systémy podstatně vhodnější na tohle použití. Výpadek elektřiny způsobí nefunkčnost router velmi velmi vzácně i když router zapisuje loguje kde co. Nevýhoda je, že samotný oepnWRT je nechtěná komplikace navíc.
- Raději svoji linuxovou aplikaci nechat běžet na nevyužívaném postarším android telefonu/tabletu, který bude trvale v nabíječce, s využitím wifi připojení. Linuxové aplikace můžete na androidu spustit např. pomoci programu termux. Z linuxu pomocí termux:api lze pak např. i odesílat SMS. Spusit skript po startu tak aby se nevypínal uspáváním telefonu lze pomocí addon aplikace termux:boot . Něco řídit lze pomocí wifi relátek, které jdou koupit již od 5 USD. Bohužel google blokuje použit USB pokud se telefon zároveň nabíjí. Je to jeho arogantní rozhodnutí, pokud má např. tablet možnost nabootovat do Windows, tam tohle omezení není.
Všechny možnosti jsou hrozně ošklivé v podstatě nevhodné pro začátečníky, znemožňují běžným kutilům RP použít pro řízení chytré domácnosti, nebo prostě nějakou drobnou automatizaci. A to vše jen díky PR zaslepení lidí co stojí RP a aroganci googlu. Totiž kdyby bylo možné řídit chytrou domácnost přes USB (s využitím USB hubu) z každého android zařízení, bylo by to uživatelsky nejpřívětivější a zároveň nejlevnější řešení.
Nebo jsem něco přehlédl?