Yún – How to use an SD card

luca 12/11/2013 22

Working with Arduino Yun, it is suggested the use of an external SD card to save your files, because of the limited number of writes the internal memory can manage. In this tutorial, you’ll learn how to do it…

First insert the SD card in the Arduino Yun’s slot:

Now, connect to the Yun using SSH: if your PC is running Windows, you can use the free PuTTY program. Type the IP address of your board and choose SSH as connection type:

Type root as login account and the password you chose for your Yun:

Now enter the dmesg command to show all the system messages. If the SD card was correctly detected, you’ll find something like the screenshot below. The “name” your SD card has in Linino is sda1:

You must create two folders in the SD card: the first named arduino and, inside that, a second named www; you can use the mkdir command. At the end, create also a test file with the text Hello World:

Unmount the SD card (umount /dev/sda1), then remove and insert again it. Now its content is available using a web browser, at the address http://yun_ip/sd; for example to view the file created before:

How does it work?

The uHTTPd webserver has the folder /www as its document root (i.e. the “main” folder where the Yun’s web interface is stored). When an SD card is inserted, if the path /arduino/www is detected, a symlink is automatically created in the /www folder:

WinSCP

You can manage the Linino files, including the ones stored in the SD card, also using a graphical interface. For Windows, you can download WinSCP. Type again the IP address of your Yun and choose SCP as file protocol:

In the left window, you’ll be able to explore folders and files:

22 Comments »

  1. Mauro 15/11/2013 at 13:56 - Reply

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

    Mauro

  2. Hartmut Knauff 05/04/2014 at 11:56 - Reply

    Grazie mille Luca, molto soccorrevole!
    Hartmut

  3. Andrea 20/06/2014 at 09:10 - Reply

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

    • luca 22/06/2014 at 12:25 - Reply

      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.

  4. Timothy Porter 05/09/2014 at 21:26 - Reply

    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?

  5. Aaron 09/09/2014 at 17:21 - Reply

    Wonderful post! Thank you.

  6. Bruce Kellett 15/11/2014 at 20:52 - Reply

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

  7. Gary 09/01/2015 at 16:53 - Reply

    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

  8. Steve 13/02/2015 at 03:17 - Reply

    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.

    • luca 13/02/2015 at 21:26 - Reply

      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)

  9. gennaro 19/02/2015 at 17:33 - Reply

    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

    • luca 24/02/2015 at 20:57 - Reply

      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…

  10. Alfred 20/05/2015 at 20:52 - Reply

    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?

    • luca 21/05/2015 at 09:01 - Reply

      Ciao Alfred

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

  11. Alfred 04/06/2015 at 18:08 - Reply

    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.

  12. Stefano 03/09/2015 at 00:00 - Reply

    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?

    • luca 06/09/2015 at 09:58 - Reply

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

  13. Stefano 07/09/2015 at 00:35 - Reply

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

  14. Andrea 20/11/2015 at 00:36 - Reply

    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?

  15. Pellumb 19/12/2015 at 13:01 - Reply

    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

    • luca 22/12/2015 at 11:37 - Reply

      Hi! Could you try to reflash the Linux image?

  16. Pellumb Bara 09/09/2016 at 10:39 - Reply

    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

Leave A Response »

This website uses cookies to ensure you get the best experience on our website maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi