ดิว.นินจา

ดิว.นินจา
Showing posts with label IoT. Show all posts
Showing posts with label IoT. Show all posts

Saturday, February 29, 2020

เปลี่ยนผ่านจาก NETPIE 2015 สู่ NETPIE 2020

ผู้ติดตามบล็อกนี้คงทราบดีแล้วว่า NETPIE คือชื่อของบริการคลาวด์สำหรับอุปกรณ์ไอโอทีที่พัฒนาโดยศูนย์อิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) และปัจจุบันตั้งบริษัท NEXPIE เพื่อสนับสนุนการใช้ในงานอุตสาหกรรมและเชิงพานิชย์ เมื่อวันที่ 20/02/2020 ที่ผ่านมา ได้เปิดตัวแพลตฟอร์มใหม่ในชื่อ NETPIE 2020 ที่แก้ไขข้อจำกัดของเวอร์ชันก่อน (อ้างถึงโดยชื่อ NETPIE 2015) หลายประการ เช่นยกเลิกการใช้ไลบรารี Microgear ที่ยึดติดกับภาษาและฮาร์แวร์ทำให้ขาดความยืดหยุ่น ปรับปรุงให้รองรับโดยฮาร์ดแวร์และภาษาการโปรแกรมหลากหลายมากขึ้น อย่างไรก็ตามการเปลี่ยนแปลงโครงสร้างของ NETPIE 2020 จากเดิมทำให้โปรแกรมเดิมที่ใช้งานอยู่ไม่สามารถใช้ได้และต้องมีการแก้ไข บทความนี้เป็นแนวทางสำหรับผู้พัฒนาบน NETPIE 2015 ที่ต้องการเปลี่ยนผ่านสู่ NETPIE 2020 โดยตั้งสมมุติฐานว่าผู้อ่านมีประสบการณ์หรือความเข้าใจโปรแกรมและการทำงานของเวอร์ชันเก่าอยู่ก่อนแล้ว สำหรับท่านที่ไม่เคยใช้งาน NETPIE มาก่อนเลยแนะนำให้เริ่มต้นจากคู่มือการใช้งานที่ลิงก์ NETPIE 2020 Documentation

Saturday, June 22, 2019

NETPIE IoT : วิเคราะห์ผลตอบสนองความถี่โดยไลบรารี arduinoFFT

อธิบายในภาพรวม FFT (Fast Fourier Transform) คืออัลกอริทึมในการแปลงสัญญาณในโดเมนเวลาเป็นผลตอบสนองความถี่ โดยมีหลักการพื้นฐานเช่นเดียวการแปลงฟูเรียร์ในระบบเวลาต่อเนื่อง พัฒนาจาก DFT (Discrete Fourier Transform) ให้ใช้เวลาการคำนวณน้อยลง ช่วยให้สามารถใช้คอมพิวเตอร์ช่วยในการวิเคราะห์องค์ประกอบด้านความถี่ของสัญญาณหรือระบบที่ต้องการได้อย่างมีประสิทธิภาพ ปัจจุบันผู้เริ่มต้นไม่จำเป็นต้องเขียนอัลกอริทึม FFT ด้วยตัวเองเพราะสามารถหาไลบรารีพร้อมใช้งานในซอพต์แวร์ ภาษาคอมพิวเตอร์ และแพลตฟอร์มที่ใช้กันทั่วไป ในบทความนี้จะนำเสนอการใช้ไลบรารี arduinoFFT สำหรับแพลตฟอร์ม Arduino และ ESP ในการพัฒนาอุปกรณ์ IoT สำหรับวิเคราะห์ผลตอบสนองความถี่ แสดงผลและสั่งงานโดย NETPIE รายละเอียดของเนื้อหาอยู่ในไฟล์ pdf ที่เป็นส่วนหนึ่งของหนังสือ "พัฒนาไอโอทีโดยเน็ตพาย"(อยู่ระหว่างดำเนินการ) รวมถึงโปรแกรมที่ดาวน์โหลดได้จากลิงก์ด้านล่างของบทความ

Saturday, April 20, 2019

การใช้งาน EEPROM บน NodeMCU ร่วมกับ NETPIE

