Go Down

Topic: [Gelöst] Arduino Yún - Usb-Stick statt SD (Read 406 times) previous topic - next topic

HTML-Fan

Dec 14, 2018, 07:20 pm Last Edit: Dec 20, 2018, 08:15 am by HTML-Fan
Hallo!

Ich habe mir ja letztens einen Arduino Yún gekauft und stehe jetzt wieder mal vor einem Problem.
Ich habe keine SD-Karte, da meine Alte hinübergegangen ist und möchte trotzdem mit FileIO arbeiten können. Daher habe ich mich ein bisschen durchs Netz geklickt und bin auf die Info gestoßen, dass FileIO nicht nur mit einer SD-Karte arbeiten kann, sondern auch mit einem über USB angeschlossenen Speichermedium funktioniert, meistens sogar besser. Drum habe ich meinem (leeren) USB-Stick einen Ordner namens "arduino" verpasst, den Stick in den Yún gesteckt und den Datalogger-Beispielsketch draufgeladen. Nachdem ich mir eine Weile mit dem seriellen Monitor die Werte angeschaut habe, zog ich den Stick und steckte ihn in meinen PC. Aber es war nichts dazugekommen, keine Datalogger-Datei.
Beim Betrachten des Sketches fiel mir die Zeile
Code: [Select]
File dataFile = FileSystem.open("/mnt/sd/datalog.txt", FILE_APPEND);
auf und ich dachte mir, das hier wohl was geändert werden muss, da ich ja keine SD, sondern einen USB-Stick nutze. Aber auch nach langem Serven durchs Internet fand ich nichts, was mit Daten auf USB-Stick zu tun hat und diese Veränderung beschreibt.
Ist jemand von euch vielleicht etwas fortgeschrittener auf dem Gebiet Yún und kann mir sagen, was man da tun kann?

Gruß
HTML-Fan
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

dony

#1
Dec 14, 2018, 09:02 pm Last Edit: Dec 14, 2018, 09:04 pm by dony
Hallo,

Ich hab das gerade bei mir versucht, funktioniert einwandfrei. Ich hab jetzt kein Sketch geschrieben, hab einfach mit PuTTy eine SSH Verbindung aufgebaut. Sogar der Pfad bleibt der gleiche (/mnt/sd/), zumindest solange nicht noch eine SD Karte im YUN steckt.
Ich würde aber nicht darauf vertrauen das es mit dem Pfad immer funktioniert. Das ist nur ein Alias, der eigentliche Pfad ist /mnt/sda1 usw.

Allerdings werden nicht alle USB Sticks unterstützt.
Mit lsusb kannst Du überprüfen ob der USB Stick überhaupt erkannt wurde.

Der Fehler kann auch im Sketch liegen. Ist die Datei "datalog.txt" im "Arduino" Verzeichnis das Du angelegt hast? Wenn ja, dann muss das in den Pfad.

Grüße,
Donny
Bitte Code in Codetags, </> (erster) Button in der Toolbar.
Schnell was umstellen: Alerts->Settings |->Look and Layout->Use full editor in Quick Reply
Grüße, Donny

HTML-Fan

Danke schonmal für die Antwort!

Der Fehler kann auch im Sketch liegen. Ist die Datei "datalog.txt" im "Arduino" Verzeichnis das Du angelegt hast? Wenn ja, dann muss das in den Pfad.
Jetzt habe ich's nochmal probiert und anstelle von den Werten nur ein "error opening datalog.txt" bekommen. Auch trotz Ersetzen von "sd" durch "sda1". Auch keine Datei wurde erstellt, wie ja auch gestern.

Mit lsusb kannst Du überprüfen ob der USB Stick überhaupt erkannt wurde.
Muss ich das ins Terminal eingeben oder wo?
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

postmaster-ino

Hi

Jupp
Da kommt dann so was raus
Code: [Select]
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter  //Nano Clon
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

dony

Da es sich um um Open-wrt also Linux handelt, empfehle ich PuTTY, das Programm gibt es auch als Standalone zum download.
Die IP Adresse Deines YUN hast Du ja? Einfach PuTTY starten und die IP eingeben (Port: 22, Verbindungstyp: SSH) und Verbinden.
Soweit ich das noch in Erinnerung hab ist das root Passwort, dass Passwort das Du beim konfigurieren der Wifi Einstellungen über das Browserfenster angelegt hast.

