Edge Computing เป็นคำที่ได้พบเจอกันบ่อย เหมือนกับคำว่า IoT, Cloud, BigData หากจะอธิบายถึง Edge Computing คงต้องย้อยอดีตกันสักหน่อย เพื่อจะได้เห็นวิวัฒนาการที่ผ่านมา ช่วงแรกเริ่มการใช้งานคอมพิวเตอร์ใช้งานผ่าน dumb terminal พิมพ์คำสั่งแล้วรอผลจากการประมวลผลที่คอมพิวเตอร์เมนเฟรมปลายทางส่งผลลัพท์มาให้ จากนั้นก็เข้าสู่ยุคคอมพิวเตอร์ส่วนบุคคล (PC) ที่ทุกคนมีคอมพิวเตอร์ใช้งาน การประมวลผลจะอยู่ที่เครื่องคอมพิวเตอร์ต้นทาง ในปัจจุบันเป็นยุค Cloud Computing วิธีการใช้งานคอมพิวเตอร์ได้เปลี่ยนไป โปรแกรมคอมพิวเตอร์เชื่อมต่อกับ Cloud มากขึ้น การประมวลผลและการใช้งานบริการต่างๆ อยู่บน Cloud มากขึ้น เช่น บริการ Dropbox, Gmail, Office365 เป็นต้น ไม่เพียงแต่คอมพิวเตอร์ส่วนบุคคลเท่านั้นที่เชื่อมต่อกับ Cloud ยังมีอุปกรณ์อัจฉริยะอย่าง Amazon Echo, Google Home, Google Chromecast และ Apple TV ยังใช้เนื้อหาและบริการอัจฉริยะที่อยู่บน Cloud เช่นกัน

Cloud จึงกลายเป็นศูนย์กลางการเชื่อมต่อกับบริการทุกอย่าง บริษัทยักษ์ใหญ่ลงทุนโครงสร้างพื้นฐานด้าน Cloud เพื่อรองรับบริการของตนเอง รวมไปถึงเปิดบริการ Cloud ให้คนอื่นใช้งานด้วย บริการบน Cloud ไม่ได้มีแค่ infrastructure เท่านั้น ยังมีบริการอื่นๆ เพิ่มเติมอีกหลายอย่าง เช่น Machine Learning, AI รวมไปถึงบริการการประมวลผลข้อมูลขนาดใหญ่ เช่น Big Data อีกด้วย Amazon ถือเป็นผู้ให้บริการ Public Cloud รายใหญ่ มีส่วนแบ่งการตลาดมากกว่า 47 เปอร์เซ็นต์

Edge Computing คือการประมวลผลข้อมูลที่อยู่ใกล้กับแหล่งข้อมูลให้มากที่สุด อาจจะอยู่ในรูปแบบการวิเคราะห์ข้อมูล การประมวลผลข้อมูลเชิงสถิติ ซึ่งแทนที่จะเอาข้อมูลจำนวนมหาศาลขึ้นไปประมวลผลบน Cloud ก็เอาข้อมูลเหล่านั้นมาประมวลผลที่ต้นทางที่ใกล้กับแหล่งข้อมูลมากที่สุด หรือ Edge นั่นเอง สาเหตุหลักที่ทำให้การประมวลผลจำเป็นต้องอยู่ที่ต้นทาง (Edge)

null

เวลาในการรับส่งข้อมูล (Latency)

เวลาในการรับส่งข้อมูล (Latency) เป็นเหตุผลที่ทำให้ Edge Computing ได้เปรียบในด้านความเร็วในการรับส่งข้อมูล ยกตัวอย่างเช่น หากเครื่องคอมพิวเตอร์ต้องการส่งข้อมูลไปหาเครื่องคอมพิวเตอร์อีกเครื่องที่อยู่คนละฝั่งโลก ความเร็วในการรับส่งข้อมูลเป็นตัวแปรสำคัญ ซึ่งการรับส่งข้อมูลในระยะที่ใกล้จะมีความเร็วมากกว่าส่งในระยะไกลอย่างแน่นอน ตัวอย่างเช่น บริการ Voice Assistant อย่าง Amazon Echo ถ้าส่งข้อมูลไปประมวลผลบนเซิร์ฟเวอร์ที่อยู่บน Cloud ทุกครั้งเพื่อหาคำตอบ จากบริการ API ต่างๆ บน Cloud หากบริการนั้นมีความซับซ้อน Amazon Echo ก็จะใช้เวลานานในการค้นหาคำตอบกว่าจะพูดตอบกลับมายังผู้ใช้ ล่าสุด Amazon ก็เริ่มมีการพัฒนาชิป AI ฝังอยู่ Amazon Echo ทำให้ Alexa ตอบคำถามได้รวดเร็วยิ่งขึ้น ทำให้การใช้เรียกใช้บริการในฝั่งเซิร์ฟเวอร์บน Cloud ก็จะน้อยลง ข้อมูลส่วนตัวของคุณก็จะอยู่กับตัวคุณมากขึ้น เพราะไม่จำเป็นต้องส่งข้อมูลไปประมวลผลบน Cloud ทุกครั้ง

