Para configurar un reloj en tiempo real MCP79410 (RTC, ver manual), es necesario comenzar conectándolo a su RPi y un cristal de cuarzo. Se supone que lo siguiente es un esbozo de cómo conectar los pines para apuntar uno en la dirección correcta; en la práctica, es posible que se necesiten capacitores para suavizar las señales o resistencias para activar la interfaz SCL y SDA, según, por ejemplo en la batería y el cristal de cuarzo utilizado.
X1: Conecte a un cristal de cuarzo externo de 32,768 kHz X2: Conecte a un cristal de cuarzo externo de 32,768 kHz VBAT: Conecte a una batería externa VSS: Conecte a GND (por ejemplo, RPi-Pin 9) VCC: Conexión a RPi-Pin 1 (3.3V) MFP: -SCL: Conexión a RPi-Pin 5 (GPIO3_SCL1) SDA: Conexión a RPi-Pin 3 (GPIO3_SDA1)
Después de conectar los componentes de hardware, es necesario configurar una interfaz de comunicación entre el MCP79410 y el RPi a través de I2C (se puede activar a través de sudo raspi-config y allí "7 opciones avanzadas" -> "A7 I2C" -> " Si" ). Para hacerlo, primero se debe verificar su disponibilidad:
i2cdetect -y 1
o, para RPis más antiguos, i2cdetect -y 0
debe devolver
0 1 2 3 4 5 6 7 8 9 abcde f00: - - - - - - - - - - - - --10: - - - - - - - - - - - - - - - - --20: - - - - - - - - - - - - - - - - --30: - - - - - - - - - - - - - - --40 : - - - - - - - - - - - - - - --50: - - - - - - - 57 - - - - - - - --60: - - - - - - - - - - - - - - 6f70: - - - - - - - -
Esto significa: En 0x57 y 0x6f, el MCP79410 está escuchando la comunicación I2C. 0x57 conduce a la EEPROM, un registro de estado y un registro de ID único, mientras que 0x6f es la dirección que conduce al propio RTC.
Para establecer una conexión, la línea rtc-mcp7941x
debe agregarse a / etc / modules
y la línea dtoverlay = i2c-rtc, mcp7941x
a /boot/config.txt
.
Después de un reinicio, el i2cdetect
-comando de arriba debería regresar
0 1 2 3 4 5 6 7 8 9 abcde f00: - - - - - - - - - - - - --10: - - - - - - - - - - - - - - - --20: - - - - - - - - - - - - - - - --30: - - - - - - - - - - - - - - - --40: - - - - - - - - - - - - - - - --50: - - - - - - - 57 - - - - - - - - --60: - - - - - - - - - - - - - - UU70: - - - - - - - - -
Para utilizar la conexión recién establecida para proporcionar una señal de tiempo al RPi, es necesario comentar las líneas
if [-e / run / systemd / system]; luego salga de 0fi
de / lib / udev / hwclock-set
.
Antes del siguiente paso, uno debe asegurarse de que su sistema la hora es precisa (por ejemplo, comparándola con un reloj controlado por radio cercano).
Ahora, uno envía la hora actual del sistema al RTC usando el comando
hwclock -w
De ahora en adelante, el RTC mantendrá la hora y resincronizará la hora del sistema del RPi automáticamente al inicio o manualmente ingresando
hwclock -r