ดิว.นินจา

ดิว.นินจา

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 ของท่าน

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

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