Проверяем а если часы: dmesg | grep rtc Проверяем какие модули загружены: lsmod Проверяем что у нас на шине i2c (у нас часы имеют адрес 68) i2cdetect -y 1 Пробуем прочитать регистры: i2cget -y 1 0x68 0x00 for reg in {0..6}; do echo "Регистр 0x0$reg: $(i2cget -y 1 0x68 0x0$reg)"; done Пробуем изменить вывод на 24 часа: i2cset -y 1 0x68 0x02 0x12 Добавляем часы в систему что бы можно было с ними взаимодействовать modprobe rtc-ds1307 echo "ds1307 0x68" > /sys/class/i2c-adapter/i2c-1/new_device dmesg | grep rtc hwclock -s -f /dev/rtc1 # Запись системного времени в RTC hwclock --systohc hwclock --systohc -f /dev/rtc1 # Чтение времени из RTC hwclock -v hwclock -v -f /dev/rtc1 Для автоматического включения модуля ядра rtc-ds1307: echo "rtc-ds1307" >> /etc/modules
python script:
apt install python3-smbus2 cat > clock.py << "EOF" from smbus2 import SMBus import time I2C_BUS = 1 # номер шины (0 или 1) DEV_ADDR = 0x68 # адрес DES3338 на шине with SMBus(I2C_BUS) as bus: # Чтение 7 байт (секунды, минуты, часы...) data = bus.read_i2c_block_data(DEV_ADDR, 0x00, 7) print(f"Время: {data[2]}:{data[1]}:{data[0]}") EOF python clock.py