ดิว.นินจา

ดิว.นินจา

Thursday, July 5, 2018

การใช้ REST API ดึงข้อมูลจาก Feed

ในหนังสือ “ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง” ที่อยู่ระหว่างจัดทำต้นฉบับเพื่อส่งสำนักพิมพ์พิจารณา ผู้เขียนได้เพิ่มเติมเนื้อหาเกี่ยวกับการดึงข้อมูลจาก NETPIE Feed โดยใช้ REST API เพื่อนำมาพล็อตและวิเคราะห์ใน Scilab หลังจากนั้นสามารถเขียนข้อมูลรูปแบบ CSV เพื่อเปิดใน Excel ได้ เห็นว่าอาจเป็นประโยชน์สำหรับผู้ใช้งานโดยทั่วไป ที่ถึงแม้อาจไม่ได้ใช้ Scilab แต่สามารถนำแนวทางไปพัฒนาซอฟต์แวร์โดยภาษาที่ตนถนัดได้ เลยขอแชร์เนื้อหาและสคริปไฟล์ไว้ ณ โอกาสนี้

Saturday, May 12, 2018

ทดสอบ push notification บน NETPIE App

นับตั้งแต่ทีม NETPIE ได้พัฒนาแอปปลิเคชันบนโทรศัพท์มือถือมาได้ระยะหนึ่ง โดยมีส่วนแจ้งเตือนแบบพุช (push notification) เมื่อเกิดเหตุการณ์ที่ผู้ใช้สนใจและกำหนดให้มีการแจ้งเตือน แต่ในช่วงเริ่มต้นบุคคลทั่วไปยังไม่ทราบวิธีการใช้งาน จนกระทั่ง NETPIE ได้ออกบทความอธิบายในส่วนนี้เพิ่มเติมในเวลาต่อมา ดังนั้นในบทความนี้เราจะมาศึกษากันว่า ส่วนแจ้งเตือนนี้มีประโยชน์อย่างไรรวมถึงการประยุกต์ใช้ในงานควบคุมอุตสาหกรรม

หมายเหตุ : เพื่อการเรียนรู้อย่างเป็นรูปธรรม การทดสอบนี้จะกระทำกับระบบควบคุมถังน้ำ 3 ระดับ เดิมต้องอาศัยบอร์ด LAG3-ESP32 ที่แจกให้กับผู้เข้าอบรม แต่ปัจจุบันผู้อ่านสามารถทดสอบได้โดยอาศัยการจำลองพลานต์นี้บนผลิตภัณฑ์ ESP32 ที่ท่านมีอยู่โดยไม่ต้องมีฮาร์ดแวร์เพิ่มเติมใดๆ รายละเอียดเพิ่มเติมอ่านได้จากบทความ "การจำลองฟังก์ชันถ่ายโอนของพลานต์บน ESP32" โปรแกรมประกอบบทความนี้จะตั้งให้ใช้พลานต์จำลอง หากต้องการเปลี่ยนเป็นใช้บอร์ด LAG3 ให้ใช้คำสั่ง psim=off ผ่านพอร์ตอนุกรม

Thursday, May 10, 2018

การจำลองฟังก์ชันถ่ายโอนของพลานต์บน ESP32

เว็บนี้ได้นำเสนอการพัฒนาตัวควบคุมป้อนกลับบน ESP32 มาสักช่วงระยะเวลาหนึ่ง โดยมากตัวอย่างในบทความก่อนหน้านี้จะอาศัยบอร์ด LAG3-ESP32 ซึ่งผู้ที่เคยฝึกอบรมกับเราจะได้รับไปพร้อมกับบอร์ด WEMOS LOLIN32 ทำให้สามารถทดลองตามไปได้ เป็นปัญหาสำหรับผู้ไม่มีบอร์ดและไม่มีเวลาบัดกรีวงจรอิเล็กทรอนิกส์บนบอร์ดอเนกประสงค์ บทความนี้จึงนำเสนอการจำลองพลานต์ LAG3 บน ESP32 ที่ให้ผลตอบสนองเช่นเดียวกับที่ได้จากวงจรอิเล็กทรอนิกส์โดยไม่ต้องใช้อุปกรณ์ใดเพิ่มเติมนอกจากบอร์ด ESP32 จากบริษัทใดก็ได้ที่ผู้อ่านมีอยู่ วิธีการนี้สามารถใช้จำลองพลานต์ใดๆ ที่บรรยายในรูปฟังก์ชันถ่ายโอน มีประโยชน์อย่างยิ่งในกรณีที่ต้องการพัฒนาทั้งตัวควบคุมและพลานต์ไปพร้อมกัน

