Ich habe ein kleines Projekt, in welchem ich über dem OBD Port meines Autos die Umdrehungen anzeigen lassen möchte.
Das simple Script funktioniert tadellos.
Code: Alles auswählen
from obd import OBDStatus
import obd
import time
obd.logger.setLevel(obd.logging.DEBUG)
connection = obd.Async(portstr="/dev/ttyUSB0")
# a callback that prints every new value to the console
def new_rpm(r):
print r.value
connection.watch(obd.commands.RPM, callback=new_rpm)
if connection.status() == OBDStatus.CAR_CONNECTED:
print("Auto verbunden")
connection.start()
time.sleep(60)
connection.stop()
Nun möchte ich das Ergebnis gerne in eine Variable schreiben um es zu einem späteren Zeitpunkt auszugeben oder weiter zu leiten.
Genau daran hapert es. Meine Idee war:
Code: Alles auswählen
from obd import OBDStatus
import obd
import time
#obd.logger.setLevel(obd.logging.DEBUG)
connection = obd.Async(portstr="/dev/ttyUSB0")
# a callback that prints every new value to the console
def new_rpm(r):
return r.value
if connection.status() == OBDStatus.CAR_CONNECTED:
print("Auto verbunden")
connection.start()
print new_rpm
time.sleep(60)
connection.stop()
Verstehe ich das Prinzip von "return" nicht ganz, oder liegt es an der Art und Weise wie ich die Funktion definiere?
Gruss Bluesmoke