ความเป็นส่วนตัวและความปลอดภัย (Privacy & Security)

ความเป็นส่วนตัวและความปลอดภัยเป็นประเด็นที่ทุกคนให้ความสำคัญ ยกตัวอย่าง กรณีการเก็บข้อมูลลายนิ้วมือใน iPhone, iPad ของ Apple เป็นตัวอย่างที่ดี Apple มีนโยบายชัดเจนในเรื่องการเก็บข้อมูลลายนิ้วมือของผู้ใช้ ซึ่งจะต้องจัดเก็บอยู่ในอุปกรณ์เท่านั้นและไม่สามารถนำข้อมูลลายนิ้วมือออกมาได้ การที่ไม่จำเป็นต้องเอาข้อมูลส่งออกไปเก็บหรือประมวลผลที่อื่น การบริหารจัดการอยู่ที่จุดเดียวสามารถช่วยในเรื่องความปลอดภัยของข้อมูลได้

แบนด์วิธ (Bandwidth)

ไม่เพียงแค่ความปลอดภัยของข้อมูลเท่านั้น เรื่องแบนด์วิธของเครือข่ายก็เป็นเรื่องนึงที่ Edge Computing สามารถแก้ปัญหาได้ เรื่องการใช้งานแบนด์วิธและประหยัดแบนด์วิธการรับส่งข้อมูลไปยัง Cloud ยกตัวอย่างอุปกรณ์อัจฉริยะจำนวนมหาศาลหากต้องการส่งข้อมูลไปยัง Cloud พร้อมๆ กันต้องใช้แบนด์วิธจำนวนมหาศาลตามไปด้วย หากการประมวลผลข้อมูลอยู่ที่ Edge เช่น มี AI อยู่ที่อุปกรณ์ของผู้ใช้สามารถประมวลผลข้อมูลในตัวได้ การรับส่งข้อมูลขึ้นไปประมวลผลบน Cloud ก็จะลดลง สามารถแก้ปัญหาการใช้แบนด์วิธของเครือข่าย และแก้ปัญหาเรื่อง Latency ได้

เมื่อวานแวะไปงาน KidBright Developer Conference (KBD) งานนี้เป็นงานเปิดตัว KidBright IDE รุ่นใหม่ แถลงข่าวเปิดตัวเป็นโครงการ OpenSource และมอบรางวัลโครงงานสิ่งประดิษฐ์จากบอร์ด KidBright งานนี้มีคนในวงการรวมทั้ง Maker ทั้งรุ่นเล็กรุ่นใหญ่มาร่วมงาน เป็นสักขีพยานและร่วมแสดงความยินดีกับการเปิดตัวเป็น OpenSource ในครั้งนี้ด้วย

KidBright เปิดเป็นโครงการ OpenSource เรียบร้อยแล้วทั้งใน KidBright IDE และ Library KidBright32 โครงการอยู่ที่ GitLab ไปส่องกันดูได้

แปะหน้า IDE ให้ดูก่อน

เมื่อ KidBright เปิดโค้ดแล้วเราก็สามารถเขียน Plugin เพิ่มเติมได้ มีตัวอย่าง Plugin จาก KB Chain มาให้ 3 ชุด

นอกจากนี้ยังมี KB Chain มีมาให้ดูเป็นตัวอย่างด้วย ใครสนใจก้อไปสั่งซื้อกันได้ ที่เว็บไซต์ KidBright.IO ครับ

Microchip เปิดตัวบอร์ดสำหรับนักพัฒนาตัวใหม่ ใช้ชิป MCU เป็น ATmega4808 ประมวลผลแบบ 8Bits ความเร็ว 20MHz หน่วยความจำแฟลช 48KB แรม 6KB มาพร้อม Wifi module ATWINC1510 และชิปเข้ารหัส ATECC608A สามารถเชื่อมต่อกับ Google Cloud IoT พร้อมส่งข้อมูล sensor ไปยัง Cloud ได้เลย

มาดูอุปกรณ์บนบอร์ดกัน

MCU ใช้ชิป ATMEGA4808 ประมวลผลแบบ 8Bits ความเร็ว 20MHz หน่วยความจำแฟลช 48KB แรม 6KB ชิปเข้ารหัสข้อมูล ATECC608A รองรับการเข้ารหัสข้อมูลในสื่อเก็บข้อมูล เข้ารหัสการเชื่อมต่อกับ Google Cloud และรองรับ secure boot ในส่วนของ Wifi module เป็น Low Power Wifi Module ใช้ชิป ATWINC1510 2.4GHz b/g/n

