Yún – Utilizziamo una scheda SD

by luca
22 comments

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:

Related Posts

22 comments

Mauro 15 novembre 2013 - 13:56

Grande Luca !!!
bellissimo tutorial come sempre.
Mi è venuta voglia di provare subito la Yun con la SD Card.

Mauro

Reply
Hartmut Knauff 5 aprile 2014 - 11:56

Grazie mille Luca, molto soccorrevole!
Hartmut

Reply
Andrea 20 giugno 2014 - 09:10

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)?

Reply
luca 22 giugno 2014 - 12:25

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.

Reply
Timothy Porter 5 settembre 2014 - 21:26

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?

Reply
Aaron 9 settembre 2014 - 17:21

Wonderful post! Thank you.

Reply
Bruce Kellett 15 novembre 2014 - 20:52

Great job!!! I really like how well winscp works. Now back to work

Reply
Gary 9 gennaio 2015 - 16:53

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

Reply
Steve 13 febbraio 2015 - 03:17

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.

Reply
luca 13 febbraio 2015 - 21:26

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)

Reply
gennaro 19 febbraio 2015 - 17:33

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

Reply
luca 24 febbraio 2015 - 20:57

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 comando mkdir arduino etc…

Reply
Alfred 20 maggio 2015 - 20:52

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?

Reply
luca 21 maggio 2015 - 09:01

Ciao Alfred

fai così, togli la SD, reinseriscila e posta le ultime righe del dmesg

Reply
Alfred 4 giugno 2015 - 18:08

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.

Reply
Stefano 3 settembre 2015 - 00:00

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?

Reply
luca 6 settembre 2015 - 09:58

Ciao Stefano, perché funzioni, sulla SD deve già essere presente (anche vuota) la struttura di cartelle /arduino/www come spiegato ad esempio qui.

Reply
Stefano 7 settembre 2015 - 00:35

Ciao Luca,
grazie della risposta.
OK sviluppo lo schema delle cartelle.

Reply
Andrea 20 novembre 2015 - 00:36

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?

Reply
Pellumb 19 dicembre 2015 - 13:01

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

Reply
luca 22 dicembre 2015 - 11:37

Hi! Could you try to reflash the Linux image?

Reply
Pellumb Bara 9 settembre 2016 - 10:39

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

Reply

Leave a Comment

tre × 5 =