🛠 Ajouter une horloge temps réel sur le bus I2C des capes

BeagleBone Black (TI Sitara AM3358) · intermediaire · Schéma : IMG-beaglebone-black-intermediaire-2-horloge-rtc-i2c-bus-cape.svg — module RTC DS3231 avec pile bouton câblé sur P9_19 (SDA) et P9_20 (SCL) + 3,3 V/GND de la BeagleBone Black, bus I2C2 partagé avec les EEPROM de capes (0x54-0x57) en médaillon.

Objetivos

Cablear y configurar un reloj de tiempo real (RTC) I2C (clase DS3231/DS1307) en el bus I2C2 de la BeagleBone Black — el bus histórico de las capes, cuyas direcciones 0x54 a 0x57 están ocupadas por las EEPROM de identificación. Aprenderá a sondear el bus, declarar el módulo al kernel y sincronizar el reloj del sistema para que la fecha sobreviva a un corte total de corriente sin red.

Material

Código completo

sudo apt install i2c-tools
sudo i2cdetect -l                 # repérer le numéro du bus I2C2
sudo i2cdetect -y -r 2            # le DS3231 répond en 0x68

# Déclaration à la volée pour tester (le module noyau existe déjà) :
sudo modprobe rtc-ds1307
echo ds1307 0x68 | sudo tee /sys/bus/i2c/devices/i2c-2/new_device

# Quelle RTC est laquelle ?
ls /sys/class/rtc/ ; cat /sys/class/rtc/rtc1/name

# Régler puis lire l'horloge RTC
sudo date -s "2026-10-14 09:00:00"
sudo hwclock -f /dev/rtc1 -w      # système -> RTC
sudo hwclock -f /dev/rtc1 -r      # RTC -> système

# Relire après un redémarrage complet (sans réseau)
sudo reboot

Verificación esperada

i2cdetect muestra la dirección 0x68; después de ejecutar hwclock -w y reiniciar con el cable de red DESCONECTADO, la fecha se conserva (el kernel transfiere la hora de la RTC al arrancar). El archivo name de rtc1 contiene «ds1307» o «ds3231».

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales