การใช้ Real time clock กับ Raspberry pi

13 Jul 2016,
Share: 

ใน Raspberry pi จะไม่มี Real Time Clock มาให้ เมื่อเราปิดเครื่อง หรือไม่มีไฟฟ้าจ่ายให้กับ Raspberry pi วันที่และเวลาของเครื่องจะไม่เป็นปัจจุบัน วิธีที่จะทําให้เวลาของเครื่องเป็นวันที่ปัจจุบันมีด้วยกัน 2 วิธี ดังนี้

  1. ใช้ NTP server (จะต้องเชื่อมต่อกับเครือขาย internet)
  2. ใช้ Real time clock (ไม่ต้องเชื่อมต่อกับเครือขาย internet)

ในบทความนี้เราจะอธิบายวิธีใช้ Real time clock เป็นฐานเวลาให้กับ Raspberry pi ก่อนอื่นมารู้จักกันก่อนว่ามันคืออะไร Real time clock เป็น module ฐานเวลา เนื่องจากตัว module ใช้พลังงานจากถ่านกระดุมขนาดเล็กทําให้ตัว module ทํางานอยู่ตลอดเวลาแม้ไม่ได้จ่ายไฟเลี้ยง

จะนํา Real time clock มาใช้กับ Raspberry pi อย่างไร?

เมื่อ Raspberry pi เริ่มทํางานก็จะไปดึงค่าเวลาจาก Real time clock มาเซ็ตเวลาของเครื่อง ทําให้เวลาของเครื่องตรงกับปัจจุบัน Real time clock ที่ใช้จะเป็นICเบอร์ DS3231 น้าตาของบอร์ดตามรูปด้านล้างครับ

Image

real time clock ด้านหลังจะเป็น ถ่านกระดุม

Image

real time clock การเชื่อมต่อจะเป็นแบบ I2C โดยเราจะต้องต่อสายสัญญานระหว่าง Module กับ Raspberry pi ดังนี้ Raspberry pi ขา SDA<---->Real time clock ขา SDA Raspberry pi ขา SCL<---->Real time clock ขา SCL Raspberry pi ขา 3.3V<---->Real time clock ขา VCC Raspberry pi ขา GND<---->Real time clock ขา GND เมื่อเชื่อมต่อสายสัญญานเรียบร้อยแล้ว ใช้คําสั่งบน Raspberry pi ดังนี้(DS1307 และ DS3231 จะใช้ Driver ตัวเดียวกัน คือ ds1307)

# Load the module now
sudo modprobe i2c-bcm2708
# Notify Linux of the Dallas RTC device (use -0 for Model A or -1 for Model B)
echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device

Raspberry pi2 ให้ใช้คําสั่ง “echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device” Raspberry pi ให้ใช้คําสั่ง “echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-0/new_device”

ในขณะนี้เราสามารถใช้งาน Real time clock ได้แล้ว ขั้นตอนต่อไปเราลองดึงค่าเวลาของ Real time clock ออกมา ด้วยคําสั่งนี้

sudo hwclock

ในกรณีที่เราซื้อ Real time clock มาใหม่ เวลาของ module อาจจะไม่ตรง เราอาจจะต้องตั้งเวลาให้กับ module Real time clock ซะก่อน มีขั้นตอนดังนี้

  1. ตั้งเวลาของ Raspberry pi ให้ตรงกับปัจจุบัน(ดูวิธีการตั้งเวลา)
  2. Set เวลาให้กับ Module Real time clock

การ Set เวลาให้กับ Module Real time clock คือ

sudo hwclock -w

ถ้าเราต้องการจะดึงเวลาใน Real time clock มา Set ให้กับ  Raspberry pi ใช้คําสั่งนี้

sudo hwclock -s

เท่านี้เวลาของ Raspberry pi ก็จะตรงกับปัจจุบัน

วิธีทําให้ Set เวลา ทุกครั้งที่เปิดเครื่อง

ให้เราเปิดไฟล์ “/etc/re.local” ด้วยคําสั่ง nano ดูวิธีใช้คําสั่ง nano คลิก

sudo nano /etc/rc.local

แล้ว เพิ่มคําสั่งนี้ ก่อนบันทัด “exit 0”

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

Raspberry pi2 ให้ใช้คําสั่ง “echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device” Raspberry pi ให้ใช้คําสั่ง “echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-0/new_device”

เมื่อแก้ไข้ แล้วให้ Reboot เครื่อง หลังจากนี้เวลาเปิด Raspberry pi ขึ้นมาเวลาจะถูก Set เป็นปัจจุบันทุกครั้ง

Suggestion blogs

Unicode

Unicode คือ รหัสข้อมูลทางคอมพิวเตอร์ที่ใช้แทนอักขระ สามารถใช้แทนตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ ได้มากกว่า ASCII ซึ่งแทนอักขระได้แค่ 256 ตัวเท่านั้น(1Byte) Unicode สามารถใช้แทนตัวอักษร จากภาษาทั้งหมดทั่วโลก 24 ภาษา

LED แอลอีดี คืออะไร

ความเป็นมาของ LEDLED ได้ถูกนํามาใช้ในแผงวงจรครั้งแรกเมื่อปี 1962 ซึ่งในตอนนั้น LED จะให้ความเข้มของแสงไม่มากนัก และมีเฉพาะ ความถี่ในช่วงแสง infrared ไม่สามารถมองเห็นด้วยตาเปล่า มักจะใช้กับอุปกรณ์ประเภทรีโมทคอนโทรลต่างๆ ต่อมา LED ถูกพัฒนาขึ้นมาเรื่อยๆจนสามารถเปล่งแสงได้ครอบคุมตั้งแต่ย่าน infrared แสงที่มองห็นไปจนถึงย่าน ultra violet หรือ UV ในปัจจุบัน LED ถูกพัฒนาจนมีความเข้มของแสงสูงมาก และสามารถให้แสงสีขาวได้ จนสามารถนํามาใช้แทนหลอดไฟส่องสว่างที่มีใช้อยู่ในปัจจุบัน

Tag and push image to docker registry

สวัสดีครับ ในบทความนี้อธิบายถึงวิธีการ Tag และ push Image ที่เราสร้างขึ้นไปใว้ใน Docker Registry (hub.docker.com) ก่อนที่จะเริ่มเข้าเรื่อง ถ้าอ่านมาถึงตอนนี้แล้วยัง งงๆ ให้กลับไปอ่านเรื่อง สร้าง Docker Image ก่อนครับเพราะเนื่อหาในบทความนี้จะต่อเนื่องกันครับ ก่อน push image ของเราขึ้น Docker Registry ให้เราไปสมัคร account ของ hub.docker.com เมื่อเรียบร้อยผมจะอธิบายโดยแบ่งเป็นสองขั้นตอนดังนี้


Copyright © 2019 - 2025 thiti.dev |  v1.51.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