เป็นที่ทราบกันทั่วไปว่านาฬิกามีความสำคัญต่อมนุษย์มาก คอมพิวเ้ตอร์ก็เช่นเดียวกัน โดยเฉพาะเรื่องการทำ log ตาม พรบ. ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550 อุปกรณ์คอมพิวเตอร์เกือบทุกชนิดจะมีนาฬิกาติดตั้งมาด้วย ยกเว้น raspberry pi เพื่อเป็นการประหยัดต้นทุนการผลิต ที่นี้ของที่ต้องใช้กลับไม่มีจะทำยังไง ก็ต้องหามาติดตั้งกัน ทางแรกที่ดีที่สุดคือการใช้ Hardware Clock ทางที่สองคือใช้ Network Time Protocol มาช่วย
การใช้ Hardware Clock น่าจะเป็นทางเลือกที่ดีที่สุด เพราะสามารถใช้งานได้ตลอดเวลา (ถ้ายังมีพลังงานป้อน) โดยไม่จำเป็นต้องเชื่อมต่อกับอินเตอร์เน็ต ผมค้นดูพบผู้จำหน่ายสองรายคือ
การใช้ Hardware Clock น่าจะเป็นทางเลือกที่ดีที่สุด เพราะสามารถใช้งานได้ตลอดเวลา (ถ้ายังมีพลังงานป้อน) โดยไม่จำเป็นต้องเชื่อมต่อกับอินเตอร์เน็ต ผมค้นดูพบผู้จำหน่ายสองรายคือ
DS1307 Real Time Clock breakout board kit ของ Adafruit และ RasClock ของ Afterthought Software
DS 1307 |
RasClock |
ทั้งคู่มีวิธีการติดตั้งที่แตกต่างกันนิดหน่อย แต่อ่านดูแล้วก็ไม่ยากนักครับ ท่านที่สนใจก็สามารถหาซื้อมาศึกษากันได้
การใช้ Network Time Protocol (NTP) เป็นเรื่องที่กล่าวถึงรายละเอียดกันนิดหน่อย หลักการของ NTP คือการเทียบเวลากันระหว่างเครื่องคอมพิวเตอร์ (เครื่องลูก) กับเครื่องให้บริการ (NTP Server)
การเทียบเวลานั้นจะมีการแบ่งเป็นระดับ (strata) โดย
- stratum 0 หมายถึงเครื่องมือหรืออุปกรณ์ทีี่ให้กำเนิดสัญญาณนาฬิกาได้ เช่น Atomic Clock, GPS
- stratum 1 หมายถึ้งเครื่องคอมพิวเตอร์ทีขอเทียบเวลาจาก stratum 0 โดยตรง
- stratum 2 หมายถึ้งเครื่องคอมพิวเตอร์ทีขอเทียบเวลาจาก stratum 1 และสามารถขอเทียบได้จากเครื่องในระดับ stratum 1 ได้มากกว่า 1 แห่ง เพื่อเป็นการสำรอง
- stratum 3 หมายถึ้งเครื่องคอมพิวเตอร์ทีขอเทียบเวลาจาก stratum 2 และสามารถขอเทียบได้จากเครื่องในระดับ stratum 1 ได้มากกว่า 1 แห่ง เพื่อเป็นการสำรอง
- ...
ระบบนี้สามารถรองรับได้ถึง stratum 16 ที่เดียว มีการทำงานในแบบของ client / server โดยเครื่องที่อยู่ใน stratum สูงจะขอเทียบจาก stratum ที่ต่ำกว่า
ระบบปฏิบัติการที่ใช้งานบน raspberry pi มีหลายตัว ตัวที่ได้รับความนิยมมากที่สุดคือ raspbian wheezy นั้นจะมีการติดตั้ง NTP daemon มาเรียบร้อยแล้ว คงเหลือแต่การ config เท่านั้น แต่หากใครใช้ Arch Linux ่เช่นเดียวกับผมท่านจะต้องติดตั้ง ์NTP daemon เองทั้งหมด โดยมีขั้นตอนดังนี้
1. ตรวจสอบ timezone ก่อน
# timedatectl
ในการติดตั้งครั้งแรก ควรจะได้ผลดังภาพ ซึ่งจะเห็นได้ว่า timezone ยังเป็นของ London อยู่ และ Local Time นั้นย้อนไปปี 1970 โน้น
2. กำหนด timezone ให้ตรงกับความเป็นจริง
# timedatectl set-timezone Asia/Bangkok
หากท่านไม่ทราบชื่อ time zone ของท่าน ก็ให้ใช้คำสั่ง
# timedatectl list-timezones
เพื่อดูรายชื่อของ time zone ทั้งหมดที่มีอยู่แล้วเลือกมาใช้งานก็ได้
3. ติดตั้ง ntp เพื่อใช้เป็นตัวเทียบเวลา
# pacman -S ntp
4. หลังติดตั้งเสร็จแล้วก็เป็นการกำหนดค่าให้กับ stratum ในชั้นต่าง ๆ โดยการไปกำหนดใน /etc/ntp.cfg
ในกรอบสีแดงจะเห็นว่าผมเติมรายชื่อ ntp server เข้าไป (ตัวเลขหน้าสุด เช่น 0.th.pool.ntp.org หมายถึงระดับของ stratum ) ท่านควรเลือกใช้ server ที่อยู่ใกล้ที่สุดโดยศึกษาจากเว็บไซต์นี้ได้เลยครับ http://support.ntp.org/bin/view/Servers/NTPPoolServers
5. ทำการ add service
# systemctl enable ntpd
# systemctl start nptd
6. ทดสอบซะหน่อย
# timedatectl set-npt 1
# timedatectl status
คราวนี้จะเห็นว่า Timezone เป็น Asia/Bangkok และ NTP enabled และ NTP synchronized แล้ว
7. restart แล้วก็เป็นอันเสร็จสิ้น สิ่งที่ควรจำก็คือ
1. การใช้ ์ NTP ตัว raspberry pi ต้องต่อกับอินเตอร์เน็ตได้
2. หลังการ boot ทุกครั้ง จะต้องให้เวลาสักนิดในการ sync time
ความคิดเห็น
แสดงความคิดเห็น