Sunday, April 29, 2018

การอ่านค่าจากโมดูล LSM9DS1 เพื่อแสดงผลบน NETPIE Freeboard

อาจกล่าวได้ว่าส่วนที่สำคัญที่สุดในระบบที่ใช้คอมพิวเตอร์ในการแสดงผลหรือควบคุมคือการอ่านค่าจากอุปกรณ์ที่ใช้ในการเปลี่ยนค่าที่ต้องการวัดเป็นแรงดันหรือกระแสไฟฟ้า หรือเป็นโมดูลสำเร็จที่สามารถอ่านค่าได้ผ่านการสื่อสารประเภทต่างๆ ในปัจจุบันเซนเซอร์มีให้เลือกใช้อย่างหลากหลายขึ้นกับงานที่ต้องการใช้ คุณภาพ ราคา และคุณสมบัติอื่นๆ และส่วนใหญ่ที่มีการใช้งานแพร่หลายจะมีผู้พัฒนาไลบรารีสำหรับอ่านค่าไว้แล้ว โดยเฉพาะสำหรับ Arduino จึงไม่จำเป็นต้องเขียนโค้ดเองจากเริ่มต้น แต่ข้อเสียของการใช้ไลบรารีสำเร็จคือมักห่อหุ้มการตั้งค่าต่างๆ ไว้ภายใน ซึ่งบางครั้งต้องมีการดัดแปลงแก้ไข ซึ่งอาจเป็นปัญหาสำหรับผู้เริ่มต้น ในบทความนี้จะนำเสนอการอ่านค่าจากโมดูล LSM9DS1 ซึ่งเป็นอุปกรณ์สำหรับวัดค่าความเร่ง ความเร็วเชิงมุม และสนามแม่เหล็กใน 3 มิติ หวังว่าจะเป็นประโยชน์สำหรับผู้เริ่มต้นพัฒนา IoT ที่อยากจะเรียนรู้การอ่านค่าเซนเซอร์อื่นบ้าง นอกเหนือจากอุณหภูมิและความชื้น เนื้อหาจะกล่าวถึงการอ่านค่าจากโมดูลเพื่อแสดงผลบน NETPIE Freeboard เท่านั้นโดยยังไม่มีการควบคุมใดๆ

Wednesday, April 25, 2018

ตัวควบคุมแขนกล 2 ก้านต่อบน ESP32 และ NETPIE

ในหนังสือ "การวิเคราะห์และควบคุมหุ่นยนต์อุตสาหกรรม" รวมถึงการบรรยายในชั้นเรียน ตัวอย่างหนึ่งที่ผู้เขียนใช้เพื่อขยายความเนื้อหาให้เป็นรูปธรรมมากขึ้นคือ แขนกล 2 ก้านต่อ (2-link manipulator) เนื่องจากมีโครงสร้างพื้นฐานประกอบด้วย 2 ข้อต่อแบบหมุนและเคลื่อนที่ในระนาบ 2 มิติ ทำให้ง่ายต่อการวิเคราะห์และโมเดล เมื่อผู้เรียนเข้าใจสาระของเนื้อหาในส่วนนั้นอย่างถ่องแท้แล้วก็จะขยายผลไปยังหุ่นยนต์ที่มีความซับซ้อนมากขึ้น อย่างไรก็ตามการเรียนรู้เชิงปฏิบิตทำได้เพียงสร้างโมเดลบนซอฟต์แวร์ Scilab และจำลองการทำงานเพื่อดูผลตอบสนองเท่านั้น เคยมีนิสิตสร้างโมเดลต้นแบบโดยใช้มอเตอร์ขนาดเล็กที่ไม่มีการป้อนกลับขับข้อต่อ ซึ่งสามารถใช้ในการศึกษาศาสตรหุ่นยนต์เบื้องต้น เช่นจลนศาสตร์ข้างหน้าและผกผัน (forward and inverse kinematics) แต่ในหุ่นยนต์อุตสาหกรรมจริงจะต้องมีการป้อนกลับเพื่อชดเชยผลกระทบทางพลวัตเมื่อหุ่นยนต์มีการเคลื่อนที่ ดังนั้นในบทความนี้จะนำเสนอการสร้างโมเดลของแขนกล 2 ก้านต่ออย่างง่าย ด้วยราคาที่ไม่ทำให้กระเป๋าแฟบ ขับเคลื่อนโดยดีซีมอเตอร์และมีการป้อนกลับตำแหน่งโดยเอนโคเดอร์ ตัวควบคุมอิมพลิเมนต์บน ESP32 อาศัยไลบรารี FreeRTOS และสามารถแสดงผลและควบคุมผ่านอินเทอร์เน็ตโดยอาศัยบริการคลาวด์ของ NETPIE

