Hallo,
Seit einem Jahr experimentiere ich mit meinem Raspberry und baue mir gerade eine Haussteuerung zusammen. Aber nun mein Problem:
seit Tagen versuche ich dem TMP175 (Temperatursensor) das low und high Byte für die 12 Bit Temperaturmessung zu entlocken. Sowohl das High als auch das Low Byte benutzen die selbe Speicherzelle. " mal auslesen nützt nichts es geht auch nur read. Ich schaffe es nur das 1. Byte (Highbyte im 9 Bitmodus auszulesen) an das Low Byte komme ich in auch in keinem anderen Modus (9,10,11,12 Bit) heran und sehe damit nur ganze Temperaturen ohne Nachkommastellen. Aber mit I2cdump -y 1 0x37 w sehe ich die beiden Byts und könnte damit die Temperatur berechnen. Andere Sensoren wie LM 75 usw gehen nicht, da der einzig freie Bereich im I2C Bus die Adressen 0x30 bis 0x37 sind. Alles andere ist weitgehend belegt. Wie kann ich in einem Python Programm diese I2cdump Werte werde auslesen und auswerten?
Wer hat einen Idee?
Besten Dank
Gruß
Michel
I2c Dump -y 1 0x37 im Python Prg benutzen
-
Suncastle0660 -
10. September 2014 um 15:34 -
Erledigt
-
-
I2c Dump -y 1 0x37 im Python Prg benutzen? Schau mal ob du hier fündig wirst!
-
- Offizieller Beitrag
probier mal
Codeimport subprocess def i2cdump(): i2c = subprocess.Popen(["I2cdump","-y", "1", "0x37","w"], stdout=subprocess.PIPE, stderr =subprocess.PIPE) out, err = i2c.communicate() return out, error check = i2cdump() print check
Man könnte natürlich noch die Adresse direkt an die Funktion übergeben aber so sollte es erstmal was brauchbares ausspucken.
-
wollte nur kurz noch anmerken dass die Temperatur nach Datenblatt eh um 1,5 °C schwankt, weshalb du auch auf die Nachkommastellen verzichten kannst
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!