ESP32-C6 มี Thread แล้ว แปลว่าทำ Matter ได้เลยไหม

เวลาเปิดดูบอร์ด ESP32-C6 เรามักเห็นคำว่า Wi-Fi, Bluetooth LE, Zigbee และ Thread อยู่ใกล้กัน พอเอาไปเทียบกับอุปกรณ์ Smart Home ที่พูดถึง Matter ด้วย ก็อาจเริ่มสงสัยว่ามีวิทยุครบแล้วแปลว่าสร้างอุปกรณ์ที่คุยกับทุกบ้านได้ทันทีหรือเปล่า
ชื่อเหล่านี้เกี่ยวข้องกัน แต่ทำหน้าที่คนละส่วนครับ บางคำบอกความสามารถของฮาร์ดแวร์ บางคำบอกวิธีเชื่อมเครือข่าย และบางคำบอกวิธีที่แอปหรืออุปกรณ์เข้าใจคำสั่งของกันและกัน การมีส่วนหนึ่งจึงยังไม่ได้แทนส่วนที่เหลือ
ก่อนเลือก stack หรือซื้ออุปกรณ์เพิ่ม แอดอยากชวนแยกชั้นเหล่านี้ให้เห็นก่อน แล้วค่อยวางว่าบอร์ดของเราจะเป็นอุปกรณ์ชนิดใด ใครเป็นคนควบคุม และเส้นทางไปหากันต้องผ่านอะไรบ้าง
วิทยุที่รองรับยังต้องมีซอฟต์แวร์เลือกใช้งาน
ESP32-C6 มีความสามารถด้านวิทยุตามที่ datasheet ระบุ รวมถึง 802.15.4 ที่ใช้กับระบบอย่าง Thread หรือ Zigbee ได้ แต่การมีวงจรรับส่งไม่ได้ทำให้เฟิร์มแวร์ทุกชุดเปิดความสามารถทุกแบบพร้อมกันโดยไม่ต้องตั้งค่า
เรายังต้องเลือก SDK และ stack ที่เหมาะกับงาน ดูข้อจำกัดการใช้วิทยุร่วมกัน และตรวจว่ารุ่นซอฟต์แวร์รองรับรูปแบบที่ตั้งใจหรือไม่ การเห็นโลโก้หลายตัวในหน้าสินค้าจึงไม่ใช่คำยืนยันว่าตัวอย่างโค้ดใดก็จะทำงานครบทุกบทบาททันที

บอร์ดพัฒนาก็ยังมีรายละเอียดด้านเสาอากาศ หน่วยความจำ และวงจรที่ต้องดูตามรุ่น ไม่ควรสรุปจากชื่อชิปอย่างเดียวว่าภาพติดตั้งของอุปกรณ์สำเร็จรูปจะนำมาทำซ้ำได้ตรงๆ หากเป้าหมายคือทดลองก็ควรเริ่มจากตัวอย่างที่ระบุฮาร์ดแวร์และรุ่นเครื่องมือชัดเจนก่อน
Thread เป็นเครือข่าย ส่วน Matter บอกการทำงานของอุปกรณ์
Thread เป็นเครือข่ายแบบใช้พลังงานต่ำบนพื้นฐาน IP ส่วน Matter เป็นมาตรฐานในชั้นแอปที่กำหนดวิธีอธิบายและควบคุมความสามารถของอุปกรณ์ จึงต้องแยกว่าบอร์ดเข้าถึงกันได้บนเครือข่ายแล้วหรือยัง กับเข้าใจคำสั่งในแบบที่ controller ต้องการหรือไม่
อุปกรณ์ที่ใช้ Thread ไม่จำเป็นต้องเป็น Matter ทุกตัว และ Matter ก็ไม่ได้มีเฉพาะบน Thread เพราะมีอุปกรณ์ที่สื่อสารผ่าน Wi-Fi หรือ Ethernet ตามรูปแบบที่มาตรฐานรองรับด้วย ดังนั้นคำว่า Matter device กับ Thread device จึงใช้แทนกันไม่ได้
Bluetooth LE ที่เห็นในเส้นทางตั้งค่าอุปกรณ์บางแบบก็อาจมีหน้าที่ในขั้น commissioning ไม่ได้แปลว่าการควบคุมปกติทั้งหมดจะวิ่งผ่าน Bluetooth ต่อไปตลอด ควรดูเส้นทางหลังตั้งค่าเสร็จว่าข้อมูลใช้งานจริงเดินทางอย่างไร
เมื่อมองเป็นชั้น เราจะเริ่มตอบได้ว่าต้องแก้ส่วนใด หากบอร์ดยังไม่เข้าร่วมเครือข่ายก็ต้องตรวจการตั้งค่าเครือข่ายก่อน แต่ถ้าเชื่อมกันแล้ว controller ไม่เห็นความสามารถที่คาด ก็อาจต้องดูการประกาศอุปกรณ์และซอฟต์แวร์ในอีกชั้นหนึ่ง
Border router กับ controller เป็นคนละบทบาท
หากใช้อุปกรณ์ Matter over Thread และต้องติดต่อจากเครือข่ายบ้านอีกฝั่ง เราต้องมี Thread border router เชื่อมระหว่างเครือข่าย Thread กับเครือข่าย IP ที่เกี่ยวข้อง แต่การทำหน้าที่เชื่อมเครือข่ายไม่ได้เท่ากับเป็นผู้ควบคุม Matter ของบ้านโดยอัตโนมัติ

