มาดูเรื่อง Timestamp ก่อนนะครับ Timestamp ก็คือข้อมูลที่บอกว่าเหตุการใดเหตุการหนึ่ง เกิดขึ้นเมื่อไร เช่น เวลาเราไปฝากเงินหรือถอนเงินจากธนาคาร จะมีวันที่และเวลาที่เราทํารายการระบุอยู่ด้วย โดยทั่วไป Timestamp จะเก็บเป็นวันที่และเวลา หรือขึ้นอยู่กับความต้องการของระบบ
ตัวอย่างของข้อมูล Timestamp ที่เก็บในระบบคอมพิวเตอร์
Tue 01-01-2009 6:00
Sat Jul 23 02:16:57 2005
2005-10-30 T 10:45 UTC
(1969-07-21 T 02:56 UTC)
07:38, 11 December 2012 (UTC)
2007-11-09 T 11:20 UTC
12569537329
ในระบบคอมพิวเตอร์ไม่ได้มีนาฬิกาอยู่ภายใน แต่จะมีสิ่งหนึ่งที่เรียกว่า System clock ที่มีหน้าที่ในการนับเพิ่มขึ้นเรื่อยๆในทุกๆวินาที ซึ่งคอมพิวเตอร์จะไม่สามารถรู้ได้ว่าตอนนี้เวลาเท่าไร ดังนั้นจึงต้องมีจุดอ้างอิง ในแต่ระบบก็จะมีจุดอ้างอิงเวลาเริ่มต้นที่แตกต่างกันไป และจํานวนที่คอมพิวเตอร์นับได้จาก System clock จะเรียกว่า System time
Epoch หรือ Unix Epoch เป็นวิธีการนับเวลา System time ของระบบ Unix Based จะถูกเก็บเป็น signed 32-bit integer ซึ่งการนับเวลาแบบนี้จะอ้างอิงเวลาเริ่มต้นจาก วันพฤหัสบดีที่ 1 มกราคม 1970 เวลา 00:00:00 ตามเขตเวลา UTC แล้วก็นับไปเรื่อยๆ มาจนถึงปัจจุบัน Unix Epoch นั้น ยังไม่รองรับเรื่องของ leap second (เพิ่มวินาทีเข้าไปเพื่อชดเชยเวลาที่ไม่พอดีกับการหมุนของโลก) ปัญหานี้สามารถแก้ปัญหาได้โดยการนับเวลาวินาทีสุดท้ายของวันซํ้าอีก 1 รอบ การปรับเวลาแบบนี้ถูกทํามาแล้ว 25 ครั้ง อีกปัญหาหนึ่งจะเกิดขึ้นในปี 2038 เนื่องจาก Unix Epoch ถูกเก็บข้อมูลเป็น signed 32-bit integer (2ยกกําลัง32) จะทําให้เกิด overflow เมื่อเลยเวลา 03:14:07 UTC on 19 January 2038 ไป แล้วมาดูกันว่าจะเกิดอะไรขึ้นบ้าง :) Unix Epoch นี้ ได้ครบ 1,000 million แล้วเมื่อ 2001-09-09T01:46:40Z ซึ่งมีการฉลองกันด้วยที่เมือง Copenhagen ประเทศ Denmark ปาร์ตีจัดโดย DKUUG เวลาที่ผมเขียน Blog นี้คือ
1499935219 (2017-07-13T08:40:19+00:00)
จากตอนนี้อีกไม่ถึงวันจะมีค่าเวลาของ Unix Epoch 1500000000 (1,500 ล้าน) นับเป็นเวลาเลขสวยที่เกิดขึ้นประมาณทุกสามปี โดยปีนี้ตามเวลาประเทศไทยคือ 9 โมง 40 นาทีของวันศุกร์ที่ 14 กรกฎาคม 2560
บิต (Bit) ย่อมาจาก Binary digit คือหน่วยของข้อมูลที่เล็กที่สุดในระบบคอมพิวเตอร์ ซึ่งจะมีค่า 0 และ 1 อย่างใดอย่างหนึ่งเท่านั้น ข้อมูล 1 Byte จะประกอบไปด้วย 8 Bit ดังนั้นเมื่อแสดงข้อมูล 1 Byte ในรูปของ Bit จะได้ตัวเลข 0 หรือ 1 เรียงกันจํานวน 8 ตัว เช่น 10010111
ค่าเฉลี่ยกําลังสอง RMS Root Mean Square คืออะไรค่าเฉลี่ยกําลังสอง RMS Root Mean Square เป็นการวัดทางสถิติของปริมาณที่มีการเปลี่ยนแปลงอยู่ตลอดเวลา ยกตัวอย่างเช่น กรณีที่เป็นการหาค่าเฉลี่ยปกติจะนําค่าที่สูงบ้างตํ่าบ้างมาบวกกันแล้วหารด้วยจํานวนของข้อมูลที่นํามาบวกกัน แต่เมื่อใดที่เราใช้วิธีการดังกล่าว มาหาค่าเฉลี่ยของไฟฟ้ากระแสสลับจะเกิดปัญหาครับ เพราะว่า ไฟฟ้ากระแสสลับจะมีทั้งช่วงบวกและลบ
สําหรับผู้ที่เริ่มต้นศึกษา Microcontroller จะต้องรู้จักและเข้าใจในเรื่องของการสื่อสารแบบ Serial เนื่องจากเป็นรูปแบบการสื่อสารที่นิยมใช้เพื่อสื่อสารกันระหว่าง Microcontroller กับคอมพอวเตอร์, RFID, RTC, GSM ฯลฯการสื่อสารแบบ Serail มีด้วยกันหลายรูปแบบเช่น TTL, UART, RS232 ในแต่ละแบบ ก็มีวิธีการใช้งาน และการทํางานที่แตกต่างกันไปดังนี้