วันอังคารที่ 20 มิถุนายน พ.ศ. 2560

เล่นกับเวลาใน Mongoose-OS (พังพอน โอเอส)

วิธีแสดงค่าเวลา นาฬิกาปัจจุบัน บน mongoose-os



Mongoose-OS เป็น os อีกตัวสำหรับ ESP8266, ESP32 ฯลฯ
ที่ใช้ภาษา javascript แบบย่อ โดยมีเอนจิ้น mJS
ใช้ในการเขียนได้

ข้อดีอย่างนึง ตัว Mongoos-os
เมื่อทำการ flash ลง ESP8266 แล้ว
หลัง boot ทาง os จะมีการ sync เวลามาให้อัตโนมัติ
โดยเราไม่ต้องไปจัดการเพิ่มอะไรอีกเลย
ทำให้ เราดึงเวลามาใช้ได้ตรงตาม Internet time ได้ง่ายๆเลย
และหากจะกำหนดเวลาตาม นาฬิกาที่่แน่นอน
เช่นการเปิดปิด ไฟ ก็เป็นไปได้อย่างรวดเร็ว

code นี้จะเป็นตัวอย่าง
การแสดงเวลา Clock บน ESP8266
ที่ได้รับการ sync จาก Internetอัตโนมัติแล้ว
ด้วยโคดที่สั้นมากๆ ดังนี้

[init.js]
--------------------------------------------------
load('api_timer.js');
Timer.set(1000, true, function() {
let timezone = 7;
print(Timer.fmt("%T", timezone*3600+Timer.now()) );
}, null);
--------------------------------------------------
อธิบาย
load('api_timer.js');
........ คือ การ load library api_timer.js เข้ามา
Timer.set( เวลาที่ delay, วนรอบซ้ำไหม, function ที่ให้ทำงาน)
....... คือ การ กำหนด loop การทำงานของ function ที่ต้องการให้มีการทำงานซ้ำๆไปเรื่อยๆได้
Timer.fmt( รูปแบบที่จะให้แสดงเวลา, time );
....... คือ function แปลงเวลา time ไปแสดงผลตามรูปแบบที่กำหนด
TImer.now()
........ คือ ค่าเวลา time ณ ปัจจุบัน ที่ได้รับการ sync แล้ว ในหน่วยวินาที เมื่อทำการ บวก ปรับเวลาตาม timezone ก็จะเป็นเวลา time ณ ปัจจุบันของประเทศนั้นๆ

เป็นเรื่องกระทัดรัดดีงามของทาง Mongoose-OS
ที่ได้ทำการ sync เวลาที่ถูกต้องมาให้อัตโนมัติตั้งแต่แรกต่อ internet


















   
หากต้องการเปิด/ปิด ไม่ให้มีการ sync เวลาแต่เริ่มสตาร์ท ESP8266, ESP32 ฯลฯ




ไม่มีความคิดเห็น:

แสดงความคิดเห็น