Falls was unklar ist, einfach Fragen. (Ich weiß ja nicht ob Du das schon mal gemacht hast, SSH Verbindung bzw. Linux Shell?)  :)

Grüße,
Donny
Bitte Code in Codetags, </> (erster) Button in der Toolbar.
Schnell was umstellen: Alerts->Settings |->Look and Layout->Use full editor in Quick Reply
Grüße, Donny

HTML-Fan

Ich weiß ja nicht ob Du das schon mal gemacht hast, SSH Verbindung bzw. Linux Shell?
Mit Linux hatte ich bis jetzt noch nicht viel am Hut, von PuTTY habe ich aber schon gehört, in einem Buch über den Arduino kam das in Verbindung mit dem RasPi vor.
Die IP Adresse Deines YUN hast Du ja? Einfach PuTTY starten und die IP eingeben (Port: 22, Verbindungstyp: SSH) und Verbinden.
Soweit ich das noch in Erinnerung hab ist das root Passwort, dass Passwort das Du beim konfigurieren der Wifi Einstellungen über das Browserfenster angelegt hast.
Jepp, die IP habe ich. Und auch das konfigurierte Passwort. Ich habe auch schon die IP im Browser eingegeben und bin auf so einer Art Website gelandet, wo ich mich dann auch erfolgreich einloggen konnte.
Das Passwort kann man aber auch über den YunFirstConfig-Sketch einstellen, nicht nur über den Browser.
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

dony

#6
Dec 16, 2018, 06:47 pm Last Edit: Dec 16, 2018, 06:48 pm by dony
PuTTY ist ein Terminal Program mit dem Du eine SSH Verbindung zu fast jeden Linux System herstellen kannst, sofern ein SSH Server installiert ist, welcher im Grunde immer installiert ist.
Lade Dir PuTTY oder ein anderes SSH Terminal Programm aus dem Netz und verbinde Dich mit dem Arduino YUN. Du musst lediglich die IP Adresse eingeben. Username: root, Passwort ist das welches Du für die Web Oberfläche hast.
Hier kannst Du lsusb eingeben um zu überprüfen ob der USB Stick überhaupt erkannt wurde.

Ich sag mal so, der große Unterschied beim Arduino YUN ist eben das Du OpenWRT in Verbindung mit einem Leonardo hast. Du solltest Dich also auch etwas mit Linux auseinandersetzen, google mal wie man in einem Linux Terminal im arbeitet bzw. im Dateisystem navigiert und wie es aufgebaut ist.
Was ich Dir auf die schnelle sagen kann:
Code: [Select]
cd /mnt/
ls

Zeigt Dir die gemounteten (angeschlossenen und eingebunden) Geräte an. Schau hier mal rein.
Hast Du einen anderen USB Stick, es ist auch möglich das es keinen Treiber für Deinen USB Stick gibt?

Grüße,
Donny
Bitte Code in Codetags, </> (erster) Button in der Toolbar.
Schnell was umstellen: Alerts->Settings |->Look and Layout->Use full editor in Quick Reply
Grüße, Donny

HTML-Fan

