Real Time Clock PCF8563 über i2C mit Python ansteuern

  • Hallo,

    ich möchte gerne mit dem RTC Modul PCF8563 über Python kommunizieren. Obwohl ich schon einige Erfahrungen mit Python gemacht habe kenne ich mich dagegen mit der low-lewel Programierung nicht besonders gut aus.

    Ich habe das PCF8563 Modul mit meinem R-Pi verbinden, und kann es ansprechen. Es funktioniert auch hervorragend mit hwclock. Es gibt dafür sogar einige Bibliotheken hier und hier.

    Die erste Bibliothek basiert aber auf der quick2wire Bibliothek die nicht mehr aktiv weiterentwickelt wird. Die zweite Bibliothek bietet leider nicht die Funktionen, die ich gerne hätte.

    Das PCF8563 hat nähmlich ein internes Alarm/Wecker und auch ein Interrupt Pin. Damit eignet sich es hervorragend zur Implementierung von einem Wecker.

    Eine Tutorial für Arduino gibt es hier, von dort habe ich auch die meisten Informationen. Ich war schon in der Lage das CLK OUT Pin des Moduls anzusteuern.

    Code
    import smbus
    bus = smbus.SMBus(0) # hab noch ein altes R-Pi der 1 . Serie
    # Adresse des Moduls ist 0x51
    bus.write_byte_data(0x51, 0x0D, 0x83)
    # jetzt blinkt ein angeschlossenes LED im 1 Hz Takt
    bus.write_byte_data(0x51, 0x0D, 0x0)
    # jetzt ist der CLK OUT Pin wieder aus

    Jetzt möchte ich aber gerne den Status des Alarms wissen und setzen. Das Arduino HowTo sagt dazu:

    Zitat


    You check bit 3 of the register at 0x01 (the “AF” alarm flag bit). If it’s 1 – it’s alarm time! Then you can turn the alarm off by setting that bit to zero. Using hardware, first set bit 1 of register 0x01 to 1 – then whenever an alarm occurs, current can flow into pin 3 of the PCF8563. Yes – it’s an open-drain output – which means current flows from the supply voltage into pin 3.

    Könnte mir jemand bitte ein Tipp geben wie ich des mit Python machen könnte ?

  • Real Time Clock PCF8563 über i2C mit Python ansteuern? Schau mal ob du hier fündig wirst!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!