กลับไปหน้ารวมไฟล์
tiny-ml-in-interactive-spaces-arduino-x-k-way-challenge-project-original-version-d88430.md

เกี่ยวกับโปรเจกต์นี้

บอร์ด Arduino เป็นตัวเลือกยอดฮิตสำหรับโปรเจกต์ DIY เนื่องจากมีเอกสารครบ ชุมชนใหญ่ และใช้งานได้หลากหลาย บอร์ดพวกนี้เอาไปควบคุมอุปกรณ์สารพัดชนิด และสื่อสารกับอุปกรณ์อื่นๆ ได้ ทำให้เหมาะมากสำหรับการสร้างโปรเจกต์มัลติมีเดียที่ตอบสนองกับสิ่งรอบตัวได้

โดยรวมแล้ว บอร์ด Arduino ให้ความเป็นไปได้กว้างขวางสำหรับโปรเจกต์มัลติมีเดียโอเพ่นซอร์ส ด้วยการสนับสนุนโปรโตคอลสื่อสารต่างๆ และต้องขอบคุณ Edge Impulse กับ Tiny ML ทำให้เราสร้างโปรเจกต์ AIoT ได้สบายๆ

หนึ่งในฟีเจอร์เด็ดของบอร์ด Arduino คือการสนับสนุนโปรโตคอลสื่อสารหลายแบบ โดยเฉพาะ Wi-Fi ที่เปิดโลกให้สร้างโปรเจกต์เชื่อมต่อได้หลากหลาย อีกเครื่องมือเทพๆ คือ Arduino Cloud นี่คือแพลตฟอร์มที่ให้เราต่อโปรเจกต์ Arduino ของเราได้ง่ายๆ และเข้าถึงบริการกับเครื่องมือมากมาย ด้วย Arduino Cloud เราสามารถควบคุมอุปกรณ์จากระยะไกลได้เลย

นอกจากนี้ Tiny ML เป็นเทคโนโลยีที่ใช้กับบอร์ด Arduino เพื่อเพิ่มความสามารถ AI ให้กับโปรเจกต์ Tiny ML ให้เรารันโมเดลแมชชีนเลิร์นนิงบนบอร์ด Arduino ได้โดยตรง นี่เปิดโอกาสใหม่ๆ ในการสร้างโปรเจกต์อัจฉริยะที่ตอบสนองต่อการเคลื่อนไหวต่างๆ ได้แบบเรียลไทม์

โปรเจกต์นี้คือ Masterclass ใน Cognitive Computing และ Multimedia Interactivity ตัวจริงเสียงจริง The TinyML Interactive Space คือ Artificial Intelligence Workstation ประสิทธิภาพสูง ออกแบบมาเพื่อเชื่อมโยงการเคลื่อนไหวของมนุษย์กับศิลปะดิจิทัล ด้วยการประยุกต์ใช้ Edge Impulse Neural Networks และ **Nicla Sense ME’s 9-Axis AI Engine** โปรเจกต์นี้จะพาน้องไปสร้าง "Cognitive Room" อันล้ำสมัย ที่จัดการการตรวจจับท่าทางแบบเรียลไทม์และการประสานงาน MQTT-AV แบบโกลบอลด้วยความเร็วระดับอุตสาหกรรม

สภาพแวดล้อมแบบอินเทอร์แอคทีฟ TinyML ที่เสร็จสมบูรณ์ พร้อมการเชื่อมโยงท่าทางสู่ AV แบบเรียลไทม์

ภาพรวมโครงสร้างพื้นฐานและสถาปัตยกรรม AI