มี Temperature sensor และ Light sensor ในตัว มีโมดูลสำหรับชาร์จ battery พร้อมพอร์ท JTAG ต่อ LIPO battery ได้

มีชิป USB Debugger มาให้ รองรับการ flash และ debug ผ่านสาย USB นอกจากนี้ยังมี user button 2 อันเอาไว้ให้ใช้งาน

ไฟสถานะ 4 สี บอกสถานะการเชื่อมต่อ Wifi, สถานะการเชื่อมต่อ Google Cloud Server, สถานะรับส่งข้อมูลและสถานะข้อผิดพลาด

ลองมาดู Pin Mapping กันบ้าง

จาก Pin Mapping จะเห็นว่า Dev Board มี Pin Header สำหรับเชื่อมต่อกับอุปกรณ์ภายนอก มี Pin สำหรับเชื่อมต่ออุปกรณ์ที่ใช้โปรโตคอล SPI และ I2C ด้วย สำหรับการใช้งานเบื่องต้นดูได้จากวิดีโอข้างล่าง

สำหรับท่านที่อยากได้ AVR-IoT WG มาลอง สามารถสั่งซื้อได้ที่เว็บไซต์ Microship สำหรับในประเทศไทยสามารถ

ตารางเปรียบเทียบเทคโนโลยีเชื่อมต่อข้อมูลบนอุปกรณ์ IoT เตรียมตัวกันไว้ให้พร้อมนะครับ คาดว่าปีหน้า LoRa และ NB-IoT จะคึกคักมากขึ้น

ปล. เรื่องความถี่ของ LoRA ในย่าน 920-925Mhz ผ่าน กสทช.เรียบร้อยแล้ว ผู้นำเข้าและผลิตอุปกรณ์อย่าลืมไปขออนุญาติกันก่อนนะครับ สำหรับข้อมูลเปรียบเทียบเทคโนโลยีอ่านเพิ่มเติมที่ https://flespi.com/blog/top-7-technologies-for-iot-connectivity-2017

วันนี้ได้ความรู้ใหม่จากคุณ Teerawut Jitpromma เรื่อง NETPIE REST API รู้สึกแปลกใจอยู่นิดหน่อยว่ามี REST API ตั้งแต่ตอนไหน การที่ NETPIE มี REST API ทำให้รู้สึกตื่นเต้นมากครับ เพราะเราสามารถเอาอะไรไปเชื่อมต่อ ก็ได้ตามที่เราต้องการ เช่น Mobile App, Data Aggregator, Node-RED, Freeboard.io เป็นต้น ก็เลยได้มาลองเล่น NETPIE REST API ดูบ้าง มีคำแนะนำใน GitHub เรื่อง REST API อยู่นะครับ เอาเป็นว่าจะอธิบายง่ายๆ ละกัน

ตัว NETPIE เปิด API ให้เราสามารถสั่ง publish, subscribe ผ่านทาง REST API ได้ โดยใช้ URL ชื่อ https://api.netpie.io เป็น service endpoint จะทำอะไรก็ตามกับ resources เช่น publish, subscribe จะต้องทำ authentication เพื่อยืนยันตัวตน ก่อนใช้งานทุกครั้ง ซึ่งตอนนี้มี 2 วิธี

Continue reading

LinkIt Smart 7688 มาพร้อมกับช่องต่อสาย usb host เอาไว้ต่ออุปกรณ์ภายนอก อ อย่างเช่น กล้อง Web Cam เป็นต้น และ OpenWRT เองก็มี mjpeg streamer มาให้ด้วยไม่ต้องติดตั้งโปรแกรมเพิ่ม อย่าลืมสาย OTG


Continue reading

เนื่องจากมีหลายท่านแนะนำ HomeKit ของ Apple ให้ลองเล่นกับ Siri ทั้ง Dearware และ Chiang Mai Maker Club (CMMC) ได้ทำเล่นกันไปสนุกสนานกันไปนานแล้ว ก็เลยมาเล่นบ้าง โครงการ HomeKit Bridge แบบนี้มีนักพัฒนาหลายคนพยายามแกะโปรโตคอล เพื่อสร้างอุปกรณ์หลอกๆ แล้วสั่งให้ Siri ทำงานได้ โดยไม่ต้องไปหาซื้ออุปกรณ์ที่รองรับ HomeKit มาใช้งานจริงๆ เช่น คุณอยากจะควบคุมหลอดไฟในบ้าน ก็ไม่ต้องไปซื้อ SmartBlub มาเปลี่ยนทั้งบ้าน อยากจะควบคุมปลั๊กไฟในบ้านก็ไม่ต้องเปลี่ยนเต้าเสียบทั้งบ้าน เป็นต้น

