DS3231模块是一款适用于多种单片机的RTC模块,通过DS3231,你可以为没有内置时钟模块的单片机提供精准授时。

在树莓派model 3B上,我们可以利用该模块为树莓派授时,使树莓派无需连接网络就能够保证时钟的同步。

  • 开启I2C
  • 在树莓派命令行下,输入

    $ sudo raspi-config
    

    进入树莓派配置界面,

    $ sudo vim /etc/modules
    

    此处采用vim编辑器,按下 i 键后进入编辑模式,加入i2c-bcm2835、i2c-dev、rtc-ds1307, 编辑后类似于:

    snd-bcm2835
    i2c-bcm2835
    i2c-dev
    rtc-ds1307
    

    按下esc退出编辑模式,输入英文冒号+wq退出。

    3.硬件连线

    查看时间,你会发现时间严重与现在时间不符合。

    如果你现在连接到互联网的话,稍等一会,树莓派会自动与授时服务器进行同步时间。但是如果没有连接到网络的话可以输入以下命令设置时间:

    $ date -s "2017-05-20 12:03:00"
    

    其中的时间按需修改。

    时间设置完毕或者互联网授时完毕后,输入

    $ sudo hwclock -w
    

    来将系统时间写入rtc模块。

    你也可以输入

    $ sudo hwclock -r
    

    来查看是否写入成功。

    总而言之,之后操作的命令主要也就三个了:

  • 将系统时间写入RTC:
  • $ sudo hwclock -w
    
  • 从RTC读取时间,但也仅仅是“读取”,并非写入系统时间:
  • $ sudo hwclock -r