ดิว.นินจา

ดิว.นินจา
Showing posts with label dew.ninja Workshop. Show all posts
Showing posts with label dew.ninja Workshop. Show all posts

Sunday, July 26, 2020

ฝึกอบรม IoT บน NETPIE 2020 ครั้งแรกของปี 2563

ตั้งแต่ต้นปีที่ NECTEC เปิดตัว NETPIE 2020 ปัญหาจาก COVID-19 ระบาดทำให้การจัดฝึกอบรมในปี 2563 ไม่สามารถทำได้ จนกระทั่งเวลานี้ที่ได้รับการผ่อนผันให้จัดได้โดยมีมาตรการ social distancing ที่เหมาะสม การฝึกอบรมเชิงปฏิบัติการที่ภาควิชาฟิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร ในวันที่ 25 กรกฎาคม 2563 จึงนับเป็นครั้งแรกของปีนี้ เนื้อหาหลักคือการพัฒนาอุปกรณ์ไอโอทีบน NETPIE 2020 โดยฝึกภาคปฏิบัติบนแพลตฟอร์ม ESP32 เป็นหลัก ช่วงท้ายกล่าวแนะนำการพัฒนาบน Raspberrry Pi

Tuesday, March 27, 2018

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

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

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

Thursday, February 1, 2018

ฝึกอบรม IoT สำหรับงานควบคุมอุตสาหกรรมโดย ESP32 และ NETPIE (ประจำปี 2561 ครั้งที่ 1 วันเสาร์ที่ 24 กุมภาพันธ์ 2561)

IoT for Industrial Control with ESP32 and NETPIE Workshop

โดยการแพร่หลายอย่างรวดเร็วของเครือข่ายอินเทอร์เน็ตในปัจจุบันทำให้การพัฒนาอุปกรณ์ที่เรียกว่า IoT (Internet of Things) ได้รับความสนใจเป็นอย่างสูง เชื่อว่าในอนาคตอันใกล้นี้อุปกรณ์เกือบทั้งหมดที่ล้อมรอบตัวเราจะสามารถเชื่อมต่อผ่านเครือข่าย ทำให้การตรวจสอบและควบคุมสามารถทำได้จากทุกพื้นที่ที่อินเทอร์เน็ตเข้าถึงได้ อย่างไรก็ตาม การฝึกอบรมรวมถึงบทความและเอกสารภาษาไทยที่มีอยู่ในปัจจุบันยังมุ่งเน้นงานประเภทเก็บข้อมูลและแสดงผล หรือการสั่งงานในลักษณะปิดเปิดเป็นหลัก ในขณะที่งานอุตสาหกรรมหลายประเภทต้องอาศัยระบบควบคุมป้อนกลับ เช่น เครื่องซีเอ็นซี หุ่นยนต์ การควบคุมระดับน้ำ แรงดัน หรือกระบวนการทางเคมี ซึ่งทำให้อัลกอรึทึมบนระบบฝังตัวมีความซับซ้อนมากขึ้น และต้องใช้ทรัพยากรทางฮาร์ดแวร์เช่นไทเมอร์เพื่อความแม่นยำในการสุ่มสัญญาณ

Sunday, January 7, 2018

บอร์ด LAG3 สำหรับการศึกษาระบบควบคุมบน ESP32


หลังจากที่ผู้เขียนได้ออกแบบบอร์ด LAG3 สำหรับ ESP8266 เพื่อใช้ประกอบการฝึกอบรมในวิชาเรียนของนิสิตและบุคคลภายนอกมาระยะหนึ่ง พบว่าใช้งานได้ดีและมีความเหมาะสมกับวัตถุประสงค์ดังกล่าวอย่างมาก เนื่องจากไม่ต้องการอุปกรณ์เสริมอื่นใดที่ทำให้เทอะทะและน้ำหนักมากขนย้ายไม่สะดวก ผู้เรียนสามารถนำไปศึกษาด้วยตนเองได้ทุกสถานที่โดยต้องการเพียงแหล่งจ่ายจาก USB port ของโน้ตบุกเท่านั้น นอกจากนั้นผู้เรียนยังสามารถพัฒนาระบบได้ครบวงจร มิใช่เพียงแต่อ่านค่าจากเซนเซอร์อย่างเดียวแต่รวมถึงการส่งค่าคำสั่งอ้างอิงเพื่อควบคุมระบบ หรือการปรับค่าพารามิเตอร์ควบคุม

Wednesday, November 29, 2017

การใช้ microgear.publish() อัพเดทสถานะและค่าของ Freeboard Widgets

NETPIE Series

