ในบทความนี้จะกล่าวถึงการใช้งาน Bluetooth บน ESP32 แบบธรรมดา (บางที่เรียกว่าแบบ classic) ซึ่งจะเขียนโปรแกรมง่ายกว่าแบบ BLE (Bluetooth Low Energy) ที่เน้นการประหยัดพลังงาน แต่ในที่นี้จะใช้สำหรับงานปกติที่รับส่งคำสั่งเป็นคู่ขนานกับพอร์ตอนุกรม ผู้อ่านที่ติดตามเว็บหรือหนังสือคุ้นเคยดีอยู่แล้วกับฟังก์ชัน cmdInt() การโปรแกรมจะมองเสมือน Bluetooth เป็นพอร์ตอนุกรมอีกตัวหนึ่งที่มีลักษณะคำสั่งเหมือนกัน ทำให้เราสามารถควบคุมและรับข้อความได้โดยใช้โทรศัพท์มือถือ การทดลองในบทความนี้จะใช้โทรศัพท์ที่มีระบบปฏิบัติการ Android และติดตั้งแอป Serial Bluetooth Terminal ผู้อ่านสามารถพัฒนาเพิ่มเติมเพื่อสร้างแอปควบคุมได้โดยใช้เครื่องมือเช่น App Inventor
ดิว.นินจา
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 เป็นหลักเพื่อความกระชับ
Subscribe to:
Posts (Atom)
แนะนำหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266”
ปัจจุบันเมื่อกล่าวถึงอุปกรณ์ IoT (Internet of Things) คงมีน้อยคนที่จะไม่รู้จัก ในยุคที่การเข้าถึงอินเทอร์เน็ตเป็นกิจวัตรประจำวันของมนุษย์เ...
-
สำหรับระบบฝังตัวทั่วไปหรืออุปกรณ์ไอโอที วิธีการหนึ่งที่นิยมใช้ในการเพิ่มความฉลาดกับอุปกรณ์และความเป็นมิตรกับผู้ใช้งาน คือความสามารถในการจดจ...
-
Update : บทความนี้ได้เขียนขึ้นในขณะที่ ESP32 เพิ่งออกสู่ตลาดเป็นเวลาไม่นาน ทำให้ขั้นตอนการติดตั้งเครื่องมือพัฒนามีความยุ่งยากโดยเฉพาะสำหร...
-
เนื่องจาก NETPIE2020 เป็นแพลตฟอร์มใหม่ที่เพิ่งเปิดตัว ดังนั้นตัวอย่างที่แสดงบนเว็บจะเน้นการใช้งานขั้นพื้นฐาน โดยเฉพาะด้านการส่งคำสั่งให้กับ...