Performative AI Framework ทำงานผ่านวงจรชีวิตพิเศษแบบ Sample-Train-Deploy ระบบนี้สร้างขึ้นบน Deep Learning Model ที่มีความน่าเชื่อถือสูง:

  1. Nicla Sense ME Inertial Shunt: หรือ "Perceptual Node" บอร์ดนี้จับข้อมูล High-Frequency Accelerometer และ Gyroscope ข้อมูลเทเลเมทรีดิบนี้จะถูกประมวลผลผ่าน Bosch BHI260AB AI-Hub บนบอร์ด ทำให้สามารถวิเคราะห์การเคลื่อนไหวได้ในระดับมิลลิวินาทีด้วยพลังงานต่ำมาก
  2. Edge Impulse Neural Matrix: หรือแกนกลางลอจิก ด้วยสถาปัตยกรรม CNN (Convolutional Neural Network) ที่ฝึกด้วยชุดข้อมูลท่าทาง (กระโดด, วิ่ง, เคลื่อนไปด้านข้าง) ระบบสามารถระบุรูปแบบการเคลื่อนไหวที่ซับซ้อนด้วยความแม่นยำกว่า 90% และส่งออกน้ำหนักความรู้เป็นไลบรารี C++ ดั้งเดิม
  3. MQTT Dispatcher HUD: ผ่าน Mosquitto Broker เฉพาะทาง ท่าทางต่างๆ จะถูกกระจายเป็นอีเวนต์ดิจิทัล อุปกรณ์ใดๆ ที่เชื่อมต่อ—ตั้งแต่ชุด Oplà ไปจนถึงเครื่องฉาย VLC—จะรับทริกเกอร์เหล่านี้ ทำให้ได้การซิงโครไนซ์ AV แบบ "Zero-Latency" ระดับมืออาชีพ

สร้างด้วย

