Thông thường, khi khởi động, hệ điều hành của Raspberry sẽ tự động cập nhật thời gian. Tuy nhiên trong trường hợp không có kết nối Internet, mốc thời gian của Raspberry sẽ bị reset lại. Để khắc phục điều này, ta cần trang bị thêm module RTC DS3231 để nó lưu lại giá trị thời gian.
Module RTC DS3231 (https://www.proe.vn/rtc-ds3231-for-raspberry-pi)
Kết nối module RTC vào Raspberry (đặt mua Raspberry tại: https://www.proe.vn/search?query=raspberry+pi)
Đầu .tiên, để Raspberry Pi giao tiếp được với module, cần update I2C tools, và cho phép I2C hoạt động.
Nhập lệnh sudo apt – get install – y i2c – tools
Tiếp theo, mở Raspberry Pi Sofeware Configuration Tool bằng lệnh sudo raspi – config
Chọn Interfacing Options → I2C → Enabled. Sau đó Reboot.
Sau khi thực hiện xong bước này, ta có thể xem được địa chỉ của I2C bằng lệnh: sudo i2cdetect -y 1.
Tiếp theo, cần nạp module RTC vào Kernel bằng cách nhập lệnh:
Sudo modprobe rtc – ds1307
Sudo bash ()
Echo ds1307 0x68 > /sys/class/i2c – adapter/i2c – 1/new_device
Exit
Lúc này, bạn có thể kiểm tra thời gian của module RTC bằng lệnh: sudo hwclock – r
Kế đến, cần nạp thời gian của hệ thống vào RTC bằng lệnh. sudo hwclock – w
Như vậy, các bước cài đặt thời gian cho RTC trùng với hệ thống đã xong. Chúng ta cần hoàn tất bước cuối cùng để Raspberry sử dụng RTC.
Nhập lệnh sudo nano / etc / modules vào terminal. Add rtc – ds1307 vào cửa sổ nano
Lưu lại và thoát khỏi Nano.
Tiếp tục nhập lệnh: sudo nano /etc/rc.local
Nhập 3 dòng sau như hình:
Echo ds1307 0x68 > /sys/class/i2c – adapter/i2c – 1/new_device
Sudo hwclock -s
Date
Ctrl + X, tiếp tục nhấn Y để lưu và trở lại terminal. Nhập lệnh date để xem lại thời gian.
Reboot lại Raspberry để hoàn tất việc cài đặt. Bây giờ, Raspberry sẽ hiển thị đúng thời gian thực kể cả khi không cấp nguồn cho nó trong một khoảng thời gian.
Tài liệu tham khảo: https://thepihut.com/blogs/raspberry-pi-tutorials/17209332-adding-a-real-time-clock-to-your-raspberry-pi