Da ich kein Internet habe, habe ich statt PuTTY den seriellen Monitor als Terminal mit dem Sketch "YunSerialTerminal" verwende.
Code: [Select]
root@Yun:/# cd /mnt            // ohne USB-Stick
root@Yun:/mnt# ls
 [1;36msd [m     [1;34msda1 [m
root@Yun:/mnt#                 // USB-Stick verbunden

[  158.160262] usb 1-1.1: new high-speed USB device number 4 using ehci-platform
[  158.313397] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  158.316813] scsi host1: usb-storage 1-1.1:1.0
[  159.361587] scsi host1: scsi scan: INQUIRY result too short (5), using 36
[  159.364098] scsi 1:0:0:0: Direct-Access     Intenso  Rainbow Line     1.00 PQ: 0 ANSI: 4
[  159.369089] sd 1:0:0:0: Attached scsi generic sg1 type 0
[  159.375144] sd 1:0:0:0: [sdb] 30548032 512-byte logical blocks: (15.6 GB/14.6 GiB)
[  159.378613] sd 1:0:0:0: [sdb] Write Protect is off
[  159.381249] sd 1:0:0:0: [sdb] No Caching mode page found
[  159.383086] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[  159.391933]  sdb: sdb1   
[  159.399190] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[  159.557340] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

cd /mnt                        // mit USB-Stick
root@Yun:/mnt# ls
 [1;36msd [m     [1;34msda1 [m   [1;34msdb1 [m
root@Yun:/mnt#

ist dabei rausgekommen. Was genau bedeutet das? Als ich
Code: [Select]
lsusb eingegeben habe, kam nur ein Fehler, irgendwas von "Not found".
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

HTML-Fan

#8
Dec 17, 2018, 05:06 pm Last Edit: Dec 17, 2018, 05:14 pm by HTML-Fan
Ähh, kleine Frage zu PuTTY: Ich hab's jetzt damit doch mal probiert, und als ich die IP eingegeben, SSH und Port 22 ausgewählt und dann auf "Open" gedrückt habe, hat sich ein neues Fenster geöffnet und PuTTY wollte irgend einen Login-namen on mir. Was muss man da eingeben?
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

postmaster-ino

Hi
PuTTY ist ein Terminal Program mit dem Du eine SSH Verbindung zu fast jeden Linux System herstellen kannst, sofern ein SSH Server installiert ist, welcher im Grunde immer installiert ist.
Lade Dir PuTTY oder ein anderes SSH Terminal Programm aus dem Netz und verbinde Dich mit dem Arduino YUN. Du musst lediglich die IP Adresse eingeben. Username: root, Passwort ist das welches Du für die Web Oberfläche hast.
Hier kannst Du lsusb eingeben um zu überprüfen ob der USB Stick überhaupt erkannt wurde.

Ich sag mal so, der große Unterschied beim Arduino YUN ist eben das Du OpenWRT in Verbindung mit einem Leonardo hast. Du solltest Dich also auch etwas mit Linux auseinandersetzen, google mal wie man in einem Linux Terminal im arbeitet bzw. im Dateisystem navigiert und wie es aufgebaut ist.
Was ich Dir auf die schnelle sagen kann:
Code: [Select]
cd /mnt/
ls

Zeigt Dir die gemounteten (angeschlossenen und eingebunden) Geräte an. Schau hier mal rein.
Hast Du einen anderen USB Stick, es ist auch möglich das es keinen Treiber für Deinen USB Stick gibt?

Grüße,
Donny
MfG

PS:lsusb soll Dir eigentlich die USB-Geräte auflisten.
Deine Ausgabe bei 'USB-Stick verbunden' sehen mir auch eher nach dmesg als ls aus.
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

HTML-Fan

Deine Ausgabe bei 'USB-Stick verbunden' sehen mir auch eher nach dmesg als ls aus.
Die kam irgendwie automatisch, als ich den Stick reingesteckt habe.
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

HTML-Fan

/mnt/sda1
Ich weiß das Problem jetzt: Nicht sda1, sondern sdb1 funktioniert.

Danke für die Antworten!
<!DOCTYPE HTML> 
<html>
 <head></head>
 <body><b>Tsch&uuml;ss!</b><br>HTML-Fan</body>
</html>

dony

#12
Dec 20, 2018, 08:42 am Last Edit: Dec 20, 2018, 08:43 am by dony
Hallo,

Stimmt, das hätte mir auffallen sollen, wenn man die letzten Zeilen aus Deiner Ausgabe betrachtet, allerdings ist die Ausgabe etwas ... naja.  :smiley-confuse:
Quote
[  159.557340] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

cd /mnt                        // mit USB-Stick
root@Yun:/mnt# ls
 [1;36msd [m     [1;34msda1 [m   [1;34msdb1 [m
root@Yun:/mnt#
Sowas übersieht man leider gerne mal. Was die letzte Meldung angeht, es gibt irgendeinen Fehler im Dateisystem des USB Stick.

Grüße,
Donny
Bitte Code in Codetags, </> (erster) Button in der Toolbar.
Schnell was umstellen: Alerts->Settings |->Look and Layout->Use full editor in Quick Reply
Grüße, Donny

Go Up