ด้วยความรักมากมาย 💖 แรงจูงใจที่จะช่วยเหลือคนอื่น 💪🏼 Arduino Edge Impulse และ Python 🐍 โดยใช้:

  • Edge Impulse กับแพลตฟอร์มและเอกสารอันยอดเยี่ยมของพวกเขา
  • Arduino IDE, Cloud และฮาร์ดแวร์
  • ซิปสีสันสดใสจากเสื้อแจ็กเก็ต K-Way
  • Arduino Nano Nicla SENSE ME (พร้อมแบตเตอรี่)
  • Arduino Nano RP2040
  • Arduino Opla IoT Kit
  • เครื่อง Linux
  • The MQTT Mosquitto Broker
  • โปรเจกเตอร์หรือจอแสดงผลใดๆ ที่มีพอร์ต HDMI
  • อุปกรณ์ที่สามารถเล่น Spotify ได้
  • หุ่นยนต์สามารถเป็นแบบพิมพ์ 3D พร้อมมอเตอร์ DC หรือเซอร์โวที่ควบคุมด้วย Arduino ได้ (สำหรับโปรเจกต์นี้พี่ใช้ตัวที่ทำจากเลโก้)
  • ฮาร์ดแวร์และเลเยอร์การออกแบบ

    • Nicla Sense ME (สมองประสาทสัมผัส): ไมโครคอนโทรลเลอร์ AI ระดับสูงที่เราเลือกมา มันทำหน้าที่เป็น สะพานเชื่อมจากเซ็นเซอร์ไปสู่การอนุมาน (Inertial-to-Inference Bridge) โดยคำนวณเครือข่ายประสาทเทียมแบบ floating-point ซับซ้อนบนตัวอุปกรณ์ได้เลย ไม่ต้องพึ่งเมฆ (cloud) ในรอบการอนุมาน
    • Arduino Nano RP2040 Connect: ตัว "ศูนย์รวมสัญญาณ (Sync Hub)" เราเลือกเจ้านี้มาเพราะมันมี WiFiNINA ในตัว มันรับแพ็กเก็ตท่าทางจาก MQTT แล้วไปสั่งงานแอคชูเอเตอร์จริงๆ เช่น หุ่นยนต์เลโก้หรือประติมากรรมจลนศาสตร์สุดพิเศษ
    • Arduino Oplà IoT Kit: ตัว "HUD อินเทอร์แอคทีฟ" มันให้ การตอบสนองทั้งภาพและเสียง ผ่าน OLED วงกลมและเซ็นเซอร์สัมผัสแบบ capacitive ที่ติดมาในตัว ทำหน้าที่เป็นโหนดควบคุมหลักสำหรับผู้ใช้งาน
    • Linux Multimedia Matrix: ผู้กำกับกลาง ตัวนี้รันเอนจินที่ใช้ Python ดูแล Spotify Web API สำหรับเสียง และ ไลบรารี VLC-Python สำหรับการฉายภาพแมปปิ้งความละเอียดสูง 2K/4K ที่ถูกกระตุ้นโดยเหตุการณ์จาก AI

    สิ่งที่ต้องเตรียมก่อนเริ่มงาน

    ก่อนจะได้โค้ดมาลงเครื่องและรันโปรเจกต์ได้ น้องต้องทำตามขั้นตอนง่ายๆ เหล่านี้ก่อน:

    นี่คือลิสต์ของสิ่งที่ต้องใช้และวิธีติดตั้ง เริ่มแรกเราจะตั้งค่าสำหรับเครื่อง Linux ของเราก่อน

    การตั้งค่า Linux เพื่อรันโค้ด:

    เราต้องใช้ Linux หรือดิสโทรอื่นๆ เช่น Debian สำหรับ MQTT Broker ก่อนติดตั้งไลบรารีในเครื่อง Linux ให้รันโค้ดต่อไปนี้ในเทอร์มินัลก่อน:

    sudo apt update

    sudo apt upgrade

    หลังจากอัปเดตและอัปเกรดแล้ว เราจะเขียนคำสั่งต่อไปนี้เพื่อติดตั้ง VLC player สำหรับรันอนิเมชั่นของเราในโปรแกรมเล่นวิดีโอผ่าน Python:

    sudo pip3 install python-vlc

    เพื่อติดตั้ง Mosquitto Broker ให้พิมพ์คำสั่งต่อไปนี้:

    sudo apt install -y mosquitto mosquitto-clients

    จากนั้นพิมพ์คำสั่งต่อไปนี้ เราต้องไปแก้ไขไฟล์ที่ถูกติดตั้งมาเพื่อให้ MQTT Broker ทำงานเป็น broker สาธารณะในเครือข่าย WiFi ภายในบ้านเราได้:

    sudo nano /etc/mosquitto/mosquitto.conf

    ทีนี้เพิ่มบรรทัดต่อไปนี้ลงไปท้ายไฟล์ โดยไม่ต้องไปยุ่งกับส่วนอื่น (กด Ctrl+x เพื่อบันทึกการเปลี่ยนแปลง):

    listener 1883

    allow_anonymous true

    หลังจากบันทึกไฟล์แล้ว น้องต้องรีสตาร์ท Mosquitto Broker โดยรันคำสั่งต่อไปนี้ แล้วรีสตาร์ทเครื่อง Linux ของน้อง:

    sudo systemctl restart mosquitto.service

    อีกอย่าง เพื่อตั้งค่าให้ Broker เริ่มทำงานอัตโนมัติตอนเปิดเครื่อง Linux น้องต้องรันคำสั่งนี้ในเทอร์มินัล:

    sudo systemctl enable mosquitto.service

    เพื่อหา IP Address ที่เราจะใช้เป็นที่อยู่ของ broker ของเรา ให้รันคำสั่งนี้ในเทอร์มินัล:

    hostname -I

    สุดท้าย ตรวจสอบว่า Mosquitto broker กำลังทำงานและพร้อมใช้งานหรือไม่ โดยรันคำสั่งนี้ในเทอร์มินัล:

    mosquitto -v

    ตอนนี้เราจบการตั้งค่า MQTT แล้ว ต่อไปเราต้องติดตั้งไลบรารี Paho-MQTT สำหรับ Python เพื่อควบคุมและเชื่อมต่อกับ Broker ให้รันคำสั่งต่อไปนี้:

    sudo pip install paho-mqtt

    น้องยังต้องติดตั้งไลบรารี Bluepy เพื่อให้สื่อสารกับ Arduino Nicla Sense ME ผ่าน Bluetooth ได้: ​

    sudo pip3 install bluepy

    เพื่อควบคุมหุ่นยนต์เลโก้ น้องต้องติดตั้งไลบรารี LegoPi สำหรับ Linux:

    sudo pip3 install buildhat

    จำเป็นต้องติดตั้งไลบรารี Python สำหรับ Spotify จากนั้นน้องจะควบคุมเพลงได้ตามใจชอบด้วยโค้ด:

    sudo pip3 install spotipy --upgrade

    และสิ่งสุดท้ายแต่ไม่ท้ายสุด เราต้องไปดาวน์โหลดไฟล์มีเดียที่เตรียมไว้สำหรับโปรเจกต์นี้มา (ลิงก์อยู่ในเอกสารต้นฉบับ) ให้ดาวน์โหลดลงในเครื่อง Linux ของน้องที่ไหนก็ได้ แต่ต้องจำไดเรกทอรีที่เก็บไว้ให้ดี เพราะเราต้องคัดลอกพาธนั้นไปใส่ในโค้ดตอนรัน

    สำหรับการเซ็ตอัพเครื่อง Linux ก็จบแค่นี้ก่อนนะน้อง

    มาเซ็ตอัพใน Windows กันดีกว่า:

    ได้เวลาจัดการทุกอย่างบน Windows (ที่พี่ใช้) เพื่อเทรนโมเดลและอัปโหลดโค้ดลงบอร์ดที่เราจะใช้กันแล้ว:

    อย่างแรก เราต้องเซ็ตอัพ Arduino IDE สำหรับบอร์ด 3 ตัวที่ใช้ในโปรเจคนี้ หลังจากติดตั้ง Arduino IDE ในคอมแล้ว ต้องเข้าไปติดตั้ง "core" ที่จำเป็นสำหรับแต่ละบอร์ดใน Board Manager ด้วย นี่คือลิงก์ไปยังเอกสารของ Arduino ที่เป็นไกด์เริ่มต้นเร็วๆ สำหรับแต่ละบอร์ด

  • ​ Nicla Sense ME ​
  • ​ Arduino Oplá IoT Kit ​
  • ​ Arduino Nano RP2040 Connect
  • สำหรับบอร์ด Nicla จำเป็นต้องติดตั้งไลบรารี **Arduino_BHY2** โดย Arduino ใน Library Manager ของ IDE ด้วยนะ ไลบรารีนี้ใช้สำหรับควบคุมเซนเซอร์ทั้งหมดในบอร์ด

    สำหรับบอร์ด Nicla จำเป็นต้องติดตั้งไลบรารี **ArduinoBLE** โดย Arduino ใน Library Manager ของ IDE ด้วย ไลบรารีนี้ใช้สำหรับการเชื่อมต่อบลูทูธของบอร์ด

    สำหรับบอร์ด RP2040 และ Oplá IoT Kit จำเป็นต้องติดตั้งไลบรารี **WiFiNINA** โดย Arduino ใน Library Manager ของ IDE ตัวนี้ใช้สำหรับการเชื่อมต่อ WIFI

    สำหรับบอร์ด Oplá IoT Kit จำเป็นต้องติดตั้งไลบรารี **Arduino_MKRIoTCarrier** โดย Arduino ใน Library Manager ของ IDE ตัวนี้ใช้สำหรับควบคุม Carrier เรื่องไฟและเสียงจากบัซเซอร์

    มาเอาไลบรารี MQTT สำหรับบอร์ด Arduino กัน:

    เพื่อให้ Arduino Nano และ Oplá คุยกับ broker บน Linux ได้ น้องต้องติดตั้งไลบรารี **PubSubClient** ไลบรารีนี้เป็นไคลเอนต์สำหรับทำ publish/subscribe กับเซิร์ฟเวอร์ที่รองรับ MQTT (พูดง่ายๆ คือให้ Arduino ของเราคุยกับ MQTT Broker ได้นั่นแหละ)

    1. ดาวน์โหลดไลบรารี PubSubClient น้องควรได้โฟลเดอร์ .zip มาอยู่ในโฟลเดอร์ Downloads
    2. แตกไฟล์ .zip ออก น้องจะได้โฟลเดอร์ชื่อ pubsubclient-master
    3. เปลี่ยนชื่อโฟลเดอร์จาก pubsubclient-master เป็น pubsubclient
    4. ย้ายโฟลเดอร์ pubsubclient ไปไว้ในโฟลเดอร์ libraries ของการติดตั้ง Arduino IDE
    5. จากนั้น เปิด Arduino IDE ใหม่

    สุดท้าย เราก็เซ็ตทุกอย่างใน Arduino IDE เสร็จแล้ว และเริ่มใช้บอร์ดได้ แต่ก่อนทำนั้น เราต้องเซ็ตทุกอย่างในเครื่อง Windows เพื่อเทรนโมเดลของเราบนแพลตฟอร์ม Edge Impulse ก่อน

    ตั้งค่า Edge Impulse CLI ใน Windows:

    น้องต้องมีบัญชีใน Edge Impulse ก่อน วิธีการติดตั้ง Edge Impulse CLI บน Windows ให้ทำตามเอกสารการติดตั้งอย่างละเอียดจาก Edge Impulse

    ตอนนี้เราพร้อมแล้วที่จะเริ่มเทรนโมเดลของเรา ในกรณีที่น้องอยากได้โมเดลที่ตรวจจับการเคลื่อนไหวต่างจากของพี่ แต่พี่จะแสดงให้ดูว่าพี่เทรนโมเดลของพี่ยังไง

    ตั้งค่า Spotify ใน Linux:

    อย่างแรกเราต้องสร้างหรือล็อกอินเข้าแพลตฟอร์ม developer ของ Spotify สิ่งแรกที่เราจะทำคือสร้างแอป ซึ่งง่ายมาก หลังจากนี้เราจะเห็นแอปของเราใน Dashboard แล้วเราต้องคลิกเข้าไป จากนั้นเราจะถูกนำไปที่หน้าตัวแอป และเราต้องเลือก edit settings เพื่อเพิ่ม URL บางตัว:

    http://localhost:8888/callback

    http://localhost:8080

    เอา URL นี้ไปใส่ในช่อง Redirect URIs กันเลย:

    หลังจากเพิ่มแล้ว เรากลับไปที่หน้า Overview ของ Nicla App ในแดชบอร์ด Developer กันต่อ จะเจอ Client ID กับ Client Secret ที่ต้องใช้ในโค้ด อย่าลืมก๊อปปี้ค่าทั้งสองเก็บไว้ให้ดีนะน้อง

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

    อีกวิธีคือเข้าไปที่ลิงก์สำหรับดูอุปกรณ์ที่พร้อมใช้งานใน Developer Console (ลิงก์นี้พี่เอาไว้ให้น้องลองเล่นเองในแดชบอร์ดนะ) จากนั้นให้คลิกที่ปุ่ม Get Token อย่าลืมติ๊กถูกที่ช่อง user-read-playback-state แล้วค่อยกด request token

    จากนั้นกด TRY IT แล้วดูในส่วนที่พี่วงสีแดงไว้ในรูปด้านล่าง จะมีค่า "id": โผล่มา นั่นแหละ Device ID ที่ต้องก๊อปปี้ (พี่ไม่โชว์ให้ดูนะ เพราะมันเป็นข้อมูลสำคัญ) ตรวจสอบให้ดีว่า name ตรงกับอุปกรณ์ที่เราใช้อยู่

    เตรียมทุกอย่างในแดชบอร์ด Developer เสร็จแล้ว กลับมาที่เครื่อง Linux ของเรา เปิด Editor ขึ้นมาเลย (พี่ใช้ Thonny) แต่ก่อนจะรันโค้ดหลัก เราต้องรันโค้ดทดสอบก่อนสักหน่อย เพื่อให้ Spotipy ล็อกอินเข้าบัญชี Spotify ของเราให้เรียบร้อย พอทำขั้นตอนนี้แล้ว โค้ดหลักจะไม่ถามหา credentials อีก

    อีกอย่างนึง ถ้าน้องอยากเล่นเพลงเฉพาะเจาะจง ให้เข้าไปที่ Spotify แล้วกด "Share" -> "Copy Song Link" จะได้ลิงก์ประมาณนี้:

    https://open.spotify.com/track/ 3h3XIdPa1W8NtxEw0TOQHb ?si=cc4dd6b0ea0f41f6

    ส่วนที่พี่ทำตัวหนาไว้คือ Track ID ที่ต้องเอาไปแทนที่ในโค้ดบรรทัดนี้: uris=['spotify:track:3h3XIdPa1W8NtxEw0TOQHb']) คราวนี้จะสั่งเล่นเพลงอะไรใน Python ก็ได้แล้ววว! ไปก๊อปปี้ ลองรันโค้ดตัวอย่างนี้กัน:

    import spotipy

    from spotipy.oauth2 import SpotifyOAuth

    from pprint import pprint

    device_id = "" #Put the values from your account

    ข้อมูล Frontmatter ดั้งเดิม

    title: "โปรเจคสุดตึง! Tiny ML ควบคุม Interactive Space ฝีมือวิศวะ (เวอร์ชั่นต้นฉบับ)"
    description: "เป็นอุปกรณ์อัจฉริยะที่ติดตามการเคลื่อนไหวแล้วตอบสนองแบบเรียลไทม์ในพื้นที่อินเทอร์แอคทีฟ ไม่ว่าจะเป็นแมปปิงแสง, ไฟแบ็คไลท์, ดนตรี หรือประติมากรรมสุดสมาร์ท โปรเจคนี้ใช้ Machine Learning Algorithm ตรวจจับและจับการเคลื่อนไหวผ่านไมโครคอนโทรลเลอร์ พอมีท่าทางที่กำหนด ประติมากรรม, ไฟ, เสียง และวิดีโอโปรเจคชั่นก็จะตื่นตัวตอบโต้ทันที สร้างประสบการณ์ AV ที่จัดเต็ม โชว์ให้เห็นศักยภาพเทพๆ ของ TinyML ในวงการศิลปะการแสดง พอทำท่าถูกต้องมีเดียเซ็ตที่เกี่ยวข้องก็จะเล่นทันที เพราะทุกองค์ประกอบเชื่อมโยงกันเพื่อสร้างประสบ沉浸式แบบใหม่ งานนี้ทำให้เราสร้าง Interactive Installation ได้อย่างง่ายดาย โดยประติมากรรมพวกนี้ผสมผสานมอเตอร์, เซนเซอร์ และอิเล็กทรอนิกส์อื่นๆ เพื่อสร้างประสบการณ์ที่ผู้ชมมีส่วนร่วมแบบสุดๆ อาจมีโปรเจคชั่น, ซาวด์ และองค์ประกอบทางประสาทสัมผัสอื่นๆ เพื่อให้ประสบการณ์สมบูรณ์แบบ งานง่ายแต่หล่อมาก วัยรุ่นต้องลอง!"
    author: "fullmakeralchemist"
    category: "Wearables, Health & Fitness"
    tags:
      - "Smart appliances"
      - "Internet Of Things"
      - "Wearables"
      - "Remote Control"
      - "Robots"
      - "Music"
      - "Lights"
    views: 2568
    likes: 1
    price: 1499
    difficulty: "Intermediate"
    components:
      - "1x Linux laptop"
      - "1x Arduino Nano RP2040 Connect"
      - "1x Arduino Oplà IoT Kit"
      - "1x Nicla Sense ME"
    tools: []
    apps:
      - "1x Edge Impulse Studio"
      - "1x Thonny IDE"
      - "1x python"
    downloadableFiles:
      - "https://projects.arduinocontent.cc/88ac894f-8ed4-4cff-a6b7-b88a56adfb78.py"
      - "https://projects.arduinocontent.cc/f90d92b3-bfda-4ad4-b639-dab88cc2e818.py"
      - "https://projects.arduinocontent.cc/9afca701-3685-436c-9db1-111e31d732e7.py"
      - "https://projects.arduinocontent.cc/172643d4-6cfc-4c9f-9d16-2d03feec8be6.ino"
      - "https://projects.arduinocontent.cc/78fa895c-a8f4-4d63-a385-3d6f85b4a70d.ino"
      - "https://projects.arduinocontent.cc/6119e426-2fa6-4519-bc1c-8c59adc8dedc.ino"
      - "https://projects.arduinocontent.cc/46184f38-23e0-41b6-abff-b2969c6e7cfe.ino"
      - "https://projects.arduinocontent.cc/39422c3a-4241-444b-aa3c-cd984ebaef09.py"
      - "https://github.com/fullmakeralchemist/k_way_challenge_repo/blob/master/codes/BLE_model/BLE_model.ino"
      - "https://projects.arduinocontent.cc/86a773f9-c5ec-4578-879e-a7fa82066de4.ino"
      - "https://projects.arduinocontent.cc/a03e75df-824c-4374-97f1-105c98d9c9fc.ino"
    documentationLinks: []
    passwordHash: "2f48845c240d546a4369db1a73c4b7179ea12ee1468d7d8498695d11fca6d2b3"
    encryptedPayload: "U2FsdGVkX18ROCaw+7PtSzM8mBYHo717fQEEtWbzkwuD+vU92HqpbzpZXc1XYMT+816wOYsa2GElxyyIMecU4F32k+OU95X9hNUsNhl20eD1tnKhqauEI/bravIPPXZ7wzOjJ89S/0hS/Jaoodx2BA=="
    seoDescription: "Arduino project using TinyML for gesture recognition in interactive spaces with smart sculptures, lighting, and AV effects for performing arts."
    videoLinks:
      - "https://www.youtube.com/embed/EDIvJbRfL4I"
      - "https://www.youtube.com/embed/eCWWFo-Z5EI"
    heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/tiny-ml-in-interactive-spaces-arduino-x-k-way-challenge-project-original-version-d88430_cover.png"
    lang: "en"