ดิว.นินจา

ดิว.นินจา

Tuesday, January 10, 2023

Friday, June 11, 2021

dewdotninja GitHub

ในระยะหลังพบว่าการพัฒนาสื่อการสอนบนและเผยแพร่บน github กระทำได้สะดวกกว่าสร้างโพสต์บนเว็บนี้ ดังนั้นจึงเปลี่ยนไปอัพเดทบน github เป็นหลัก สามารถติดตามได้ที่

Sunday, July 26, 2020

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

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

Friday, May 22, 2020

แนะนำหนังสือ "เน็ตพาย 2020 ภาคปฏิบัติ"

เน็ตพาย (NETPIE) คือแพลตฟอร์มคลาวด์สำหรับเชื่อมต่ออุปกรณ์ไอโอทีหลากหลายประเภทเพื่อให้สามารถสื่อสารกันได้แบบเรียลไทม์ เปิดให้บุคคลทั่วไปใช้งานภายใต้ข้อจำกัดด้านทรัพยากรที่กำหนด พัฒนาโดยศูนย์อิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) ในปี ค.ศ. 2015 ซึ่งต่อมาได้ก่อตั้งบริษัท Nexpie เพื่อรองรับผู้ใช้งานที่มีจำนวนเพิ่มขึ้น ในเดือนกุมภาพันธ์ 2020 NETPIE ได้เปิดตัวเวอร์ชันใหม่คือ NETPIE 2020 ที่มีโครงสร้างแตกต่างจากเวอร์ชัน 2015 ค่อนข้างมาก มีจุดเด่นคือการใช้งานที่ง่ายขึ้น เขียนโปรแกรมโดยภาษาคอมพิวเตอร์ใดก็ได้ที่สนับสนุน MQTT โดยไม่จำเป็นต้องอาศัยไลบรารี Microgear และข้อดีอื่นๆ ที่ทำให้เหมาะสมกับการสร้างเป็นผลิตภัณฑ์เชิงธุรกิจ อย่างไรก็ตามการเปลี่ยนแปลงทำให้ผู้พัฒนาต้องศึกษาสถาปัตยกรรมใหม่ และวิธีการโปรแกรมอุปกรณ์ให้ทำงานบน NETPIE 2020

Monday, April 27, 2020

NETPIE 2020 : อ่านข้อมูลจาก Shadow เพื่อตั้งค่าเริ่มต้นสำหรับ ESP8266/ESP32

สำหรับระบบฝังตัวทั่วไปหรืออุปกรณ์ไอโอที วิธีการหนึ่งที่นิยมใช้ในการเพิ่มความฉลาดกับอุปกรณ์และความเป็นมิตรกับผู้ใช้งาน คือความสามารถในการจดจำสถานะหรือพารามิเตอร์บางตัวที่สำคัญต่อระบบ ตัวอย่างเช่นสีของการแสดงผลที่ผู้ใช้ชอบ พารามิเตอร์ควบคุมที่ผ่านการปรับแต่ง ซึ่งจะถูกเก็บรักษาไว้แม้แต่เวลาที่ไม่มีแหล่งจ่ายไฟเลี้ยง ในไมโครคอนโทรลเลอร์ส่วนใหญ่ในปัจจุบันจะมีหน่วยความจำ EEPROM หรือแบ่งพื้นที่บางส่วนของหน่วยความจำแบบ Flash เพื่อเขียนข้อมูลอย่างถาวรได้ หรือระบบที่ใหญ่ขึ้นเช่นราสเบอรี่ พาย อาจเก็บข้อมูลบน SD card ปัญหาคือเราไม่ทราบว่าเมื่อไรแหล่งจ่ายไฟจะเกิดขัดข้องหรือเกิดเหตุการณ์อื่นที่ทำให้ระบบหยุดทำงาน จึงต้องมีการเขียนหน่วยความจำถาวรบ่อยครั้งและมีผลต่ออายุการใช้งาน โดยเฉพาะหน่วยความจำ Flash ที่มีจำนวนครั้งการเขียนน้อยกว่า EEPROM แท้ ทางเลือกหนึ่งที่ทำได้ง่ายบน NETPIE 2020 คือเก็บค่าบน Device Shadow ซึ่งสามารถร้องขอข้อมูลเมื่อไรก็ได้โดยพับลิชไปที่หัวข้อที่กำหนด และรอรับข้อมูลทางช่องทางส่วนตัวของอุปกรณ์ บทความนี้แนะนำวิธีการเขียนโปรแกรมบน ESP8266/ESP32 โดยยกตัวอย่างการตั้งค่าตัวแปรสำหรับนับจำนวนวัตถุอย่างต่อเนื่อง

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 ได้โดยคำสั่งชุดเดียวกัน

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, January 11, 2020