โพสต์นี้กล่าวถึงเนื้อหาที่เพิ่มไปในหนังสือ "พัฒนาไอโอทีโดย ESP8266 และเน็ตพาย" ที่มอบให้กับผู้ฝึกอบรม เกี่ยวกับการใช้ไลบรารี EEPROM เขียนข้อมูล WiFi และ NETPIE ลงบนหน่วยความจำ Flash ของ NodeMCU โดยไม่ต้องแก้ไขโปรแกรมเพื่อคอมไพล์และโหลดใหม่ ซึ่งจะมีประโยชน์กรณีที่พัฒนาอุปกรณ์ IoT ให้บุคคลทั่วไปใช้งาน แต่ไม่ต้องการมอบ source code ไปด้วย หรือว่าให้กับผู้ใช้ที่ไม่มีความชำนาญในการเขียนโปรแกรม ซึ่งอาจพลาดไปแก้ไขส่วนอื่นๆ ทำให้อุปกรณ์ทำงานผิดพลาดและยากต่อการบำรุงรักษา วิธีการนี้จะมีคำสั่งให้ผู้ใช้งานสามารถป้อนข้อมูล ssid, password, APPID, KEY, SECRET, ALIAS ทางพอร์ตอนุกรมและเซฟลงบน EEPROM ซึ่งสามารถจะเปลี่ยนแปลงใหม่ได้ทุกเวลาตามที่ผู้ใช้งานกำหนด เพื่อความง่ายในการทดลอง โปรแกรมที่ใช้ประกอบการศึกษานี้จะไม่ต้องการฮาร์ดแวร์อื่นใดนอกจากบอร์ด NodeMCU V2 สิ่งที่ผู้อ่านต้องเตรียมไว้คือข้อมูล ssid, password จาก WiFi router ที่ใช้ และข้อมูล APPID, KEY, SECRET จากบัญชี NETPIE ของท่าน

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 ผ่านพอร์ตอนุกรม

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) ได้รับความสนใจเป็นอย่างสูง เชื่อว่าในอนาคตอันใกล้นี้อุปกรณ์เกือบทั้งหมดที่ล้อมรอบตัวเราจะสามารถเชื่อมต่อผ่านเครือข่าย ทำให้การตรวจสอบและควบคุมสามารถทำได้จากทุกพื้นที่ที่อินเทอร์เน็ตเข้าถึงได้ อย่างไรก็ตาม การฝึกอบรมรวมถึงบทความและเอกสารภาษาไทยที่มีอยู่ในปัจจุบันยังมุ่งเน้นงานประเภทเก็บข้อมูลและแสดงผล หรือการสั่งงานในลักษณะปิดเปิดเป็นหลัก ในขณะที่งานอุตสาหกรรมหลายประเภทต้องอาศัยระบบควบคุมป้อนกลับ เช่น เครื่องซีเอ็นซี หุ่นยนต์ การควบคุมระดับน้ำ แรงดัน หรือกระบวนการทางเคมี ซึ่งทำให้อัลกอรึทึมบนระบบฝังตัวมีความซับซ้อนมากขึ้น และต้องใช้ทรัพยากรทางฮาร์ดแวร์เช่นไทเมอร์เพื่อความแม่นยำในการสุ่มสัญญาณ

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 ครั้งนี้เกิดขึ้นได้และประสบความสำเร็จตามเป้าหมาย

การใช้งาน NETPIE FEED เบื้องต้น

NETPIE Series

Freeboard widgets พื้นฐานที่กล่าวในหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266” จะใช้ในการแสดงข้อมูลปัจจุบันให้ผู้ใช้งาน ในกรณีที่ต้องการเก็บข้อมูลเป็นชุดตามฐานเวลาในลักษณะเช่นเดียวกับการใช้ ThingSpeak ในบทที่ 4 จะต้องใช้บริการอีกรูปแบบหนึ่งที่มีให้ใน NETPIE เรียกว่า Feeds ซึ่งจากการทดสอบใช้งานได้ดีแม้จะมีข้อจำกัดการใช้งานอยู่บ้าง เช่นอัตราการเก็บข้อมูลเฉลี่ยประมาณ 15 วินาทีต่อหนึ่งจุด เพื่อการแบ่งปันทรัพยากรสำหรับการใช้งานฟรีโดยผู้ใช้ทั่วไป แต่โดยรวมแล้วเห็นว่าเหมาะสมเพราะสามารถเชื่อมต่อกับ Freeboard ได้

การส่งข้อมูลจาก Freeboard Slider หลายตัวไปยัง ESP8266 microgear

NETPIE Series

จากตัวอย่าง ex5_3.ino ในหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266” ได้แสดงการควบคุมและแสดงผลผ่าน NETPIE เบื้องต้น โดยใช้ slider widget ส่งคำสั่งอ้างอิงให้กับตัวควบคุม และส่งข้อมูล 3 ค่ากลับไปแสดงผล จากตัวอย่างจะเห็นว่าการส่งข้อมูลหลายชุดไปยัง NETPIE สามารถทำได้โดยง่าย แต่การที่จะส่งข้อมูลจาก NETPIE ไปยังบอร์ดมากกว่าหนึ่งตัวยังคงเป็นปัญหาที่ยังไม่มีการแสดงวิธีการอย่างชัดเจน ซึ่งจากการบรรยายในชั้นก็มีคำถามนี้จากผู้เรียน

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

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