이전에 라즈베리파이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 에서는 넣어줄 필요가 없다
댓글