ดิว.นินจา

ดิว.นินจา

Thursday, March 26, 2020

NETPIE 2020 : การอัพเดท Freeboard โดยไม่ผ่าน Shadow

ในตัวอย่างจากเว็บและ workshop ของ NETPIE จะใช้วิธีการเขียนข้อมูลลงบน Device Shadow ก่อน และใช้ข้อมูลนั้นในการแสดงผลหรืออัพเดทค่าบน Freeboard widgets ซึ่งเป็นวิธีการที่เหมาะสมหากต้องการที่จะเก็บข้อมูลนั้นในแบบอนุกรมเวลาเพื่อนำไปวิเคราะห์ต่อไป แต่สำหรับข้อมูลบางประเภทอาจไม่มีความจำเป็นที่จะเก็บค่าไว้ เช่นสถานะหรือพารามิเตอร์ที่ไม่มีความสำคัญอื่นใดนอกจกาการอัพเดท Freeboard widgets การเขียนค่าเหล่านี้ลงบน Shadow ทำให้ยุ่งยากและเปลืองทรัพยากร ตัวอย่างเช่นผู้ใช้ปรับค่าตัวควบคุม PID แบบบลองผิดลองถูก เราไม่อยากบันทึกค่าเหล่านี้ลงบน Shadow ทั้งหมดจนกว่าจะได้ค่าที่เหมาะสมแล้ว นอกจากนั้นในกรณีที่อัพเดทตัวแปรหลายตัว การสร้างข้อมูลตามรูปแบบ JSON จะค่อนข้างซับซ้อนและมีโอกาสผิดได้ง่าย ชื่อของตัวแปรไม่มีความสำคัญในการอัพเดทเมื่อสามารถแยกโดยตำแหน่งของค่าในสตริง

Wednesday, March 4, 2020

NETPIE 2020 : สร้างตัวรับและแปลคำสั่ง

เนื่องจาก NETPIE2020 เป็นแพลตฟอร์มใหม่ที่เพิ่งเปิดตัว ดังนั้นตัวอย่างที่แสดงบนเว็บจะเน้นการใช้งานขั้นพื้นฐาน โดยเฉพาะด้านการส่งคำสั่งให้กับอุปกรณ์จะสาธิตเพียงการปิด/เปิด LED บนบอร์ด NodeMCU จาก Freeboard ในการสร้างอุปกรณ์ไอโอทีสำหรับงานบางประเภท ผู้ใช้ต้องการที่จะควบคุมหรือสั่งงานโดยชุดคำสั่งจำนวนหนึ่ง เช่นงานควบคุมอุตสาหกรรมจะมีการปรับพารามิเตอร์ PID, setpoints, สถานะการควบคุม ฯลฯ ซึ่งโครงสร้างโปรแกรมตัวอย่างอาจไม่เอื้ออำนวยในการดัดแปลงให้รับคำสั่งจำนวนหลายคำสั่ง เพราะหากเพิ่มโค้ดทั้งหมดลงในฟังก์ชัน callback() จะทำให้มีความยาวและยากต่อการบำรุงรักษาโปรแกรมในภายหลัง ดังนั้นในบทความนี้จึงนำเสนอวิธีการรับและแปลคำสั่งใน NETPIE 2020 โดยจะเปรียบเทียบระหว่างการเขียนโค้ดลงใน callback() กับการสร้างฟังก์ชันแปลคำสั่งในรุปแบบ cmd=value ที่สื่อความหมายกับผู้ใช้ได้ดีกว่า ไม่ต้องแก้ไขฟังก์ชันเดิมหและมีข้อดีอีกประการคือสามารถสั่งงานผ่านพอร์ตอนุกรมหรือ Bluetooth ได้โดยคำสั่งชุดเดียวกัน

แนะนำหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266”

ปัจจุบันเมื่อกล่าวถึงอุปกรณ์ IoT (Internet of Things) คงมีน้อยคนที่จะไม่รู้จัก ในยุคที่การเข้าถึงอินเทอร์เน็ตเป็นกิจวัตรประจำวันของมนุษย์เ...