ช่วงระหว่างรอซื้อ Smart 7688 Duo เพื่อเอามาพัฒนาระบบงานโดยรับค่าผ่านทาง Arduino ก็ลองศึกษา Node.js ไปด้วยเพื่อเตรียมงานไปในตัว
วัตถุประสงค์ของการสแกนลายนิ้วมือของระบบ Time Attendance นั้นก็เพื่อป้องกันไม่ให้ทุจริตตอกบัตรแทนกันนั่นเอง แต่การทำงานผ่านระบบคอมพิวเตอร์ก็มีเรื่องของการเปลี่ยนแปลงข้อมูลได้เช่นกัน ที่ชัดเจนที่สุด คือ เปลี่ยนแปลงเวลาในเครื่อง หรือแม้แต่การปลอมแปลงข้อมูลก่อนส่งเข้าไปเก็บที่เซิร์ฟเวอร์
แต่โชคดีที่ระบบเน็ตเวิร์กสามารถกำหนดเวลาจากเซิร์ฟเวอร์ได้ ซึ่งถ้าจะผิดก็ต้องผิดมาจากต้นทางนั่นเอง
การเรียกใช้เวลาจากเซิร์ฟเวอร์นั้นวิธีที่ดีที่สุดก็ เป็นการอ้างอิงจากเซิร์ฟเวอร์ที่ให้บริการทางด้านเวลา เรียกว่า NTP Server ในประเทศไทยมีหลายแห่ง ลองค้นหาจากอินเตอร์เน็ตดู
ใน Node.js มีโมดูลหนึ่งชื่อ ntp-client สำหรับเชื่อมต่อไปยัง ntp server เพื่อขอเวลามาตรฐาน การใช้งานให้ติดตั้งโมดูลด้วยคำสั่ง
npm install ntp-clientและ
npm install colors
(โมดูลนี้ไม่เกี่ยวกับเวลา แต่เป็นตัวจัดการสีที่จะแสดงออกทาง Console เพื่อให้ดูสวยงาม)
หลังจากติดตั้งเสร็จแล้วก็เรียกใช้ด้วยคำสั่งง่ายๆ ดังนี้
var ntpClient = require('ntp-client');
var color = require('colors');
ntpClient.getNetworkTime("ntp.ku.ac.th", 123, function(err, date) {
if(err) {
console.error(err);
return;
}
console.log("Current time : ");
console.log("System time: %s".blue, new Date()); // Mon Jul 0
console.log("Network time: %s".green, date);
});
บรรทัดแรกเรียกใช้โมดูล ntp-client
บรรทัดที่สองเรียกใช้โมดูล colors
บรรทัดที่สามรับเวลาจาก ntp.ku.ac.th ผ่าน port 123 (udp)
เมื่อได้ข้อมูลแล้วก็เขียนไปที่ Console โดยแสดงวันที่ระบบ หรือวันที่ของเครื่องใช้ฟังค์ชัน new Date() แสดงเป็นสีน้ำเงิน และแสดงวันที่ที่ได้จาก ntp ผ่านตัวแปร date ได้มาจาก Anonymous Function ตอนส่งคำสั่งร้องขอไปที่ ntp server
ผลลัพธ์ที่ได้ดังในรูป
![]() |
เวลาในเครื่องเป็นวันที่ 20 เวลา 11.38 นาที แต่เวลาจริงที่ได้จาก ntp เป็น 14.06 วันเดียวกัน |
จากตัวอย่างนี้เราสามารถนำเอาเวลา ntp server มาใช้งานได้ อาจจะเอาไว้ส่งโดยตรงหรือแก้ไขเวลาในเครื่องโดยตรงก็ทำได้ (จะนำมาบันทึกไว้ภายหลัง)
ถึงตอนนี้ระบบสแกนลายนิ้วมือก็มีวิธีการ ดึงเวลาจาก ntp server แล้ว และจะคิดระบบที่เกี่ยวข้องอื่นๆ ต่อไป...
No comments:
Post a Comment