ในบทความนี้เราจะปรับปรุงส่วนติดต่อผู้ใช้บน freeboard ที่สร้างไว้ใน บทที่ 6 ของหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266” ให้เหมาะสมกับการใช้ในงานควบคุมอุตสาหกรรมจริง ตัวควบคุม IoFC ได้ถูกออกแบบให้มีความยืดหยุ่น คือสามารถปรับพารามิเตอร์ได้ทั้งที่หน้างานผ่านพอร์ตอนุกรม และจากระยะไกลโดย NETPIE แต่หน้าควบคุม freeboard จากตัวอย่างที่ 6.4 ในหนังสือยังไม่ได้ออกแบบให้รองรับกรณีมีผู้ปฏิบัติงานทั้ง 2 สถานที่ เพราะหากมีการเปลี่ยนค่าพารามิเตอร์ที่หน้างาน ส่วนควบคุมใน NETPIE จะไม่อัพเดตตาม เราจะมาศึกษาวิธีแก้ปัญหานี้โดยใช้ฟังก์ชัน microgear.publish() และเพิ่มการตั้งค่าใน freeboard widgets

Sunday, November 26, 2017

การติดตั้งและแก้ปัญหาไลบรารีสำหรับ ESP32 เพื่อใช้งานกับ Arduino IDE และ NETPIE

Update : บทความนี้ได้เขียนขึ้นในขณะที่ ESP32 เพิ่งออกสู่ตลาดเป็นเวลาไม่นาน ทำให้ขั้นตอนการติดตั้งเครื่องมือพัฒนามีความยุ่งยากโดยเฉพาะสำหรับผู้เริ่มต้น ณ ปัจจุบันการติดตั้ง ESP32 Arduino Core สามารถทำผ่าน Board Manager เช่นเดียวกับ ESP32 Microgear ที่ใช้ Library Manager ช่วยให้มีความสะดวกในการติดตั้งมากกว่าวิธีที่นำเสนอในบทความนี้ ดังนั้นเนื้อหาในบทความนี้จึงถูกเก็บไว้เพื่ออ้างอิงเท่านั้น แนะนำผู้อ่านติดตั้งเครื่องมือผ่าน Arduino IDE ซึ่งจะง่ายเหมือนกับการติดตั้งเครื่องมือ ESP8266

21 ตค 2562 : อ่านวิธีการติดตั้งล่าสุดได้จากภาคผนวก A บนเพจของหนังสือ "คู่มือนักพัฒนาไอโอที"

เชื่อว่าผู้อ่านหลายท่านคงได้ยินชื่อ ESP32 หรืออาจจะเคยลองเล่นบ้างแล้ว ESP32 เป็นผลิตภัณฑ์ใหม่จากบริษัท Espressif ผู้ผลิต ESP8266 ที่ได้รับความนิยมอย่างมากในปัจจุบัน โดยชิพตัวใหม่นี้มีคุณสมบัติที่เหนือกว่าหลายประการเช่น สามารถพัฒนาการสื่อสารทั้ง WiFi และ Bluetooth มีจำนวน ADC มากกว่า มีเอาต์พุต DAC มี 2 cores ฯลฯ วัตถุประสงค์ของบทความนี้มิใช่เป็นการลงรายละเอียดด้านฮาร์ดแวร์ของ ESP32 แต่เพียงเพื่อแนะนำการติดตั้งและแก้ปัญหาสำหรับผู้เริ่มใช้งานใหม่ ณ เวลาปัจจุบันที่เขียนนี้ (พย. 2560) ทั้งนี้เนื่องจากไลบรารีที่เกี่ยวข้องกับ ESP32 ยังอยู่ระหว่างการพัฒนาทำให้อาจเกิดปัญหาความเข้ากันไม่ได้ของซอฟต์แวร์ ซึ่งคงจะถูกปรับปรุงแก้ไขให้ดีขึ้นในอนาคต

Wednesday, July 12, 2017

First IoFC workshop ที่ ม.นเรศวร

ภาพบรรยากาศจาก workshop นอกสถานที่ครั้งแรก จัดขึ้นที่ภาควิชาพิสิกส์ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร เนื้อหาเกี่ยวกับการอิมพลิเมนต์ตัวควบคุมป้อนกลับที่สามารถควบคุมและแสดงผลผ่านอินเทอร์เน็ต โดยอาศัย ESP8266, ซอฟต์แวร์ Scilab และ NETPIE

วิทยากรขอขอบคุณ ผศ.อนันตชัย สุวรรณาคม ผู้ติดต่อประสานงานและจัดการให้ workshop ครั้งนี้เกิดขึ้นได้และประสบความสำเร็จตามเป้าหมาย

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

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