DIY Electronic projects

Full Version: Arduino SD card monitor
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Cao drustvo, gledam ovaj board:

[Image: 09419-01a.jpg]
I razmisljam se da li je i ako jeste koliko kompleksno da se napravi arduino SD card monitor, dakle nesto sto bi moglo da dozvoli operacije nad fajlovima i sl. read \ write, ali recimo da arduino moze da sve to loguje, i da takodje pristupa istim.

Npr. uredjaj X koji koristi sd card, napravi novi fajl, arduino detektuje da je napravljen novi fajl i uzme isti fajl da ga obradjuje nakon sto uredjaj X zavrsi upis u fajl.

Na osnovu onoga sto sam procitao, ima vise problema, ovo su neki od njih:

Prvi je recimo detekcija kad se kreira novi fajl, npr. da kartica koristi FAT16, mi bi znaci morali da detektujemo da se upisuje informacija o tome da imamo novi fajl + memorijsku lokaciju novog fajla zar ne?

Ako je problem jednostavniji da npr. zelimo da pratimo uvek isti format fajla (npr. slike), verovatno na osnovu nekog header-a mozemo da znamo kad krece upis informacija vezanih za sam fajl al to nije uvek pouzdano.

Sam host uredjaj koji upisuje na SD bira protokol kojim ce da upisuje na karticu, dakle nije bas jednostavno napraviti univerzalno resenje etc.

Pa rekoh da vidim, ima li neko jednostavniju ideju kako bi moglo da se odradi ono sto sam spomenuo iznad?
Ne znam koliko ovo može pomoći, no board poput ovog gore nije ništa drugo nego "breakout" da bi imao jednostavan način da pristupiš inače sitnim pinovima samog SD konektora. SD kartica predstavlja u stvari mali tvrdi disk (hard disk) pa tako ima i neku "file system" elektroniku/kontroler. Mislim da je default exFAT ali to se može preformatirati u FAT16, FAT32, NTFS itd.
Što znači "uređaj x koristi SD card"? SD card je periferija sa serijskim protokolom (SD bus ili SPI). Dakle ako će uređaj X koristiti SD card i Arduino (kao uređaj Y) onda ti treba neka vrsta delegiranja pristupa SD cardu ili će netko od njih (X ili Y) biti master pa će drugi pristupati SD card-u preko mastera. Kada se ovo odluči na hardverskoj razini onda se može razmišljati i o tome kako napisati softver. Inače za Arduino postoji lib za SD card (SD library) i s njime se jednostavno radi.
Znam da je ovo samo breakout board za laksi pristup pinovima i da nema nikakve elektronike na njemu Smile

Sto se tice ovoga, SD protocol ili SPI, to odlucuje "host" koji ce da koristi, e sad, posto taj drugi uredjaj ne mogu da kontrolisem, samim tim je teze ubaciti se i snifovati sta se desava zar ne?

Videh za SD Library, i jasan mi je deo kad imam samo arduino vs SD card, ali ovo oko kako detektovati kad je ovaj drugi uredjaj napravio novi fajl i oslobodio ga za citanje to mi deluje kao problematican deo.

Dakle meni bi arduino sluzio kao logic analyzer preko ovog board-a ciji bi zadatak bio da moze da eventualno ako ne moze da cita sa iste ove kartice da upisuje kopiju u svoju SD karticu...

Da li bi tako nesto bilo lakse mozda?
Pa možda bi bilo najjednostavnije da Ardunio "prisluškuje" odnosno da se na stream zapisivanja na SD card nakači i Arduino koji to može proslijediti na drugi SD card (hm, čemu uopće Arduino onda?). Arduino ne bi smio samostalno pristupati SD card ako uređaj X snima asihrono, tj. ne zna se u kojem trenutku će krenuti novo snimanje. Ne znam trenutno što drugo.