NETPIE microgear : แนวทางการพัฒนาอุปกรณ์ IoT สำหรับผู้ใช้ทั่วไป

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

Sunday, December 29, 2019

การใช้งาน Serial Bluetooth บน ESP32

ในบทความนี้จะกล่าวถึงการใช้งาน Bluetooth บน ESP32 แบบธรรมดา (บางที่เรียกว่าแบบ classic) ซึ่งจะเขียนโปรแกรมง่ายกว่าแบบ BLE (Bluetooth Low Energy) ที่เน้นการประหยัดพลังงาน แต่ในที่นี้จะใช้สำหรับงานปกติที่รับส่งคำสั่งเป็นคู่ขนานกับพอร์ตอนุกรม ผู้อ่านที่ติดตามเว็บหรือหนังสือคุ้นเคยดีอยู่แล้วกับฟังก์ชัน cmdInt() การโปรแกรมจะมองเสมือน Bluetooth เป็นพอร์ตอนุกรมอีกตัวหนึ่งที่มีลักษณะคำสั่งเหมือนกัน ทำให้เราสามารถควบคุมและรับข้อความได้โดยใช้โทรศัพท์มือถือ การทดลองในบทความนี้จะใช้โทรศัพท์ที่มีระบบปฏิบัติการ Android และติดตั้งแอป Serial Bluetooth Terminal ผู้อ่านสามารถพัฒนาเพิ่มเติมเพื่อสร้างแอปควบคุมได้โดยใช้เครื่องมือเช่น App Inventor

Saturday, June 22, 2019

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

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

Sunday, June 2, 2019

microgear.begin(5555) : สนุกกับการส่งค่าความเร่งและไจโรผ่าน NB-IoT และ NETPIE

เชื่อว่าผู้อ่านส่วนใหญ่ได้ติดตามข่าวเกี่ยวกับผลิตภัณฑ์ NB-IoT ในรูปแบบของ Arduino Shields จากค่าย AIS และ True และหลายท่านคงได้หาอุปกรณ์มาทดลองแล้ว โดยในปัจจุบันชิลด์ออกแบบมาสำหรับใช้งานกับบอร์ด Arduino UNO และ MEGA ทางทีม NETPIE ได้พัฒนาไลบรารี microgear สำหรับ NB-IoT โดยเฉพาะ ที่ใช้ได้กับผลิตภัณฑ์จากทั้งสองบริษัท โดยสร้างบทความตัวอย่างการใช้งานพื้นฐานในการอ่านค่าจากเซนเซอร์ DHT เพื่อแสดงผลบน Freeboard เมื่อติดตั้งไลบรารีตามคำแนะนำในบทความ ผู้อ่านสามารถรันโปรแกรมที่มีให้บนเว็บได้อย่างไม่มีปัญหา microgear.begin(5555); เป็นคำสั่งเริ่มต้นทำงานที่น่ารื่นเริงบันเทิงใจอย่างมากในความคิดของผู้เขียน ซึ่งทุกคนน่าจะหัวเราะอย่างเป็นสุขเมื่อเห็นการแสดงผลข้อมูลบนหน้า Freeboard คงเหมือนเป็นธรรมเนียมไปแล้วว่าตัวอย่างแรกในการเรียนรู้อุปกรณ์ใหม่ด้าน IoT คือการวัดอุณหภูมิและความชื้น ดังนั้นผู้เขียนจะพยายามนำเสนอการใช้งานทีแตกต่างออกไป ในบทความนี้เราจะศึกษาการอ่านค่าจากเซนเซอร์วัดความเร่งและความเร็วเชิงมุม (ไจโร) และส่งข้อมูลให้ NETPIE Freeboard และ Feed ผ่าน NB-IoT

