Sunday, January 26, 2014

ติดตั้ง Real Time Clock ให้ Raspberry Pi

ได้ RTC (Real Time Clock) สำหรับ Raspberry Pi มาตัวนึง ขนาดเล็กมาก

มีแบตเตอรี่อยู่ด้านหลังด้วย

ทำมาเสียบกับ P1 header ได้เลย


การเสียบให้ทำตามรูป โดยหันด้านที่มีแบตเตอรี่เข้าหา Raspberry Pi ส่วนด้านที่มี IC ให้หงายขึ้น
แล้วทำการ Update/Upgrade ให้เรียบร้อยก่อนค่อยติดตั้ง Software ครับ


เริ่มจากติดตั้งเครื่องมือสำหรับ i2c โดยใช้คำสั่ง

sudo apt-get install i2c-tools

แก้ไฟล์ /etc/modules โดยใช้คำสั่ง

sudo vi /etc/modules


เพิ่มข้อมูลต่อท้ายไปสามบรรทัด

i2c-bcm2708
i2c-dev
rtc_ds1307

แล้วทำการ reboot

sudo reboot

จากนั้นตรวจดูว่ามีไฟล์ /etc/modprobe.d/raspi-blacklist.conf หรือเปล่า ถ้ามีก็ให้เข้าไปแก้

sudo vi /etc/modprobe.d/raspi-blacklist.conf

comment สองบรรทัดนี้ออก โดยเติม # ไว้ข้างหน้า ตามนี้

#blacklist spi-bcm2708
#blacklist i2c-bcm2708

หลังจาก save แล้ว ให้ทำการ load module



sudo modprobe i2c-bcm2708

แล้วสร้าง device



echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device

ตรวจสอบว่าเวลาของ Raspberry Pi ถูกต้องหรือไม่ โดยใช้คำสั่ง

date

ถ้าเวลาที่แสดงไม่ถูกต้อง อาจต้อง reboot ใหม่เพื่อให้ Raspberry Pi sync เวลาจาก Internet ให้ถูกต้อง
ต่อไปทำการเขียนเวลาลงไปใน RTC โดยใช้คำสั่ง

sudo hwclock -w

จากนั้นก็ทำการสร้าง device และ sync เวลาใหม่ ทุกครั้งที่ boot
โดยไปแก้ที่ไฟล์ /etc/rc.local

sudo vi /etc/rc.local

เติมสองบรรทัดนี้ลงไปก่อนคำสั่ง exit 0


echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
sudo hwclock -s


หลังจาก save แล้ว ให้ทำการ reboot

ต่อไปนี้ทุกครั้งที่ boot ก็จะได้เวลามาจาก RTC เป็นเวลาเริ่มต้น



References: 

http://satorshop.lnwshop.com/product/101/real-time-clock-for-raspberry-pi
http://nicegear.co.nz/raspberry-pi/high-precision-real-time-clock-for-raspberry-pi/
http://nicegear.co.nz/blog/using-an-i2c-real-time-clock-rtc-with-a-raspberry-pi/
http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/overview
http://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

No comments:

Post a Comment