Lavorando con Arduino Yun, è consigliato l’uso di una memoria SD esterna per ospitare i propri files: questo a causa del limitato numero di scritture della memoria interna. In questo tutorial vedremo come fare…
Per prima cosa inseriamo la nostra SD card nello slot di Arduino Yun:
Colleghiamoci ora allo Yun in SSH: se abbiamo un PC Windows, possiamo utilizzare il programma gratuito PuTTY. Inseriamo l’indirizzo IP della scheda e selezioniamo SSH come protocollo:
Inseriamo root come account e la password del nostro Yun:
Digitiamo il comando dmesg che visualizza tutti i messaggi di sistema. Se la SD card è stata correttamente riconosciuta, saranno presenti dei messaggi simili a quelli dello screenshot. Il “nome” della scheda in Linino sarà sda1:
Dobbiamo ora creare due cartelle all’interno della SD: la cartella arduino e, al suo interno, la cartella www; possiamo usare il comando mkdir. Infine creiamo un file contenente la scritta Hello World:
Smontiamo la scheda SD (umount /dev/sda1), quindi estraiamo e reinseriamo la scheda. Possiamo ora visualizzarne il contenuto tramite un browser web, all’indirizzo http://yun_ip/sd; ad esempio per visualizzare il file creato in precedenza:
Come funziona
Il webserver uHTTPd ha come document root (ovvero come cartella “principale”, dove è memorizzata l’interfaccia web di Yun) la cartella /www. Quando viene inserita una scheda SD, se questa contiene il path /arduino/www, viene creato automaticamente un link simbolico all’interno della /www:
WinSCP
Possiamo gestire i files presenti in Arduino Yun, inclusi quelli memorizzati sulla memoria SD, anche tramite una comoda interfaccia grafica. Per Windows è disponibile gratuitamente l’applicativo WinSCP. Inseriamo sempre l’indirizzo IP di Yun e selezioniamo come protocollo SCP:
Nella finestra di sinistra, sarà possibile navigare all’interno delle varie cartelle:
Grande Luca !!!
bellissimo tutorial come sempre.
Mi è venuta voglia di provare subito la Yun con la SD Card.
Mauro
Grazie mille Luca, molto soccorrevole!
Hartmut
Ciao e grazie per i tuoi tutorial (grazie anche ai tuoi Mauro!)
Ho visto che è possibile effettuare un extroot di Linino su partizione SD, ovviamente, dopo aver fatto estroot, se la sd non è inserita la yun non partirà con il Linino contenuto in essa, ma partirà ugualmente? Voglio dire, facendo questo extroot è come far partire un pc da chiavetta USB, quando togli la chiavetta il pc si avvia comunque dal SO sul disco fisso… funziona così anche con la Yun oppure senza SD è morta? Posso ritornare indietro facendo un reset della yun (mettendo l’immagine nella SD e dal pannello web di yun resettare)?
Ciao Andrea,
leggendo la teoria di extroot su cui si basa tutto, sembra che ci sia cmq un processo di failover che – se non trova il filesystem sulla sd – fa il boot da quello “locale”… non ho però provato quindi non posso confermartelo.
When I upload the sketch over Wi-Fi, I get the error “Warning: Problem accessing board folder /www/sd” in the IDE and the symlink is never created. Any ideas why this could be happening?
Wonderful post! Thank you.
Great job!!! I really like how well winscp works. Now back to work
HI Everything went well until I tried the UMOUNT command, which would not work. I reformatted the SD drive and tried again. Now there are SDA1 and SDA2 showing up with dnesg command ??? Very confused at this point. . .Gary
Hello and thank you for your help. I followed your instructions and made /mnt/sda1/arduino/www/hello.txt however when I load a webpage http://192.168.240.1/sd/hello.txt I get a message saying “No such file or directory”. I can see this file in both /mnt/sda1/… and /mnt/sd/…
Can you offer any additional advice as this is very frustrating.
Thanks.
Hi Steve,
it could be that Arduino didn’t automatically create the symlink… try removing the SD and inserting again: you should find a symlink in /www (so basically if you type cd /www/sd you should jump to the content of your SD card)
ciao luca,
stavo seguendo questo tuo tutorial e mi sono bloccato al punto in cui visualizzo la scheda alla linea sda: sda1 con il comando dmesg.
Nella foto successiva tu crei una cartella che sei già all’interno della scheda ovvero /mnt/sda1# come ci sei entrato ? se provo a fare cd mnt mi dice “-ash: cd: can’t cd to mnt ”
Grazie
Ciao Gennaro, probabilmente quando dai quel comando non sei nella “root”, prova con
cd /mnt/sda1
e dovresti riuscire ad entrare nella cartella per poi proseguire con il comandomkdir arduino
etc…Ciao Luca,
Io non sono in grado di visualizzare il nome della SD, con il comando dmesg mi viene scritto
“[…]sda: ”
con scritto nulla. Come mai?
Ciao Alfred
fai così, togli la SD, reinseriscila e posta le ultime righe del dmesg
Ciao Luca,
Ieri sera mi andava il programma e riuscivo a lavorarci, oggi invece ho fatto un reset del Wi-Fi e non mi manda più le istruzioni da una pagina web, perchè quando clicco su un bottone mi da questo errore:
“Failed to load resource: the server responded with a status of 403 (OK)”
Ma non capisco il perchè dato che ieri sera andava perfettamente.
Ciao Luca,
prima di tutto ti faccio i miei complimenti per il post.
Ho un problema: quando inserisco la uSD in Arduino YUN non mi viene creato automaticamente il link nel folder /www ma lo devo creare “a mano” con WinSCP. Ho provato ad inserire anche una chiavetta USB Flash ma ho lo stesso problema. Come posso fare in modo che venga creato automaticamente il link inserendo la uSD?
Ciao Stefano, perché funzioni, sulla SD deve già essere presente (anche vuota) la struttura di cartelle /arduino/www come spiegato ad esempio qui.
Ciao Luca,
grazie della risposta.
OK sviluppo lo schema delle cartelle.
Ciao Luca, ho lo stesso problema di Steve. Ho provato a rimuovere e reinserire la scheda ma in /www mi ritrovo solo il file hello.txt non vedo alcun link.
Mi potresti aiutare a superare questo step?
hi Luca, thank you for the great tutorial. However, when trying to log in arduino yun,I’m getting: Command ‘cd “/www”‘
failed with return code 0 and error message
-ash: groups: not found.
any tips how to get out of this knot will be greatly appreciated
Hi! Could you try to reflash the Linux image?
Luca sorry for the delay! I did and it worked on the browser just fine. Did complete my “clock” project, and all tested fine but at the very same day temboo had automatically changed the key (because it was the end of the month – they say!!!:) I was left in dark!
Your site is an awesome learning resource.
Have you written any stuff on Linux / or can you please recommend a good Linux book?
all the best ,,
Pellumb