Thread: เทคโนโลยีที่ใช้หรือสอนไม่ได้?
(overengineer.dev)- ระหว่างปรับปรุงอุปกรณ์แสดงผลเมล็ดกาแฟที่ใช้แบตเตอรี่ พบว่า การใช้พลังงานของ WiFi กลายเป็นคอขวด ทำให้ Thread โผล่ขึ้นมาเป็นทางเลือกที่ใช้พลังงานต่ำ
- Thread เป็นเครือข่าย mesh ที่ใช้ IEEE 802.15.4 โดยวาง 6LoWPAN และ IPv6 ไว้ด้านบน ทำให้อุปกรณ์สื่อสารกันด้วยแพ็กเก็ต IP และเชื่อมต่อกับเครือข่ายภายในบ้านผ่าน Border Router
- อุปกรณ์ที่มีอยู่แล้วอย่าง Apple HomePod, Nest Hub, ดองเกิล Home Assistant และ Eve Energy สามารถทำหน้าที่เป็น Thread Border Router หรือช่วยขยาย mesh ได้ จึงดูน่าสนใจแม้กับโปรเจกต์งานอดิเรก
- แต่ไลเซนส์ของ Thread Group จำกัดการดูสเปกไว้เพื่อการใช้งานภายในเท่านั้น และให้ สิทธิในการนำไปใช้งานจริงและเปิดตัว เฉพาะสมาชิก โดยค่าสมาชิกระดับ Implementer อยู่ที่ 7,500 ดอลลาร์ต่อปี
- แม้ OpenThread จะเป็นการใช้งานแบบโอเพนซอร์สภายใต้ BSD 3-Clause แต่หากไม่ใช่สมาชิก Thread Group ก็จะไม่ได้รับสิทธิ IP ที่จำเป็น และอาจตกเป็นเป้าของการดำเนินการทางกฎหมายได้
จุดเริ่มต้นที่ทำให้เห็นการใช้พลังงานของ WiFi
- อุปกรณ์แสดงผลสำหรับเก็บและแสดงสต็อกเมล็ดกาแฟที่สร้างขึ้นในปี 2022 ทำงานได้เฉลี่ย 40 วัน ต่อการชาร์จหนึ่งครั้ง และหลังปรับซอฟต์แวร์ก็เพิ่มขึ้นเป็น 55 วัน
- เพื่อให้แบตเตอรี่อยู่ได้นานขึ้น จึงเรียนรู้วงจรอิเล็กทรอนิกส์พลังงานต่ำ และใช้ Power Profiler Kit 2 ของ Nordic Semiconductors เพื่อโปรไฟล์ทั้งระบบ
- หลังเขียนบางส่วนของเฟิร์มแวร์จอแสดงผลใหม่และเลี่ยงชิ้นส่วนที่มีปัญหาบน DevKit ก็ยืนยันได้ว่าหนึ่งในปัจจัยกินไฟหลักคือ WiFi
- WiFi ใช้โครงสร้างพื้นฐานเดิมและบริการ LAN ได้ง่าย แต่การตั้งค่าการเชื่อมต่ออาจใช้เวลานาน และอาจต้องใช้กำลังส่งสูงตามตำแหน่งของ access point ทำให้ไม่มีประสิทธิภาพสำหรับการใช้งานลักษณะนี้
เหตุผลที่ Thread ดูน่าสนใจ
- ทางเลือกอย่าง LoRa และ Zigbee ก็อาจประหยัดพลังงานได้ดี แต่ต้องสร้างอุปกรณ์อีกฝั่งแยกต่างหาก เช่น ตัวรับ·ตัวส่ง·ฮับ เพื่อให้จอแสดงผลรับส่งข้อมูลได้
- Thread ใช้ชั้นกายภาพเดียวกับ Zigbee คือ IEEE 802.15.4 และทำงานเป็นเครือข่าย mesh
- เนื่องจากอิง 6LoWPAN อุปกรณ์แต่ละตัวจึงได้รับที่อยู่ IPv6 หนึ่งรายการหรือมากกว่า และการกำหนดที่อยู่ภายในกับการสื่อสารระหว่างอุปกรณ์ก็จัดการผ่านแพ็กเก็ต IP
- เครือข่าย Thread เชื่อมต่อกับเครือข่ายบ้านทั่วไปผ่านบริดจ์ที่เรียกว่า Border Router ทำให้อุปกรณ์และแอปพลิเคชันสื่อสารกันด้วย IPv6 ได้
โครงสร้างพื้นฐานในบ้านที่มีอยู่แล้วและการทดลองพัฒนา
- หากมี Apple HomePod หรือ Nest Hub ก็เท่ากับมี Thread Border Router อยู่แล้ว และผู้ใช้ Home Assistant สามารถใช้ดองเกิลราคาประมาณ 40 ยูโรเพื่อทำให้โหนด Home Assistant เป็น Border Router ได้
- ปลั๊กอัจฉริยะที่เสียบไฟตลอดเวลาอย่าง Eve Energy ทำหน้าที่ช่วยขยายระยะของเครือข่าย mesh ของ Thread
- การทดลองใช้ nRF52840-DK, nRF5340-DK และ nRF52840-Dongle สำหรับดีบัก
- ภายในเวลาไม่นาน ก็เชื่อมต่อ Border Router ที่สร้างเองเข้ากับเครือข่าย Thread ที่อิง Apple ได้, sniff เครือข่าย Thread ด้วย Wireshark และเพิ่มอุปกรณ์ Thread ที่สร้างเองจาก DevKit สองตัวเข้าเครือข่ายเพื่อยืนยันว่าทำงานตามที่คาดไว้
- เป้าหมายเดิมคือเขียนบล็อกเป็นซีรีส์เพื่อช่วยให้นักพัฒนางานอดิเรกย้ายโปรเจกต์จาก WiFi หรือ Bluetooth ไปเป็น Thread และปรับปรุงให้ดีขึ้นได้
สิ่งที่ไลเซนส์ของ Thread Group ขวางไว้
- Thread อิงมาตรฐานที่เสรีและเปิดเผยอย่าง IEEE 802.15.4, IPv6 และ CoAP แต่ตัว Thread เองไม่ใช่เทคโนโลยีที่เสรีหรือเปิดเผย
- สามารถขอ Thread Specification ได้ฟรี แต่ไฟล์ PDF ถูกป้องกันด้วยรหัสผ่าน มี DRM และใส่ลายน้ำอย่างเข้มงวด
- ไลเซนส์ให้สิทธิเพียงดู จัดเก็บ ทำซ้ำ และใช้สเปกเพื่อ วัตถุประสงค์ภายในของตนเอง เท่านั้น ไม่รวมสิทธิในการนำสเปกไป implement
- หากต้องการ implement, ใช้งานจริง หรือเปิดตัวเทคโนโลยี Thread และสเปกของ Thread Group จำเป็นต้องมี สมาชิกภาพ Thread Group และหากเปิดตัวเทคโนโลยี Thread โดยไม่มีสมาชิกภาพที่ยังใช้งานอยู่ อาจถูกดำเนินการทางกฎหมายรวมถึงเรียกเก็บค่าไลเซนส์
- สมาชิกภาพ Implementer ที่ถูกที่สุดซึ่งให้ implement IP ของ Thread Group ได้ มีค่าใช้จ่าย 7,500 ดอลลาร์ ต่อปี
- “innovative IoT start-up company” สามารถสมัคร สมาชิกฟรี 2 ปี ได้ แต่หลังจากนั้นต้องจ่ายเงิน และไม่ใช่โปรแกรมที่ใช้กับนักพัฒนางานอดิเรก
OpenThread ก็ไม่ใช่ทางเลี่ยง
- OpenThread เป็นการ implement Thread แบบโอเพนซอร์ส และ repository ใช้ ไลเซนส์ BSD 3-Clause
- NOTICE ใน repository ระบุว่าสมาชิก Thread Group อาจถือครองสิทธิบัตรและทรัพย์สินทางปัญญาอื่น ๆ
- หากเปิดตัวผลิตภัณฑ์ที่อิง OpenThread โดยไม่เข้าร่วม Thread Group ก็จะไม่ได้รับสิทธิ IP ที่จำเป็นต่อการใช้งานจริงและเปิดตัวเทคโนโลยี Thread และอาจตกเป็นเป้าของการดำเนินการทางกฎหมาย
- เนื่องจากไม่มีข้อยกเว้นสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ นักพัฒนางานอดิเรกที่รับค่าใช้จ่ายก้อนใหญ่ไม่ได้จึงไม่มีวิธีใช้ Thread อย่างถูกกฎหมาย และยังสรุปได้ว่ายากที่จะเขียนบล็อกซีรีส์ที่อธิบายวิธีทำงานของ Thread
ปัญหาในมุมของนักพัฒนางานอดิเรกและการศึกษา
- การกำหนดให้ผลิตภัณฑ์เชิงพาณิชย์ต้องมีสมาชิกภาพหรือการรับรองเพื่อใช้โลโก้อย่าง “Works with Thread” เป็นสิ่งที่พอรับได้ในฐานะกระบวนการรับรองในการขายสินค้าอิเล็กทรอนิกส์
- ปัญหาหลักคือโครงสร้างไลเซนส์ที่ ห้ามการ implement เองโดยครอบคลุม ไปถึงโปรเจกต์ที่ไม่ใช่เชิงพาณิชย์ด้วย
- หากนักพัฒนางานอดิเรกเข้าถึง Thread ได้ยาก โอกาสที่วิศวกรไฟฟ้าและผู้มีอำนาจตัดสินใจรุ่นถัดไปจะได้ทดลองเทคโนโลยีก่อนเข้าสู่อุตสาหกรรมก็ลดลงเช่นกัน
- รายชื่อสมาชิก Thread Group มีบริษัทอย่าง Apple, Google, Amazon, Nordic, NXP และ Qualcomm รวมอยู่ด้วย และบริษัทเหล่านี้สามารถใส่ Thread ลงในฮับภายในบ้านยอดนิยมเพื่อผลักดันการแพร่หลายได้
- เมื่อวันที่ 2024-04-19 ได้ส่งอีเมลไปยังฝ่ายสนับสนุนของ Thread Group เพื่อขอ clarification เกี่ยวกับการใช้ Thread ที่ไม่ใช่เชิงพาณิชย์ และได้รับคำตอบทันทีว่าส่งต่อแล้ว แต่ไม่มีคำตอบเพิ่มเติม
- เมื่อวันที่ 2024-05-01 ได้ขอคอมเมนต์จากช่องทางติดต่อสื่อของ Thread Group และจนถึงเวลาที่เผยแพร่ยังไม่มีคำตอบ โดยข้อความทั้งหมดที่ส่งไปถูกเปิดเผยไว้เป็น ข้อความแยกต่างหาก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เหตุผลหนึ่งที่เมืองของเราเลือก LoRaWAN คือมันซับซ้อนทางกฎหมายน้อยกว่า
แต่ในทางปฏิบัติกลับจัดการยากกว่ามาก และเพราะกฎหมายโทรคมนาคมของเดนมาร์ก เทคโนโลยีแบบนี้จึงติดข้อจำกัดประหลาด ๆ ที่ให้สิทธิผูกขาดโดยพฤตินัยแก่ผู้ให้บริการโทรคมนาคมสำหรับ “อินเทอร์เน็ต” ความเร็วสูง
คิดว่าข้อจำกัดนี้ก็น่าจะใช้กับ Thread ด้วย
ในมุมของเมือง ข้อดีคือมีสถานที่จำนวนมากสำหรับติดตั้งเสาอากาศ สถานที่อย่างโรงเรียนรัฐหรือห้องสมุดเป็นทำเลที่ดีซึ่งประชาชนทั่วไปเข้าถึงได้ยาก
ประเด็นสำคัญคือการทำให้เมืองเปิดโครงสร้างพื้นฐานที่เทียบเท่ากับ LoRaWAN ให้สาธารณะใช้ โดยเฉพาะถ้าคุณอยากกระจายอะไรสักอย่างไปทั่วทั้งเมือง และโชคดีที่เมืองของผมทำแบบนั้น
ถ้าโปรเจกต์ช่วยเมืองได้ด้วยและเปิดให้สาธารณะ เมืองมักจะให้ใช้ไฟฟรี และมักสนใจให้การสนับสนุนทางการเงินด้วย
ถึงอย่างนั้นโดยรวมแล้วผมคิดว่า ไม่ใช้ Thread จะดีกว่า
คำกล่าวที่ว่า “ถ้าคุณเป็นนักพัฒนาสายงานอดิเรกที่ไม่มีเงินเหลือทิ้งก้อนใหญ่พอจะสมัคร Thread Group ก็ไม่มีวิธีใช้ Thread อย่างถูกกฎหมาย” นี่จริงหรือ?
ถ้อยคำในไลเซนส์ดูเหมือนจะหมายถึงสิทธิบัตร และผมเคยคิดว่าถ้าไม่มีกิจกรรมเชิงพาณิชย์ สิทธิบัตรจะไม่ครอบคลุมการทดลองส่วนตัว
มองกว้างขึ้น นี่แสดงให้เห็น ความไร้เหตุผลของการผูกขาด ที่ระบบสิทธิบัตรปัจจุบันมอบให้ บริษัทใหญ่ที่มีพอร์ตสิทธิบัตรไว้ใช้ฟ้องกลับสามารถใช้ OpenThread ได้อย่างเสรี แต่ SME และสตาร์ทอัพทำไม่ได้
แน่นอนว่าถึงอย่างไรก็ยังแย่ และมีผลทำให้คนไม่กล้าทำมาก
สิทธิบัตรไม่มี ข้อยกเว้นสำหรับการใช้ส่วนตัว
https://law.stackexchange.com/questions/24148/can-i-build-so...
คำถามใน FAQ คือ “อะไรที่ขัดขวางไม่ให้เปิดตัวผลิตภัณฑ์ที่ใช้ OpenThread โดยไม่เข้าร่วม Thread Group?”
ผมสงสัยว่าถ้าหน้าแรกของเว็บไซต์ Thread เขียนไว้ว่า “ค่าใช้สิทธิ ปีละ 7,500 ดอลลาร์” บทความบ่นนี้จะมีอยู่ไหม
ปัญหาไม่ใช่ว่ามีคนอยากเก็บเงินจากการใช้ผลิตภัณฑ์ของตัวเองเท่าไร แต่คือการทำให้ต้องลำบากค้นหาความจริงข้อนั้น
ผมคิดว่ารัฐบาลควรบังคับให้ทุกอย่างต้องโปร่งใสเรื่องราคา คงเป็นได้แค่ความฝันแหละ
https://en.wikipedia.org/wiki/Thread_(network_protocol)
Thread เป็นเทคโนโลยีเครือข่ายเมชพลังงานต่ำบน IPv6 สำหรับผลิตภัณฑ์ Internet of Things ข้อกำหนดโปรโตคอล Thread มีให้ใช้ฟรี แต่ต้องยอมรับและปฏิบัติตามข้อตกลงสิทธิ์การใช้งานสำหรับผู้ใช้ปลายทางอย่างต่อเนื่อง โดยในข้อตกลงนั้นระบุว่า “การนำเทคโนโลยี Thread และข้อกำหนดของ Thread Group ไปใช้งาน ดำเนินการ หรือเปิดตัว จำเป็นต้องเป็นสมาชิก Thread Group”
เช่น เมื่อเทียบกับสิ่งที่นักพัฒนาสามารถสร้างบน iOS API ของ Apple ค่าไลเซนส์รายปีของ Thread ที่ 7,500 ดอลลาร์ สูงกว่าไลเซนส์นักพัฒนาของ Apple ที่ 100 ดอลลาร์ ถึง 75 เท่า
แปลว่าอย่างใดอย่างหนึ่งแพง หรืออีกอย่างหนึ่งถูก
ผมไม่เข้าใจว่าทำไมทุกคนถึงสมมติว่าพวกเขาพยายามเอาเปรียบนักพัฒนารายเล็ก อาจเป็นแค่องค์กรเล็ก ๆ ที่คนไม่พอเลยยังไม่ได้จัดการเรื่องไลเซนส์งานอดิเรก หรืออาจยังไม่รู้ว่ามีคนต้องการสิ่งนั้นก็ได้
ถึงอย่างนั้นก็ดีที่ผู้เขียนติดต่อไปจริง ๆ แต่ผมสงสัยว่า “ขอคำอธิบายที่ชัดเจน” หมายความว่าอะไร อีเมลแบบนี้เป็นชนิดที่คนรับกลัว คลุมเครือ ปลายเปิด และให้ความรู้สึกเหมือนต้องโทรหาทนาย
เขาแค่ถามหรือเปล่าว่าสามารถยกเว้นค่าธรรมเนียมให้ได้ไหม?
ใช่ แค่ใช้ Zigbee ก็พอ
3.x เปิดเผยแล้วและมีสเปกที่ดี ส่วนดองเกิลบริดจ์สำหรับ Home Assistant ก็ราคาถูก
สเปก Matter ก็ให้ความรู้สึกคล้ายกัน
ปีศาจอยู่ในรายละเอียด และการตลาดที่ฉลาดทำให้ผู้คนไม่เข้าใจจริง ๆ ว่าตัวเองกำลังชื่นชมอะไร
ปัญหาจริง ๆ คือคนที่เอาเงินไปลงทุนกับสิ่งนี้
พอเห็นส่วนนั้น ผมก็เลิกพิจารณาในฐานะนักพัฒนางานอดิเรกทันที
ถ้าใช้ OpenThread โดยตรงอย่างเดียว โดยไม่เคยยอมรับไลเซนส์ของสเปก Thread เงื่อนไขไลเซนส์นี้จะมีผลไหม?
ถ้าไม่ได้ยอมรับอะไรเลยนอกจากไลเซนส์ BSD ผมไม่เห็นว่าจะถูกฟ้องได้อย่างไร
มันไม่ส่งผลต่อโครงสร้างทางกฎหมายอื่น ๆ เช่น สิทธิบัตรหรือ copyright นอก repository
ก่อนหน้านี้ผมไม่เคยได้ยินชื่อ Thread มาก่อน และหวังว่าน่าจะไม่รู้ต่อไป
ผมไม่ได้ต้องการเหตุผลเพิ่มเพื่อโกรธโลกนี้เลย แถมวันนี้ยังเป็นวันที่ดีด้วย
แต่ถ้าพูดจริงจัง ผมเห็นด้วยกับฝั่งที่บอกให้หลีกเลี่ยงให้มากที่สุดเท่าที่ทำได้และหวังว่ามันจะหายไป
ผมไม่อยากแนะนำให้ใครยอมรับหรือใช้สิ่งนี้จริง ๆ
“ถ้าเป็นนักพัฒนางานอดิเรกที่ไม่มีเงินเหลือทิ้งก้อนใหญ่พอจะสมัครเข้า Thread Group ก็ไม่มีวิธีใช้ Thread อย่างถูกกฎหมาย” เรื่องนี้ยังบอกไม่ได้ จนกว่าจะมีใครตรวจสอบว่ามี ขอบเขตสิทธิบัตร ที่เกี่ยวข้องหรือไม่
ต้องมีใครสักคนทำแบบ Compaq คือทำวิศวกรรมย้อนกลับด้วยวิธี clean room แล้วถ้ามีสิทธิบัตรที่มีผลใช้บังคับจริง ก็ยอมรับแรงกระแทกนั้นแทนให้
ต้องออกแบบใหม่เพื่อไม่ให้ทำสิ่งที่พวกเขาอ้างสิทธิ์ไว้, โน้มน้าวสำนักงานสิทธิบัตรว่าอนุมัติข้อถือสิทธิ์บางส่วนหรือทั้งหมดผิดพลาด, สะสมทรัพย์สินสิทธิบัตรไว้ฟ้องกลับ, หรือไม่ก็ YOLO ไปเลย: https://paulgraham.com/softwarepatents.html
ถ้า Thread กลายเป็นมาตรฐานโดยพฤตินัยของการสื่อสารภายในบ้าน เราต้องรอให้หน่วยงานกำกับดูแลเข้ามาบังคับให้เปิดหรือเปล่า?
คงไม่ขอพนันว่าจะเป็นหน่วยงานไหน แต่คิดว่าทุกคนก็คงพอเดาได้ว่าเป็นฝั่งไหน
ถ้าในสหรัฐฯ ไม่มีผู้พิพากษาและข้าราชการที่เข้าใจเทคโนโลยีดีขึ้นและเปิดกว้างมากขึ้นอีกมาก ก็คงไม่เห็นว่าจะดีขึ้นได้อย่างไร
ยิ่งดูผู้สมัครประธานาธิบดีก็ยิ่งเป็นแบบนั้น
ตัวอย่างเช่น 5G ได้รับการคุ้มครองด้วยสิทธิบัตรอย่างเข้มงวด และ MPEG ก็เช่นกัน
โดยทั่วไป สิทธิบัตรที่ “จำเป็น” ต่อมาตรฐานจะถูกให้สิทธิ์ใช้งานภายใต้เงื่อนไขที่เป็นธรรม สมเหตุสมผล และไม่เลือกปฏิบัติ หรือเงื่อนไข FRAND
แต่ก็ยังต้องจ่ายค่าไลเซนส์อยู่ดี และบางครั้งต้องจ่ายให้บริษัทแต่ละแห่งที่ถือสิทธิบัตรทั้งหมด บางครั้งก็จ่ายให้กลุ่ม consortium ที่เป็นตัวแทน patent pool ทั้งหมดของมาตรฐานนั้น
ผมไม่คุ้นกับไลเซนส์ระดับนี้นัก แล้วไลเซนส์ของ Thread เทียบกับ Bluetooth ที่ต้องจ่ายเงินเพื่อรวมเข้าไปในผลิตภัณฑ์เป็นอย่างไร? https://www.bluetooth.com/develop-with-bluetooth/join/member...
พอดีสัปดาห์นี้ผมก็ลองเล่น Thread อยู่เหมือนกัน แปลกใจที่มันง่ายกว่าที่คิด ตั้งแต่แฟลชโปรเจกต์ตัวอย่างลง ESP32 ไปจนถึงส่ง ping จากแล็ปท็อป
อุปกรณ์เหล่านี้บางครั้งไม่แสดงชื่อ Bluetooth เต็ม ๆ แต่จะอ้างว่าเข้ากันได้กับ “BT version x”
ดังนั้นถ้า Thread ได้รับความนิยมในหมู่ผู้ใช้พอสมควร ก็น่าจะมีของเลียนแบบราคาถูกที่ implement ด้วยชื่อคล้าย ๆ กันแต่ไม่มีไลเซนส์ โผล่มาในช่องทางขายที่คุ้นเคยในไม่ช้า