Hallo Leute,
ich habe einen Raspberry mit Ubuntu drauf und möchte seriell eingelesene Daten auf einen (beliebigen) USB-Stick schreiben.
Damit der Stick immer unter dem gleichen Namen erscheint, habe ich folgende Regel unter
/etc/udev/rules.d/80-usbdevice.rules
erstellt:
1 | RUN+="/bin/mount -t vfat -o uid=0,gid=46,umask=000 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0-part1 /home/mensa/stick" |
Das funktioniert auch ganz gut.
Danach starte ich das Programm, das die seriellen Daten einliest:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/usr/bin/python # coding: utf8 import time import serial ser = serial.Serial("/dev/ttyAMA0") ser.baudrate = 9600 x = 0 while 1: i=ser.readline() if (x == 1): try: File_Obj = open("/home/mensa/stick/reading.txt", "a") File_Obj.write(i) File_Obj.close except: ser.write("F") print("end with errors") if ("record stop" in i): print "record stop" x = 0 else: print i if ("record start" in i): print "record start" x = 1 else: print i # ENDE |
Auch das funktioniert ganz gut. Wenn der Befehl "record start" kommt, dann fängt das Programm an, die Daten auf den USB-Stick zu schreiben. Bei "record stop" hört es auf.
Soweit so schlecht, aber wenn ich keinen USB-Stick stecken habe, dann wird mir unter dem Pfad
/home/mensa/stick/
einfach eine Datei "reading.txt" erstellt und die Daten werden da reingeschrieben.
Was mache ich falsch, bzw. wie kann ich das verhindern?
Wäre super, wenn Ihr mir helfen könntet, auch wenn das hier kein Raspberry-Forum ist. Vielen Dank vorab!
Bearbeitet von rklm:
Warum benutzt Ihr eigentlich nicht das passende Syntaxhighlighting?