Jump to content

uziel

Members
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

uziel's Achievements

Newbie

Newbie (1/14)

0

Reputation in der Community

  1. argh, das war einfach. vielen dank. hab noch eine weitere möglichkeit gefunden: def cb_illuminance_data(illuminance): fambl = open('gerty_illuminance_data.csv', 'a') fambl.write(str(illuminance/10)) fambl.write('\n') fambl.close() und unten dann nur noch: ambl.register_callback(ambl.CALLBACK_ILLUMINANCE, cb_illuminance_data) ich war zu versteift auf die "with open" lösung. mal sehen welche der beiden von vorteil sein wird.
  2. Erst einmal vielen Dank für die Anregungen. und jetzt der komplette error log: Exception in thread Callback-Processor: Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 552, in __bootstrap_inner File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 505, in run File "build/bdist.linux-x86_64/egg/tinkerforge/ip_connection.py", line 743, in callback_loop self.dispatch_packet(data) File "build/bdist.linux-x86_64/egg/tinkerforge/ip_connection.py", line 724, in dispatch_packet cb(self.deserialize_data(payload, form)) File "/Users/Martin/Documents/Projekte/TinkerForge/Gerty/gerty_130830.py", line 48, in cb_illuminance_data ausgabe1.writerow([str(illuminance/10)]) ValueError: I/O operation on closed file
  3. Liebe TinkerForge-Community, seit einiger Zeit bastel ich an einem kleinen Projekt, in welchem ich sekündlich Messwerte der Tinker-Bricklets in einer .csv-Datei zeilenweise speichern möchte. Dazu muss ich sagen, dass ich mit Python das erste Mal versuche (außerhalb von Grundkursen in Schule und Uni...die lange her sind) wieder zu programmieren. Zuerst habe ich dies über eine einfache Schleife gelöst, welche die Werte sekündlich abfragt und speichert. Was mir daran nicht gefiel ist, dass das Programm dadurch eigentlich den Hauptteil wartet und alles nacheinander abgearbeitet wird. Sollten später komplexere Teilschritte dazu kommen, würde es sowieso meine "Zeitplanung" durcheinander werfen. Deswegen möchte ich nun das Abspeichern von Messwerten mit Callbacks lösen, und so quasi gleichzeitig mehrere andere Aufgaben des Programms ausführen zu können. Anfangs definiere ich den Callback: def cb_illuminance_data(illuminance): ausgabe1.writerow([str(illuminance/10)]) später im Hauptteil möchte ich Ihn folgendermaßen ausführen: ambl.set_illuminance_callback_period(100) with open('gerty_illuminance_data.csv', 'wb') as csvfile1: ausgabe1 = csv.writer(csvfile1, delimiter=';', quotechar='|') ausgabe1.writerow(['Beleuchtungsstärke']) ausgabe1.writerow(['lux']) ambl.register_callback(ambl.CALLBACK_ILLUMINANCE, cb_illuminance_data) Leider bricht beim Ausführen das Programm mit dem ersten Anlauf des Callbacks mit einer Fehlermeldung ab ("Callback loop"). Welchem (Denk)Fehler bin ich unterlegen? PS: den genauen Fehlerbericht liefere ich heute Abend nach. Ich bin derzeit nicht zu Hause, mich juckt das Problem aber schon so lange, dass ich nicht länger warten konnte es zu schildern. Vielen Dank.
×
×
  • Neu erstellen...