Seite 1 von 1

I2C Abfrage

Verfasst: Dienstag 13. Oktober 2015, 16:10
von tomrossi
Hi
ich habe mal versucht einen I2C Port abzufragen und eine Aktion zu starten, indem Fall soll eine SMS versendet werden.
Ich habe da Probleme mit der Variable, könnt Ihr mir einen Tip geben, danke Thomas

Code: Alles auswählen

    #!/usr/bin/python

    import smbus
    import os
    import tempfile


    bus = smbus.SMBus(1)

    addr = 0x69

    zeichen = bus.read_byte_data(addr,0x00)

    if (zeichen = [2])
        filename = '/var/spool/sms/outgoing/send.%s.txt' % os.getpid()
        temp = open(filename, 'w+b')
        temp.write ("To: +49xxxxxxx" + "\n\n" + "Power failure")
           
        try:
            print 'temp:', temp
            print 'temp.name:', temp.name
        finally:
            temp.close()

Re: I2C Abfrage

Verfasst: Dienstag 13. Oktober 2015, 16:40
von BlackJack
@tomrossi: Erst einmal solltest Du den Syntaxfehler beheben der das überhaupt am laufen hindert.

Mit welcher Variablen hast Du denn welches Problem?

Was gibt `bus.read_byte_data()` für einen Wert/Datentyp zurück?

Die Klammern bei der Bedingung sind übrigens überflüssig.

Re: I2C Abfrage

Verfasst: Dienstag 13. Oktober 2015, 18:01
von tomrossi
Hi
wenn ich einen print zeichen einfüge, dann gibt er mir 1 zurück ( 1 für Netzbetrieb, 2 für Batteriebetrieb)

Problem macht die Zeile 14, die Syntax mit oder ohne Klammern stimmt nicht

Wenn ich if zeichen == 2 versuche, dann passt das 2 nicht

Bin etwas ratlos

Vor lauter Bäumen....

Hab den : nach dem
if zeichen == 2:

nicht eingetragen, jetzt gehts