ปัจจุบันอินเทอร์เน็ตเข้ามามีบทบาทอย่างมากในชีวิตประจำวันของมนุษย์ การพัฒนาอุปกรณ์ต่างๆ ให้สามารถเชื่อมต่อกับเครือข่ายได้จะช่วยให้สามารถทำงานตอบสนองความต้องการของผู้ใช้ได้อย่างชาญฉลาด เช่นการสั่งงานและแสดงผลจากระยะไกล การตรวจสอบสถานะสินค้าโดยอัตโนมัติ การติดตามตำแหน่งผ่านระบบ GPS เป็นต้น ได้มีการบัญญัติศัพท์ที่ใช้เรียกอุปกรณ์เหล่านี้ว่า Internet of Things (IoT) หรือเรียกชื่อภาษาไทยว่า “อินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง” ซึ่งใช้ในชื่อหนังสือ โดยจะใช้ตัวย่อ IoT เป็นหลักเพื่อความกระชับ
ดิว.นินจา
Showing posts with label FreeRTOS. Show all posts
Showing posts with label FreeRTOS. Show all posts
Wednesday, December 26, 2018
แนะนำหนังสือ "ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง"
ปัจจุบันอินเทอร์เน็ตเข้ามามีบทบาทอย่างมากในชีวิตประจำวันของมนุษย์ การพัฒนาอุปกรณ์ต่างๆ ให้สามารถเชื่อมต่อกับเครือข่ายได้จะช่วยให้สามารถทำงานตอบสนองความต้องการของผู้ใช้ได้อย่างชาญฉลาด เช่นการสั่งงานและแสดงผลจากระยะไกล การตรวจสอบสถานะสินค้าโดยอัตโนมัติ การติดตามตำแหน่งผ่านระบบ GPS เป็นต้น ได้มีการบัญญัติศัพท์ที่ใช้เรียกอุปกรณ์เหล่านี้ว่า Internet of Things (IoT) หรือเรียกชื่อภาษาไทยว่า “อินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง” ซึ่งใช้ในชื่อหนังสือ โดยจะใช้ตัวย่อ IoT เป็นหลักเพื่อความกระชับ
Friday, December 21, 2018
สร้างอุปกรณ์ไอโอทีกำเนิดสัญญาณบน ESP32 และ NETPIE
อุปกรณ์ไอโอทีกำเนิดสัญญาณ หรือที่ผู้เขียนเรียกย่อว่า SGIoT (Signal Generator Internet of Thing) อาจจะเป็นสิ่งประดิษฐ์ใหม่ที่ยังไม่ค่อยมีใครพูดถึงนัก เนื่องจากมิใช่เป็นอุปกรณ์ที่ใช้งานทั่วไปในชีวิตประจำวัน แต่หากท่านศึกษาด้านวิศวกรรมศาสตร์หรือวิทยาศาสตร์ โดยเฉพาะสาขาที่เกี่ยวข้องกับไฟฟ้า ระบบควบคุม ฟิสิกส์ คงจะเคยได้ใช้งานเครื่องกำเนิดสัญญาณในห้องปฏิบัติการเพื่อวิเคราะห์วงจร ศึกษาผลตอบสนองความถี่ หรือกระตุ้นพลวัตของระบบ เครื่องมือที่ใช้ส่วนใหญ่มีคุณสมบัติหลักคือความเที่ยงตรงและความเชื่อถือได้สูง มีฟังก์ชันช่วยให้ใช้งานง่าย กำเนิดสัญญาณได้หลายชนิดและได้ถึงความถี่สูงมากๆ แต่อาจไม่มีความจำเป็นต้องเชื่อมต่ออินเทอร์เน็ต ที่สำคัญคือราคาจะสูงตามคุณภาพ การที่จะลงทุนซื้อมาสักเครื่องใช้ทดสอบต้นแบบฮาร์ดแวร์ที่สร้างขึ้นเป็นงานอดิเรกอาจจะทำให้ถูกค้อนจาก CEO ที่บ้านได้ ดังนั้นในบทความนี้จะนำเสนอการสร้างอุปกรณ์กำเนิดสัญญาณบน ESP32 ที่สั่งงานผ่านอินเทอร์เน็ตได้โดย NETPIE จุดเด่นของโครงการนี้คือมีต้นทุนต่ำ พกพาสะดวก ใช้งานได้ดีในย่านความถี่ต่ำถึงประมาณ 1 KHz และที่สำคัญเป็นการเพิ่มทักษะการเขียนโปรแกรม ESP32+การพัฒนา NETPIE Freeboard SGIoT เป็นอุปกรณ์ที่เหมาะสมสำหรับประกอบการสอนเชิงปฏิบัติการในชั้นเรียนเกี่ยวกับการพัฒนา IoT ด้านวิศวกรรมไฟฟ้า เครื่องกล ระบบควบคุม โดยเฉพาะเมื่อเนื้อหาเกี่ยวข้องกับการประมวลผลสัญญาณดิจิทัล การแปลง Z อัลกอริทึม FFT การวิเคราะห์วงจรไฟฟ้า ผลตอบสนองความถี่ของตัวควบคุมป้อนกลับ
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 จากบริษัทใดก็ได้ที่ผู้อ่านมีอยู่ วิธีการนี้สามารถใช้จำลองพลานต์ใดๆ ที่บรรยายในรูปฟังก์ชันถ่ายโอน มีประโยชน์อย่างยิ่งในกรณีที่ต้องการพัฒนาทั้งตัวควบคุมและพลานต์ไปพร้อมกัน
Wednesday, April 25, 2018
ตัวควบคุมแขนกล 2 ก้านต่อบน ESP32 และ NETPIE
ในหนังสือ "การวิเคราะห์และควบคุมหุ่นยนต์อุตสาหกรรม" รวมถึงการบรรยายในชั้นเรียน ตัวอย่างหนึ่งที่ผู้เขียนใช้เพื่อขยายความเนื้อหาให้เป็นรูปธรรมมากขึ้นคือ แขนกล 2 ก้านต่อ (2-link manipulator) เนื่องจากมีโครงสร้างพื้นฐานประกอบด้วย 2 ข้อต่อแบบหมุนและเคลื่อนที่ในระนาบ 2 มิติ ทำให้ง่ายต่อการวิเคราะห์และโมเดล เมื่อผู้เรียนเข้าใจสาระของเนื้อหาในส่วนนั้นอย่างถ่องแท้แล้วก็จะขยายผลไปยังหุ่นยนต์ที่มีความซับซ้อนมากขึ้น อย่างไรก็ตามการเรียนรู้เชิงปฏิบิตทำได้เพียงสร้างโมเดลบนซอฟต์แวร์ Scilab และจำลองการทำงานเพื่อดูผลตอบสนองเท่านั้น เคยมีนิสิตสร้างโมเดลต้นแบบโดยใช้มอเตอร์ขนาดเล็กที่ไม่มีการป้อนกลับขับข้อต่อ ซึ่งสามารถใช้ในการศึกษาศาสตรหุ่นยนต์เบื้องต้น เช่นจลนศาสตร์ข้างหน้าและผกผัน (forward and inverse kinematics) แต่ในหุ่นยนต์อุตสาหกรรมจริงจะต้องมีการป้อนกลับเพื่อชดเชยผลกระทบทางพลวัตเมื่อหุ่นยนต์มีการเคลื่อนที่ ดังนั้นในบทความนี้จะนำเสนอการสร้างโมเดลของแขนกล 2 ก้านต่ออย่างง่าย ด้วยราคาที่ไม่ทำให้กระเป๋าแฟบ ขับเคลื่อนโดยดีซีมอเตอร์และมีการป้อนกลับตำแหน่งโดยเอนโคเดอร์ ตัวควบคุมอิมพลิเมนต์บน ESP32 อาศัยไลบรารี FreeRTOS และสามารถแสดงผลและควบคุมผ่านอินเทอร์เน็ตโดยอาศัยบริการคลาวด์ของ NETPIE
Wednesday, February 14, 2018
พัฒนาระบบควบคุมบน ESP32 โดยไลบรารี FreeRTOS
ในบทความก่อนหน้านี้ได้กล่าวแนะนำไลบรารี FreeRTOS ที่มาพร้อมกับ Arduino Core ของ ESP32 โดยเน้นประเด็นสำคัญคือการกำหนดคอร์ประมวลผลให้กับทาสก์ เพื่อให้สามารถใช้ทรัพยากรฮาร์ดแวร์ของ ESP32 ได้อย่างมีประสิทธิภาพ เพราะการเขียนโปรแกรมโดยปกติบน Arduino IDE คอร์หมายเลข 0 จะไม่ถูกใช้งาน ข้อได้เปรียบจากการใช้ ESP32 ที่เหนือกว่า ESP8266 จะยังไม่ชัดเจนตราบเท่าที่เราไม่สามารถใช้ประโยชน์จากฮาร์ดแวร์ทั้งหมดอย่างเต็มที่ สำหรับโครงงานพื้นฐานเช่นอ่านข้อมูลจากเซนเซอร์และแสดงผลผ่านอินเทอร์เน็ต คงไม่มีความจำเป็นที่ต้องใช้ ESP32 และ FreeRTOS แต่ผู้อ่านที่ติดตามเรื่องราวจากบล็อกนี้คงทราบว่างานควบคุมอุตสาหกรรมจะมีความซับซ้อนมากกว่า โดยเฉพาะตัวควบคุมป้อนกลับเช่น PID จะต้องการคาบเวลาในการประมวลผลที่คงที่และเป็นอิสระจากงานอื่น งานควบคุมสมรรถนะสูงต้องการอัตราการสุ่มที่เร็วขึ้น ดังนั้นคำสั่งในลูปควบคุมจะต้องมีเพียงเท่าที่จำเป็น งานอื่นเช่นส่วนรับคำสั่ง การส่งข้อมูลออกพอร์ตอนุกรม จอแสดงผล หรืออินเทอร์เน็ตควรถูกแยกออกจากลูป ลักษณะการทำงานเรียลไทม์แบบหลายเทรด (multithread) นี้เองทำให้การใช้ FreeRTOS มีความเหมาะสมอย่างยิ่ง นอกจากนั้นยังเป็นไลบรารีที่ใช้งานง่ายและเอื้ออำนวยต่อการจัดการและการบำรุงรักษาซอฟต์แวร์
Monday, February 5, 2018
ทำความรู้จักกับ FreeRTOS บน ESP32
อธิบายโดยย่อ RTOS ย่อมาจาก Real-Time Operating System คือระบบปฏิบัติการสำหรับงานที่เงื่อนไขด้านเวลามีความสำคัญ มักจะใช้ในระบบสมองกลฝังตัวที่ออกแบบสำหรับงานเฉพาะ ซอฟต์แวร์ RTOS มีทั้งแบบเป็นผลิตภัณฑ์เชิงพาณิชย์และแบบไม่เสียเงิน FreeRTOS จัดอยู่ในประเภทหลัง โครงการนี้พัฒนาโดย Richard Barry ผู้ตั้งบริษัท Real Time Engineers ปัจจุบันเป็นวิศวกรหลักของ Amazon Web Services ผู้เป็นเจ้าของและบำรุงรักษาซอฟต์แวร์ ความจริง FreeRTOS เริ่มต้นตั้งแต่ปี คศ. 2003 โดยใช้งานได้กับไมโครคอนโทรลเลอร์เพียงไม่กี่บริษัท ต่อมาโครงการได้ขยายตัวขึ้นเรื่อยๆ จนปัจจุบันรองรับตัวประมวลผลมากกว่า 35 สถาปัตยกรรม จุดเด่นคือมีลิขสิทธิ์แบบ MIT ที่เปิดกว้างให้ใช้ในผลิตภัณฑ์เชิงพาณิชย์ได้ และไม่จำเป็นต้องเปิดเผยโค้ดในส่วนของผู้พัฒนา สำหรับรายละเอียดทั้งหมดอ่านได้จาก https://www.freertos.org สำหรับในบทความนี้จะแนะนำเฉพาะไลบรารีของ FreeRTOS ที่รวมอยู่ใน Arduino core ของ ESP32
Subscribe to:
Posts (Atom)
แนะนำหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266”
ปัจจุบันเมื่อกล่าวถึงอุปกรณ์ IoT (Internet of Things) คงมีน้อยคนที่จะไม่รู้จัก ในยุคที่การเข้าถึงอินเทอร์เน็ตเป็นกิจวัตรประจำวันของมนุษย์เ...
-
สำหรับระบบฝังตัวทั่วไปหรืออุปกรณ์ไอโอที วิธีการหนึ่งที่นิยมใช้ในการเพิ่มความฉลาดกับอุปกรณ์และความเป็นมิตรกับผู้ใช้งาน คือความสามารถในการจดจ...
-
Update : บทความนี้ได้เขียนขึ้นในขณะที่ ESP32 เพิ่งออกสู่ตลาดเป็นเวลาไม่นาน ทำให้ขั้นตอนการติดตั้งเครื่องมือพัฒนามีความยุ่งยากโดยเฉพาะสำหร...
-
เนื่องจาก NETPIE2020 เป็นแพลตฟอร์มใหม่ที่เพิ่งเปิดตัว ดังนั้นตัวอย่างที่แสดงบนเว็บจะเน้นการใช้งานขั้นพื้นฐาน โดยเฉพาะด้านการส่งคำสั่งให้กับ...