Lecture horloge RTC

Envie d'ajouter des fonctions à votre Raspberry Pi ? Faites un tour sur ce forum...

Modérateur : Francois

Répondre
estelle
Raspinaute
Messages : 154
Enregistré le : jeu. 24 déc. 2015 17:14

Lecture horloge RTC

Message par estelle » mar. 31 janv. 2017 10:57

Bonjour,

J'ai un problème de lecture de date et d'heure dans un programme Python 3
Jusqu'à la version PI2 B V1.1 j'utilisais cette instruction pour mettre en forme la date et heure dans un programme Python

Code : Tout sélectionner

# Adresse I2C
rtc_address = 0x68
# Registres RTC         1
base     = 0x00
alarm_1  = 0x07
alarm_2  = 0x0B
status   = 0x0F
control  = 0x0E
temp     = 0x11

with i2c.I2CMaster() as bus:  
      bus.transaction(i2c.writing_bytes(rtc_address, base))
      R0,R1,R2,R3,R4,R5,R6 = bus.transaction(i2c.reading(rtc_address,7))[0]
    
    sec = R0 & 0b00001111
    dsec = (R0 & 0b01110000) >> 4
    min = R1 & 0b00001111
    dmin = (R1 & 0b01110000) >> 4
    heu = R2 & 0b00001111
    dheu = (R2 & 0b00110000) >> 4
    dat = R4 & 0b00001111
    ddat = (R4 & 0b00110000) >> 4
    moi = R5 & 0b00001111
    dmoi = (R5 & 0b00010000) >> 4
    ann = R6 & 0b00001111
    dann = (R6 & 0b11110000) >> 4
        
    minute=min+10*dmin
    Heure_H=str(dheu)+str(heu)
    Heure_M=str(dmin)+str(min)
    Heure=str(dheu)+str(heu)+":"+str(dmin)+str(min)+":"+str(dsec)+str(sec)
    Date =str(ddat)+str(dat)+"/"+str(dmoi)+str(moi)+"/"+str(dann)+str(ann)
    Moi  =str(dann)+str(ann)+"_"+str(dmoi)+str(moi)
    
    Date_heure_sql=str(dann)+str(ann)+"-"+str(dmoi)+str(moi)+"-"+str(ddat)+str(dat)+" "+Heure
    Date_fichier=str(dann)+str(ann)+"-"+str(dmoi)+str(moi)+"-"+str(ddat)+str(dat)+"_"+Heure
    Date_f=str(dann)+str(ann)+"-"+str(dmoi)+str(moi)+"-"+str(ddat)+str(dat)
J'ai fait l'acquisition d'une version PI2 B V1.2
Depuis j'ai un message d'erreur alors que j'ai bien refait les mises à jour et que lorsque je fais une commande
sudo hwclock -r, il me donne bien la date et l'heure

Traceback (most recent call last):
File "/home/pi/Documents/Essai_balances.py", line 76, in <module>
with i2c.I2CMaster() as bus:
File "/home/pi/quick2wire-python-api/quick2wire/i2c.py", line 48, in __init__
self.fd = posix.open("/dev/i2c-%i"%n, posix.O_RDWR|extra_open_flags)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/i2c-0'

Je suis étonnée qu'il cherche I2c-0 alors que je l'ai déclaré en I2c-1
Aurait il remis le canal 0 sur i2c ?

Merci d'avance
Estelle

Ghislain
Raspinaute
Messages : 315
Enregistré le : jeu. 12 nov. 2015 17:39
Localisation : Bourges (18)

Re: Lecture horloge RTC

Message par Ghislain » mar. 31 janv. 2017 17:39

Qu'appel tu le RPi2 B V1.1 et le RPi2 B V1.2 ???

estelle
Raspinaute
Messages : 154
Enregistré le : jeu. 24 déc. 2015 17:14

Re: Lecture horloge RTC

Message par estelle » mer. 1 févr. 2017 10:35

Ghislain a écrit :Qu'appel tu le RPi2 B V1.1 et le RPi2 B V1.2 ???
Ils ont sorti un Pi2 en version 1.2
C'est marqué sur le circuit imprimé coté composants
Si l'on prend une carte SD qui tourne sur une version V1.1 et que l'on insère dans une V1.2 cela ne fonctionne pas
Il faut tout d'abord mettre la carte à jour avec un update sur le PI en V1.1

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: Lecture horloge RTC

Message par Bud Spencer » jeu. 2 févr. 2017 06:05

La liste des versions de PI et comment les identifier :
http://www.raspberrypi-spy.co.uk/2012/0 ... d-version/
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

estelle
Raspinaute
Messages : 154
Enregistré le : jeu. 24 déc. 2015 17:14

Re: Lecture horloge RTC

Message par estelle » ven. 3 févr. 2017 22:11

Pi 2 Model B v1.1 1GB a21041 (Embest, China)
Pi 2 Model B v1.2 1GB a22042

Voici les deux modèles que je possède

Plus moyen d'utiliser la routine pour tester la date et l'heure comme sur la v1.1

destroyedlolo
Raspinaute
Messages : 1585
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Lecture horloge RTC

Message par destroyedlolo » sam. 4 févr. 2017 10:34

Salut Estelle,
estelle a écrit :Je suis étonnée qu'il cherche I2c-0 alors que je l'ai déclaré en I2c-1
Aurait il remis le canal 0 sur i2c ?
Ben ... ou l'as tu déclaré ? Parce que dans ton code, je ne vois nul part (mais je l'ai peut etre manqué) la déclaration du bus I2C a utilisé ?

Ensuite, par "déclaré", tu entends peut etre l'adresse de la RTC sur le BUS I2C ? Dans ce cas, c'est possible qu'il se trouve sur le bus 0 sur ton ancien PI alors qu'il est sur le second ou plus sur le nouveau.
La commande i2cdetect sera alors ton amie :

Code : Tout sélectionner

torchwood ~ # i2cdetect 0    
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
torchwood ~ # i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
torchwood ~ # i2cdetect 2
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
Dans mon cas, il y a qq chose en $34 sur le bus 0 (le PMU de mon Banana), rien du tout sur le bus 1 et mon driver I2C en $18 sur le bus 2.

bien le bonjour aux abeilles :)
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

Répondre

Retourner vers « Les cartes d'extension pour les Raspberry Pi »