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

Thursday, January 2, 2014

ทำ Static IP ให้ Wi-Fi


มี Wi-Fi แล้ว อยากจะทำให้เป็น Static IP ไม่ยากครับ
เริ่มจากหาค่า Network ที่ต้องการ ตัวอย่างเช่น

   address 192.168.1.20
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1

วิธีการหาดูตัวอย่างได้จาก เปลี่ยน Dynamic IP ให้เป็น Static IP

เมื่อได้ค่า Network ที่ต้องการแล้ว ก็ไปแก้ไฟล์ /etc/network/interfaces
โดยแก้ที่บรรทัด

iface default inet dhcp

ให้เป็น

iface default inet static
   address 192.168.1.20
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1

จากนั้นก็ reboot

sudo reboot

เป็นอันเสร็จพิธี