โดยปกติ HomeKit Accessory จะทำงานผ่าน Wifi หรือ Bluetooth หากสามารถสร้าง Accessory หลอก HomeKit ได้ ก็สามารถใช้ Siri สั่งงานได้ ซึ่งโครงการแบบนี้มีอยู่เยอะพอสมควร โดน Apple ปิดไปบ้างก็มี ครั้งนี้มาแนะนำ HAP-NodeJS เป็น HomeKit Accessory Server ดูจากชื่อใช้ Node.js ก็สามารถเอาไปติดตั้งที่ไหนก็ได้ PC, Router ที่ใช้ OpenWRT หรือ Raspberry Pi มาลงมือติดตั้งกันเลย เราจะใช้ Raspberry Pi เป็น Accessory Server กัน

Continue reading

สำหรับท่านที่ใช้งาน ESPresso Lite คงจะคุ้ยเคยกับบริการของค่าย ESPert และคงได้ใช้ ESPert Arduino Library กันไปบ้าง ตัว Library นอกจากจะใช้งานกับ Board ใน Series ESPresso แล้ว ยังสามารถเอามาใช้งานกับ Wifi Dev Kit ที่ใช้ ESP8266 ได้ แนะนำให้ใช้กับ ESP-12E+ ขึ้นไป อย่างเช่น NodeMCU Dev Kit v1 ได้ ทำให้เราสามารถใช้ความสามารถของ Library ที่มีอยู่ได้เลย ทั้ง SmartConfig, AP Mode,เรียกใช้งาน OLED และ DHT22 แบบง่ายมากๆ และการเชื่อมต่อกับบริการของ ESPert อย่างเช่น MQTT Service ได้

หากมาดู pin layout ของ ESPresso Lite เปรียบเทียบกับ NodeMCU DevKit v1 จะพบว่า

  • pin D0 หรือ GPIO 16 ต่อ LED เดียวกันกับ NodeMCU Dev Kit v1
  • pin D1, D2 คือ SCL และ SDA เอาไว้ต่อกับจอ OLED
  • pin D4 ต่อกับ USER Button
  • pin D6 ต่อกับ DHT22


Continue reading

ESPresso Lite เป็น WiFi Development Board จากค่าย ESPert ซึ่ง ESPresso (ESP8266 Module) เป็นโครงการที่เป็นความร่วมมือจาก 3 ประเทศ ไทยเป็นคนออกแบบ, ทำต้นแบบ, พัฒนาซอฟต์แวร์ และระบบคลาวด์, สิงคโปร์ทำด้านการตลาดและการจัดจำหน่าย, มาเลเซียทำการผลิต ESPresso Lite มาพร้อมกับ ESP-WROOM-02, LED, push button switch ช่องสำหรับเชื่อมต่อกับ module วัดอุณหภูมิและความชื้น DHT22, ช่องต่อจอ OLED, pin เชื่อมต่อกับ ESP-WROOM-02 และ pin เชื่อมต่อกับ USB2TTL เอาไว้สำหรับ flash โปรแกรม


Continue reading

HomA เป็น framework สำหรับสร้าง Smart Home รองรับการเชื่อมต่อกับอุปกรณ์ Internet of Things ได้อย่างง่ายๆ HomA ใช้ MQTT Protocol ในการสื่อสารและการเก็บข้อมูล การเชื่อมต่อของอุปกรณ์ IoT ต่างๆ ใน HomA เราจะเรียกว่า Components จะเชื่อมต่ออ่านเขียนข้อมูลกับ MQTT Broker ซึ่ง Components ไม่ได้หมายถึงตัวอุปกรณ์เพียงอย่างเดียว แต่รวมไปถึงบริการต่างๆ ด้วย เช่น Weather Service, Google Calendar เป็นต้น HomA มีตัวอย่างการติดตั้ง Components ต่างๆ ไว้หลายตัว เช่น Ambilight, Calendar, Logger, CSM, Rules, Sockets เป็นต้น สำหรับการควบคุม Components ต่างๆ สามารถสั่งงานผ่าน Mobile App ชื่อ HomA ได้เลย

มาลองเล่น HomA กัน เริ่มจากติดตั้ง HomA service กันก่อนดังนี้

export HOMA_BASEDIR=/opt/homa

git clone https://github.com/binarybucks/homA.git $HOMA_BASEDIR

cd $HOMA_BASEDIR

ติดตั้ง submodule

git submodule init

git submodule update


Continue reading