Tuesday, April 3, 2018

แนะนำการติดตั้งและใช้งาน NETPIE App บนมือถือ

NETPIE มีแอ็ปบนมือถือด้วยนะ รู้หรือยัง ? ตัวผู้เขียนเองยังต้องรับสารภาพว่าเพิ่งทราบข่าวนี้จากกลุ่ม Line ของผู้ฝึกอบรมในรอบเดียวกัน ดังนั้นบทความสั้นนี้จะกล่าวแนะนำการติดตั้งและใช้งานบนโทรศัพท์ที่มีระบบปฏิบัติการ Android (ซึ่งความจริงแล้วสำหรับผู้ใช้งานโดยทั่วไปคงไม่ต้องแนะนำอะไรมาก เพราะขั้นตอนการติดตั้งก็เหมือนกับแอปมือถือทั่วไป) เมื่อติดตั้งแล้วจะสามารถเข้าสู่ Freeboard เพื่อแสดงผลและสั่งงานได้เหมือนกับบนเครื่องคอมพิวเตอร์ แต่ว่าการสร้าง และตั้งค่าต่างๆ ให้กับ widgets ไม่สามารถทำบน App ได้ (ซึ่งโดยธรรมชาติแล้วคงไม่สะดวกอยู่แล้วที่จะพัฒนาซอฟต์แวร์บนโทรศัพท์มือถือ)

Tuesday, March 27, 2018

แก้ไขสัมประสิทธิ์ตัวควบคุมเชิงเส้นแบบออนไลน์โดยใช้ HTML Widget บน NETPIE Freeboard

เนื้อหาในบทความนี้ต่อเนื่องจากเรื่อง “พัฒนาระบบควบคุมบน ESP32 โดยไลบรารี FreeRTOS” โดยประเด็นสำคัญคือการแก้ปัญหาที่ทิ้งท้ายไว้ในบทความนั้นเกี่ยวกับค่าสัมประสิทธิ์ของตัวควบคุมที่เป็นค่าคงที่ในโปรแกรม เมื่อผู้ใช้เปลี่ยนค่าคาบเวลาการสุ่มของอัลกอริทึมควบคุมไปจากเดิมจะทำให้ตัวควบคุมทำงานไม่ถูกต้อง วิธีการง่ายสุดคือใช้ซอฟต์แวร์ Scilab คำนวณค่าสัมประสิทธิ์ตามคาบเวลาใหม่และอัพเดทให้กับตัวควบคุม ซึ่งสามารถส่งผ่านพอร์ตอนุกรมหรือจากหน้าของ NETPIE Freeboard ก็ได้ อย่างไรก็ตามการใช้ slider widget มีความไม่เหมาะสมบางประการ และ NETPIE ยังไม่มี widget สำเร็จรูปสำหรับการส่งคำสั่งในรูปสตริงใดๆ ให้กับอุปกรณ์ ดังนั้นเราจะศึกษาการใช้ widget ประเภท html ทำหน้าที่ดังกล่าว โดยต้องมีการใส่โค้ด JavaScript เพื่อ chat ไปหา microgear ทางด้าน ESP32

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

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