Saturday, May 4, 2019

กำหนดคาบเวลาการทำงานอัลกอริทึมบน ESP8266

ในการทำงานบางประเภทบนระบบฝังตัว เช่น การสุ่มสัญญาณ การอิมพลิเมนต์ตัวควบคุมเชิงเส้น สิ่งสำคัญที่ต้องคำนึงถึงคือคาบเวลาของการประมวลผลที่จะต้องมีความแม่นยำและสามารถกำหนดได้ในโปรแกรม วิธีการง่ายสุดคือการใช้คำสั่ง delay() เพื่อหน่วงเวลา แต่จะไม่ได้รวมเวลาการคำนวณอัลกอริทึมเข้าไปด้วย ซึ่งจะมีความคลาดเคลื่อนสูงโดยเฉพาะสำหรับระบบที่ต้องการคาบเวลาการทำงานสั้นมาก ในบทความนี้รวบรวมวิธีการกำหนดคาบเวลาสำหรับ ESP8266 โดยอาศัยไทเมอร์หรือการอ่านค่าฐานเวลาจากระบบ สำหรับตัวประมวลผล ESP32 จะมีไลบรารี FreeRTOS ช่วยให้การกำหนดทาสก์รายคาบทำได้ง่ายและเป็นระบบ

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, January 11, 2019

NETPIE Freeboard : วิธีแยกข้อมูลจาก widgets ควบคุมโดยกำหนดชื่อ topic

ปัญหาหนึ่งที่ผู้เริ่มต้นพัฒนา NETPIE Freeboard ประสบเมื่อเพิ่ม widget สำหรับควบคุมฮาร์ดแวร์จำนวนมากกว่า 1 ตัวขึ้นไป คือต้องการให้อุปกรณ์ทางด้านรับสามารถแยกได้ว่าข้อมูลถูกส่งมาจาก widget ตัวใด เพื่อที่จะตอบสนองต่อคำสั่งนั้นได้อย่างถูกต้อง ทางแก้ที่ผู้เขียนเคยนำเสนอและใช้ได้ดีคือการเพิ่มสตริงส่วนที่เป็นคำสั่งเข้าไปในข้อมูลที่ chat มาจาก widget แต่ละตัว และสร้างฟังก์ชันแปลคำสั่งทางด้านรับ อย่างไรก็ตามสำหรับ IoT ขนาดเล็กที่มี widget ควบคุมเพียง 2-3 ตัว การเขียนฟังก์ชันแปลคำสั่งอาจจะเกินความจำเป็น ดังนั้นในบทความนี้จะนำเสนอทางเลือกอีกวิธีหนึ่ง คือทางด้านส่งใช้ฟังก์ชัน microgear.publish() โดยระบุ topic ที่แตกต่างกัน ทำให้ทางด้านรับสามารถแยกข้อมูลและทำงานตาม topic ที่ตั้งไว้

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 การวิเคราะห์วงจรไฟฟ้า ผลตอบสนองความถี่ของตัวควบคุมป้อนกลับ

Sunday, December 16, 2018

Topic: เรียนรู้ตัวกรองแบบดิจิทัลบน ESP8266 และ NETPIE