controller ดูแลความสัมพันธ์และการควบคุมในระบบ Matter ส่วน border router ดูแลเส้นทางเครือข่าย อุปกรณ์จริงบางชิ้นอาจรวมหลายบทบาทไว้ในเครื่องเดียว จึงทำให้ตอนซื้อดูเหมือนมีอย่างหนึ่งแล้วได้อีกอย่างไปด้วย แต่เวลาวางระบบหรือไล่ปัญหาควรแยกหน้าที่ให้ชัด
สำหรับงานทดลอง เราควรจดว่าเครื่องใดทำบทบาทไหนและใช้เครือข่ายชุดใด ไม่เพิ่ม border router ใหม่ทุกครั้งที่จับคู่ไม่ผ่านโดยยังไม่รู้ว่าปัญหาอยู่ที่การเข้าร่วมเครือข่าย การค้นพบบริการ หรือความสัมพันธ์กับ controller
ในบ้านที่มีหลายระบบอยู่แล้ว ข้อมูลเครือข่าย Thread และวิธีแบ่งปันไปยังขั้นตอนตั้งค่าก็เป็นสิ่งที่ต้องตรวจตาม ecosystem ที่ใช้ การมีอุปกรณ์รองรับในบ้านหลายตัวไม่ได้รับประกันว่าทุกตัวกำลังอยู่เครือข่ายเดียวกันตามที่เรานึกไว้
ฝั่งแอปต้องอธิบายว่าอุปกรณ์ทำอะไรได้
ต่อให้บอร์ดส่งข้อมูลบนเครือข่ายได้แล้ว เรายังต้องสร้างรูปแบบอุปกรณ์และความสามารถตามที่ Matter กำหนด เช่น ค่าที่รายงาน คำสั่งที่รับ และสถานะที่เปลี่ยนตามการใช้งาน ไม่ใช่เอา payload MQTT เดิมมาใส่โดยไม่ดู data model
SDK อย่าง ESP-Matter ช่วยจัดส่วนที่เกี่ยวข้อง แต่รุ่นเครื่องมือและตัวอย่างที่เลือกมีผลกับสิ่งที่รองรับ ควรอ่านคู่มือของรุ่นนั้นก่อนบิ้ว และเก็บข้อมูลการตั้งค่ากับตัวตนของ firmware เพื่อให้ทดลองซ้ำได้ ไม่เลือกคำสั่งจากคู่มือปัจจุบันแล้วถือว่าใช้ได้กับทุกช่วงเวอร์ชัน
ควรตรวจด้วยว่า controller ที่ใช้แสดงความสามารถนั้นอย่างไร เพราะการมี feature ในมาตรฐานหรือ SDK ไม่ได้หมายความว่าหน้าจอของทุก platform จะมีตัวเลือกให้เท่ากัน ส่วนประสบการณ์ตั้งค่า ลบออก และจับคู่ใหม่ก็ควรถูกทดสอบเป็นส่วนหนึ่งของอุปกรณ์ด้วย
เลือกการทดลองให้เล็กพอแยกสาเหตุ
เริ่มจากอุปกรณ์ชนิดเดียวและเส้นทางเดียวที่มีตัวอย่างรองรับก่อน เช่น ค่ารายงานหรือการควบคุมพื้นฐานที่ตรวจผลได้ แล้วจดว่าบอร์ดเข้าร่วมเครือข่ายได้เมื่อใด controller เพิ่มอุปกรณ์ได้หรือไม่ และคำสั่งทำให้สถานะจริงเปลี่ยนตรงกันหรือเปล่า
หลังจากนั้นค่อยเพิ่มเงื่อนไขอย่างการเริ่มใหม่ การขาดเส้นทางเครือข่าย และการกู้กลับมา ไม่วัดความสำเร็จจากครั้งแรกที่เห็นชื่ออุปกรณ์บนจออย่างเดียว และไม่สรุปผลใช้งานข้ามระบบหากยังไม่ได้ทดสอบกับระบบนั้นจริง
ต้นแบบที่แฟลชกับบอร์ดพัฒนาเองก็ยังมีขอบเขตต่างจากสินค้าที่ผ่านกระบวนการทดสอบและรับรอง การเล่าผลจึงควรบอกว่าเราทดลองส่วนใด ไม่ใช้ชื่อมาตรฐานทำให้ดูเหมือนมีหลักฐานความเข้ากันได้ครบทุกเงื่อนไขแล้ว
สรุป
ESP32-C6 มีฮาร์ดแวร์ที่เปิดทางให้ทดลอง Thread และงาน Smart Home ได้ แต่ Matter ยังต้องมี stack, data model และบทบาทในระบบที่จัดให้ครบ เมื่อแยกวิทยุ เครือข่าย border router และ controller ออกจากกัน เราจะเลือกสิ่งที่ต้องเพิ่มและไล่ปัญหาได้ตรงชั้นขึ้น โดยไม่คาดหวังว่าการมีชื่อเหล่านี้อยู่บนบอร์ดจะทำงานแทนส่วนที่ยังไม่ได้ออกแบบครับ


