본문 바로가기
카테고리 없음

라즈베리파이4 RTC DS1307 시간 동기화

by 학수씨 2021. 1. 16.

이전에 라즈베리파이3 에서 RTC를 사용했는데 그냥 구글링해서 암거나 따라하면 그냥 바로 구동되고 문제가 없었다.

이번에 보드를 라즈베리파이4로 변경하면서 이망할 RTC가 동작을 안하는것이다.

 

$ sudo i2cdetect -y 1

DS1307 을 I2C 로 연결하면

위 사진의 빨간 네모칸에 68 이라고 되어있을것이다.

여기까지만하면 일단 하드웨어 단은 성공.

 

 

$ sudo nano /boot/config.txt

하단에 위와 같이 써주자

 

 

fake hwclock 을 모두 삭제해줘야함.

 

$ sudo apt-get -y remove fake-hwclock

$ sudo update-rc.d -f fake-hwclock remove

$ sudo systemctl disable fake-hwclock

 

 

$ sudo nano /etc/modules

 

$ sudo nano /lib/udev/hwclock-set

3줄 주석처리 해주고 아래로 쭉 내리면

요 두줄도 주석처리해주자.

 

 

그리고 현재시간을 date 명령어로 잘 맞춰주고 RTC에 기록해주자.

$ sudo hwclock -w

 

이제 시스템이 부팅될때마다 RTC로부터 시간 동기화하기위해 rc.local 에 명령어를 입력해주자

$ sudo nano /etc/rc.local

1초를 쉬고 hwclock -s 를 한번 더 해주는이유는 가끔... 명령어가 잘 처리가 안되는경우가 발생하기때문에

혹시나해서 명령을 두번 넣어주도록 했다.

 

라즈베리파이3 에서는 echo ds1307 0x68 요런 명령어를 넣어줘야 했는데

파이4 에서는 넣어줄 필요가 없다

 

 

 

 

 

 

 

 

댓글