ในปัจจุบันอุปกรณ์ที่เป็นแบบแอนะล็อกทั้งในชีวิตประจำวัน ด้านการแพทย์ ในภาคอุตสาหกรรม และหลายสาขาวิชาเริ่มเหลือน้อยลงเนื่องจากข้อด้อยหลายประการเมื่อเทียบกับระบบดิจิทัลที่มาแทนที่ ตัวกรอง (filters) เป็นตัวอย่างหนึ่งที่ในอดีตสร้างจากอุปกรณ์อิเล็กทรอนิกส์ เช่นตัวต้านทาน ตัวเก็บประจุ ตัวเหนี่ยวนำ ออปแอมป์ ปัญหาหลักที่เกิดขึ้นคือ วงจรจะกินพื้นที่แผ่นวงจรพิมพ์ตามขนาดและจำนวนของอุปกรณ์ หากต้องการเปลี่ยนโครงสร้างต้องออกแบบบอร์ดและลงอุปกรณ์ใหม่ บางครั้งหาค่าอุปกรณ์ที่คำนวณได้ไม่มีขาย อุปกรณ์มีการแปรค่าตามกาลเวลาและอุณหภูมิ การปรับความถี่คัทออฟต้องใช้อุปกรณ์แบบปรับค่าได้ซึ่งมีปัญหาเมื่อหน้าสัมผัสสกปรก แตกต่างจากอัลกอริทึมที่เป็นซอฟต์แวร์รันบนตัวประมวลผลที่มีความยืดหยุ่นมากกว่า และขจัดปัญหาต่างๆ ของระบบแอนะล็อกที่กล่าวถึงมา ในบทความนี้เราจะมาเรียนรู้การสร้างตัวกรองแบบความถี่ต่ำผ่าน (Low Pass Filter) หรือเรียกย่อว่า LPF โดยสามารถปรับความถี่คัทออฟ (cutoff frequency) ได้โดยคำสั่ง และเชื่อมต่อกับ NETPIE เพื่อปรับค่าได้จากระยะไกล นอกจากนั้นยังสร้างสัญญาณรบกวนขึ้นในโปรแกรมเพื่อศึกษาการทำงานของตัวกรอง

Friday, November 30, 2018

NETPIE Microgear : การสื่อสารโดยวิธี chat และ publish

NETPIE Microgear เป็นไลบรารีสนับสนุนสำหรับการพัฒนา IoT ร่วมกับ NETPIE โดยสามารถใช้ได้กับอุปกรณ์หลายประเภททั้งแบบฮาร์ดแวร์และซอฟต์แวร์ ผู้เขียนได้อธิบายการใช้งาน Microgear ขั้นพื้นฐานแล้วทั้งในเว็บนี้และในหนังสือ แต่จากปัญหาที่ถามโดยผู้ใช้งานพบว่าในบางกรณีต้องการการเชื่อมต่อที่นอกเหนือไปจากที่เคยกล่าวถึง เช่นการสื่อสารระหว่าง IoT หลายตัว ดังนั้นจุดมุ่งหมายของบทความนี้คืออธิบายภาพรวมของการสื่อสารโดยวิธี chat และ publish พร้อมสาธิตการรับส่งข้อมูลระหว่างบอร์ด NodeMCU 2 ตัวกับ NETPIE โดยหวังว่าจะตอบโจทย์ผู้พัฒนาที่ต้องการการทำงานในลักษณะดังกล่าว

Thursday, August 30, 2018

การส่งข้อมูลจาก ESP32 ขึ้น NETPIE ผ่าน Arduino UNO + NB-IoT Shield

ปัจจุบัน NB-IoT เริ่มได้รับความนิยมมากขึ้นเมื่อมีเครือข่ายรองรับทั่วประเทศ โดยมีข้อดีด้านการใช้พลังงานน้อยและส่งได้ระยะทางไกล ทั้ง AIS และ True มีจำหน่ายผลิตภัณฑ์ NB-IoT shields โดยสามารถใช้งานร่วมกับบอร์ด Arduino ในตระกูล UNO/Mega และเมื่อไม่นานทีมพัฒนา NETPIE เริ่มเปิดตัวไลบรารี microgear สำหรับใช้งานร่วมกับ NB-IoT พร้อมบทความการใช้งานเบื้องต้น จากการทดสอบพบว่าใช้งานได้ดี ถึงแม้ว่าฟังก์ชันจะยังไม่ครบสมบูรณ์เท่ากับ microgear สำหรับฮาร์ดแวร์อื่นเช่น ESP8266 ก็ตาม

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

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