1. บทนำ
OpenThread (OT) ของ Google เป็นการใช้งานเทรดแบบโอเพนซอร์ส Google ได้ออก OpenThread เพื่อทําให้เทคโนโลยีเครือข่ายที่ใช้ในผลิตภัณฑ์ของ Google Nest พร้อมใช้งานสําหรับนักพัฒนาแอปในวงกว้างยิ่งขึ้น เพื่อเร่งการพัฒนาผลิตภัณฑ์สําหรับบ้านและอาคารพาณิชย์ที่เชื่อมต่อกัน ด้วยชั้นแบบนามธรรมของแพลตฟอร์มที่แคบและรอยเท้าหน่วยความจําเล็กๆ OpenThread จึงพกพาได้ง่ายมาก รองรับทั้งการออกแบบระบบวงจรรวมบนชิป (SoC) และหน่วยประมวลผลร่วม (NCP)
ข้อมูลจําเพาะของเทรดกําหนดโปรโตคอลการสื่อสารระหว่างอุปกรณ์ไร้สายที่เชื่อถือได้ มีความปลอดภัย และไม่เสียค่าใช้จ่ายสําหรับ IPv6 สําหรับแอปพลิเคชันบ้านและอาคารเชิงพาณิชย์
Silicon Labs ได้เพิ่มประสิทธิภาพ OpenThread ให้สามารถทํางานร่วมกับฮาร์ดแวร์ Silicon Labs ซอร์สโค้ดนี้พร้อมใช้งานบน GitHub และยังเป็นชุดพัฒนาซอฟต์แวร์ (SDK) ที่ติดตั้งพร้อม Simplicity Studio 5 (SSv5) ด้วย SDK ประกอบด้วยภาพรวมการทดสอบแบบเต็มของซอร์สโค้ด GitHub โดยรองรับฮาร์ดแวร์ในขอบเขตที่กว้างกว่าเวอร์ชัน GitHub รวมถึงมีเอกสารประกอบและแอปพลิเคชันตัวอย่างที่ไม่พร้อมใช้งานใน GitHub
คู่มือนี้จะอธิบายวิธีเริ่มต้นใช้งานแอปพลิเคชัน OpenThread โดยใช้ Silicon Labs OpenThread SDK และ Simplicity Studio 5 รูปภาพด้านล่างแสดงกระดาน (BRD) และฮาร์ดแวร์ที่ตั้งค่าด้วยเราเตอร์ OT Borderorder (OTBR) และอุปกรณ์เทรด 2 ชุดที่ใช้ใน Codelab
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างโปรเจ็กต์ OpenThread โดยใช้ Silicon Labs Simplicity Studio IDE
- วิธีสร้างและแฟลชไบนารี BOP ของ OpenThread ไปยังกระดานวิทยุของ Silicon Labs
- วิธีตั้งค่า Raspberry Pi 3B+ เป็น OpenOpen Borderเราเตอร์ (OTBR) โดยใช้ Docker
- วิธีสร้างเครือข่ายชุดข้อความใน OTBR
- การไม่ย่านความถี่ของอุปกรณ์ในเครือข่าย เทรด
- วิธียืนยันการสื่อสารชุดข้อความระหว่างโหนดโดยใช้คําสั่ง ping
2. สิ่งที่ต้องมีก่อน
ฮาร์ดแวร์:
- กระดานวิทยุ EFR32MGxx จํานวน 3 อัน โดยใช้อุปกรณ์ใดก็ได้ผสมกัน Codelab นี้ใช้ BRD4166A เป็น RCP และใช้ BRD4168A 2 เครื่องเป็นอุปกรณ์ชุดข้อความแบบเต็ม
- EFR32MG12 (บราซิล4161A, BRD4166A, BRD4170A, BRD4304A)
- EFR32MG13 (บราซิล4168A)
- EFR32MG21 (บราซิล4180A, BRD4180B)
- BRD4001A: บอร์ดหลักไร้สาย (WSTK) สําหรับโฮสต์กระดานวิทยุ ยกเว้นกระดานวิทยุ BRD4166A ทุกบอร์ดที่ต้องใช้บอร์ดหลักเริ่มต้นแต่ละแผ่น สาย USB ขนาดเล็กสําหรับเชื่อมต่อและจ่ายไฟให้กับบอร์ดหลักหรือสายไมโคร USB สําหรับ BRD4166A
- Raspberry Pi 3B+ ขึ้นไปที่มีรูปภาพ Raspbian Stretch Lite OS หรือ Raspbian Stretch with Desktop ซึ่งเชื่อมต่ออินเทอร์เน็ตผ่านอีเทอร์เน็ต โดยเราจะกําหนดค่านี้เป็นเราเตอร์ BOT OT
- ระบบ Windows/Linux/Mac Host ที่มีพอร์ต USB อย่างน้อย 2 พอร์ตและการเชื่อมต่ออินเทอร์เน็ต ตรวจสอบข้อกําหนดด้านฮาร์ดแวร์และระบบปฏิบัติการที่ SSv5
- สายอีเทอร์เน็ตอย่างน้อย 1 สายสําหรับเชื่อมต่อ Raspberry Pi กับอินเทอร์เน็ต WSTK ยังรองรับการแก้ไขข้อบกพร่องและการกะพริบผ่าน IP ดังนั้นจะใช้สายอีเทอร์เน็ตเพิ่มเติมเพื่อเชื่อมต่อ WSTK กับระบบโฮสต์ผ่านสวิตช์อีเทอร์เน็ตได้
ซอฟต์แวร์:
- Simplicity Studio v5 ที่ติดตั้งและอัปเดตบนระบบ Windows/Linux/Mac Host ที่มี
- เครื่องมือเชน GNU ARM
- Gecko SDK Suite 3.2.0 ขึ้นไป และ Silicon Labs OpenThread SDK
3. การตั้งค่าฮาร์ดแวร์
Codelab นี้สร้างขึ้นโดยใช้
- EFR32MG12 BRD4166A Thunderboard Sense 2 ตามที่แสดงทางด้านซ้าย
- EFR32MG13 BRD4168A 2 รหัสที่แสดงทางด้านขวา
- Simplicity Studio v5 ที่ติดตั้งบน macOS Catalina 10.15.7 ที่มี
- Gecko SDK 3.2.0
- GNU ARM v7.2.1
เชื่อมต่อกระดานหลัก Wireless Starter Kit เข้ากับคอมพิวเตอร์โฮสต์โดยใช้ USB ตามที่แสดงในรูปภาพด้านล่าง การเชื่อมต่อเหล่านี้จะอนุญาตให้เขียนโปรแกรมและวิเคราะห์เครือข่ายของ RCP และอุปกรณ์ปลายทาง เราจะใช้คอมพิวเตอร์โฮสต์ในการตั้งโปรแกรม BRD4166A ด้วยเฟิร์มแวร์ ot-rcp ก่อน แล้วจึงเชื่อมต่อกับ Raspberry Pi ในที่สุด อุปกรณ์ปลายทางอาจเชื่อมต่อกับคอมพิวเตอร์โฮสต์ผ่านสวิตช์อีเทอร์เน็ตทั่วไป (ไม่บังคับ) ชุดเริ่มต้นยังรองรับการเขียนโปรแกรมและโปรแกรมเครือข่ายผ่าน IPv4 ด้วย
4. การตั้งค่าเฟิร์มแวร์
คุณเริ่มสร้าง Web Stories ได้ด้วย 2 วิธีดังนี้ ตัวเลือกทั้ง 2 อย่างจะช่วยให้คุณแฟลชเฟิร์มแวร์ที่จําเป็นสําหรับ Codelab นี้ได้
- โปรเจ็กต์: (แนะนํา) สร้าง สร้าง และแฟลชแอปพลิเคชันตัวอย่าง ตัวเลือกนี้จะช่วยให้คุณปรับแต่งแอปพลิเคชันในโปรเจ็กต์ได้
- เดโม: (ไม่บังคับ) แฟลชการสาธิตที่สร้างไว้ล่วงหน้าบนกระดานวิทยุโดยตรงสําหรับแอปพลิเคชันตัวอย่าง ผู้ใช้ควรทดลองใช้เฟิร์มแวร์เดโมที่ตั้งค่าเป็นแบบฝึกหัดที่ไม่บังคับ โปรดดูรายละเอียดจากส่วน "setเฟิร์มแวร์ - การสาธิต" ในตอนท้ายของ Codelab นี้
เราจะใช้วิธีการแบบอิงตามโครงการสําหรับ Codelab นี้
สร้างโปรเจ็กต์โดยใช้ตัวอย่าง
เราจะสร้าง 2 โปรเจ็กต์ โปรเจ็กต์ ot-rcp
สําหรับ BRD4166A และโปรเจ็กต์ ot-cli-ftd
สําหรับ BRD4168A ทั้ง 2 รายการ โปรดทําตามขั้นตอนต่อไปนี้และเลือกแอปพลิเคชันตัวอย่างที่เหมาะสําหรับกระดาน
- เปิดเมนู File ของ Studio แล้วเลือก New > Silicon Labs Project วิซาร์ด กล่องโต้ตอบ "การเลือกเป้าหมาย" "SDK" และ "เชนเครื่องมือ" จะเปิดขึ้น อย่าเปลี่ยนเชนเครื่องมือ Simplicity IDE / GNU เริ่มต้นซึ่ง OpenThread รองรับ คลิก "ถัดไป"
- กระดานเป้าหมาย: แสดงกระดานวิทยุที่เลือก (BRD4168A) ควบคู่ไปกับกระดานหลัก (BRD4001A)
- อุปกรณ์เป้าหมาย: ช่องนี้แสดงชิปไมโครคอนโทรลเลอร์ (MCU) เริ่มร่วมงาน BRD4168A มีการเริ่มต้นใช้งาน EFR32MG13 MCU
- SDK: คุณจะเลือก OT เวอร์ชัน SDK ที่กําลังใช้งานอยู่ได้ที่นี่ ข้อมูลชุดแท็กประกอบด้วยแท็ก SDK และบิวด์ของ Silicon Labs สําหรับ OpenThread เช่น
Platform 4.0.1.0
และOpenThread 2.0.1.0 (GitHub-55af6ce2c)
- IDE/ Toolchain: เครื่องมือที่จะใช้สําหรับคอมไพล์โปรเจ็กต์ OT เราใช้ GNU ARM
- กล่องโต้ตอบการเลือกโปรเจ็กต์ตัวอย่างจะเปิดขึ้น คุณจะเห็นรายการโปรเจ็กต์ตัวอย่าง ใช้ตัวกรองเทคโนโลยีชุดข้อความและตัวกรองคีย์เวิร์ดเพื่อค้นหาตัวอย่างที่เฉพาะเจาะจง อย่าลืมจดหมายเลขเวอร์ชันของ Gecko SDK Suite คุณจะต้องใช้แท็กเวอร์ชันนี้เมื่อตั้งค่า Raspberry Pi เป็นเราเตอร์ Border เลือก ot-cli-ftd แล้วคลิก Next
- กล่องโต้ตอบการกําหนดค่าโปรเจ็กต์จะเปิดขึ้น คุณเปลี่ยนชื่อโปรเจ็กต์ เปลี่ยนตําแหน่งของไฟล์โปรเจ็กต์เริ่มต้น และกําหนดว่าจะลิงก์หรือคัดลอกไฟล์โปรเจ็กต์ได้ที่นี่ ไฟล์โปรเจ็กต์ที่ลิงก์ชี้ไปยัง SDK และการแก้ไขใดๆ ที่คุณทําขึ้นใน SDK และใช้สําหรับโปรเจ็กต์ในอนาคต การคัดลอกแหล่งที่มาของโปรเจ็กต์ช่วยให้คุณแก้ไขสําเนาโปรเจ็กต์ภายในโปรเจ็กต์ได้เพื่อให้ไฟล์ SDK ยังคงเหมือนเดิม "ลิงก์ SDK แล้วคัดลอกแหล่งที่มาของโปรเจ็กต์' เป็นตัวเลือกเริ่มต้นที่แนะนํา คลิกเสร็จสิ้น
- Simplicity IDE Perspective จะเปิดขึ้นโดยผู้กําหนดค่าโปรเจ็กต์เปิดแท็บภาพรวม
คุณจะกําหนดค่าโปรเจ็กต์ได้จากแท็บคอมโพเนนต์ซอฟต์แวร์โดยการติดตั้งและถอนการติดตั้งคอมโพเนนต์ รวมถึงกําหนดค่าคอมโพเนนต์ที่ติดตั้ง ระบบจะตรวจสอบคอมโพเนนต์ที่ติดตั้งไว้ คลิกคอมโพเนนต์ที่ติดตั้งเพื่อดูรายการคอมโพเนนต์ที่กรองโดยแอปพลิเคชันตัวอย่าง การเปลี่ยนแปลงที่คุณทําจะได้รับการบันทึกโดยอัตโนมัติ และไฟล์โครงการจะสร้างขึ้นโดยอัตโนมัติ ความคืบหน้าจะแสดงที่มุมล่างขวาของมุมมอง Simplicity IDE
ในการสาธิตนี้ เราจะใช้การกําหนดค่าเริ่มต้นของแอปพลิเคชันตัวอย่าง ทําขั้นตอนข้างต้นซ้ําเพื่อสร้างโปรเจ็กต์ ot-rcp
สําหรับกระดานอื่น
สร้างและฉายภาพโครงการ
สร้างและแฟลชทั้ง ot-rcp
และ ot-cli-ftd
โปรเจ็กต์
- หลังจากกําหนดค่าโปรเจ็กต์แล้ว ให้คลิกการควบคุมบิลด์ (ไอคอนค้อน) ในแถบเครื่องมือด้านบน หรือจะคลิกขวาที่โปรเจ็กต์แล้วคลิกสร้างโปรเจ็กต์ก็ได้
- ความคืบหน้าจะแสดงในคอนโซลและแถบความคืบหน้าที่ด้านขวาล่าง ข้อผิดพลาดหรือคําเตือนที่เกี่ยวข้องกับโปรเจ็กต์จะปรากฏในหน้าต่างเอาต์พุตนี้ด้วย
- ระบบจะสร้างรูปภาพไบนารีหลังจากที่สร้างโปรเจ็กต์เรียบร้อยแล้ว คุณแฟลชรูปภาพไบนารีได้จากมุมมอง Project Explorer ค้นหาไฟล์ .bin, .hex หรือ .s37 ในไดเรกทอรีย่อยของคอมไพเลอร์ คลิกขวาที่ไฟล์ แล้วเลือกแฟลชไปยังอุปกรณ์ หากมีอุปกรณ์ที่เชื่อมต่ออยู่มากกว่า 1 เครื่อง จากนั้นเลือกอุปกรณ์เพื่อตั้งโปรแกรม ให้คลิกตกลง โปรแกรม Flash จะเปิดขึ้นพร้อมกับใส่เส้นทางไฟล์ คลิกโปรแกรม
5. สรุปการตั้งค่าเฟิร์มแวร์
ณ จุดนี้ คุณควรสร้าง คอมไพล์ และทําเฟิร์มแวร์ที่เหมาะสมบนกระดานวิทยุ เมื่อ ot-rcp
กะพริบเป็น BRD4166A ให้ยกเลิกการเชื่อมต่อจากระบบโฮสต์และเชื่อมต่อกระดานนี้เข้ากับ Raspberry Pi
หลังจากกรอกข้อมูลในส่วนนี้แล้ว การตั้งค่าฮาร์ดแวร์ของเครือข่ายชุดข้อความจะมีลักษณะดังนี้
6. ตั้งค่าคอนโซลอนุกรมสําหรับอุปกรณ์ ot-cli-ftd
หากต้องการเปิดอินเทอร์เฟซ Console ให้คลิกขวาที่อุปกรณ์ J-Link ในหน้าต่าง View ของ Simplicity IDE ในหน้าต่าง View Devices / Debug Adapters เลือก Launch Console หากต้องการรับการแจ้งเตือนในคอนโซล ให้เลือกแท็บซีรีส์ 1 และกด Enter ตรวจสอบสถานะของโหนด FTD
คุณจะสังเกตเห็นว่าเรายังไม่มีคอนโซลสําหรับ ot-rcp
ในขั้นตอนถัดไป เราจะกําหนดค่า Raspberry Pi เป็นเราเตอร์เส้นขอบ OT และตั้งค่าคอนโซลสําหรับ ot-rcp
7. ตั้งค่า Raspberry Pi เป็นเราเตอร์ Border
Silicon Labs ขอแนะนําให้นําคอนเทนเนอร์ Docker ของบริษัทไปใช้งานกับ OTBR การเรียกใช้ OTBR ในคอนเทนเนอร์ช่วยให้สร้างอาร์ติแฟกต์ที่ทําให้ใช้งานได้ง่าย รวมถึงสร้างต้นแบบและทดสอบได้อย่างรวดเร็ว
รูปภาพ OTBR ของ Silicon Labs โฮสต์บน siliconlabsinc DockerHub พร้อมแท็ก แต่ละแท็กจะสอดคล้องกับเวอร์ชันของ GSDK ดังนี้
https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags
คอนเทนเนอร์ Docker ต้องใช้กับ RCP ที่สร้างขึ้นโดยใช้ Simplicity Studio 5 สําหรับรุ่นนั้นๆ ตรวจสอบว่าเวอร์ชันแท็กคอนเทนเนอร์ตรงกับเวอร์ชัน GSDK ที่กําลังทดสอบอยู่ เช่น หากเวอร์ชัน GDSK ของคุณคือ Gecko SDK Suite v4.0.1 (140)
เมื่อคุณเลือก ot-rcp
จากหน้าต่างตัวอย่างโปรเจ็กต์ที่เลือก ให้ใช้รูปภาพ siliconlabsinc/openthread-border-router:gsdk-4.0.1
ตั้งค่า Raspberry Pi
- ในการ์ด SD ให้ตรวจสอบว่าคุณเสียบรูปภาพ Raspbian Stretch Lite OS หรือ Raspbian Stretch with Desktop
- คุณจะเลือกใช้ SSH ลงใน Raspberry Pi หรือเลือกทํางานกับ Raspbian Desktop โดยตรงก็ได้ เปิดเทอร์มินัล
- อย่าลืมอัปเดตที่เก็บในเครื่องและตัวจัดการแพ็กเกจ (apt-get update และ apt-get Upgrade ก่อนติดตั้ง Docker)
ติดตั้งรูปภาพ Docker
- ติดตั้ง Docker โดยใช้คําสั่งต่อไปนี้ใน RPi
curl -sSL https://get.docker.com | sh
- เมื่อเสร็จแล้ว คุณสามารถแก้ไขการตั้งค่าผู้ใช้ Docker เพื่อไม่ต้องใช้ sudo ก่อนคําสั่งแต่ละรายการ ต้องรีบูต
sudo usermod -aG docker $USER
- ออกคําสั่งต่อไปนี้เพื่อติดตั้งคอนเทนเนอร์ โปรดทราบว่าคุณมีคอนเทนเนอร์ของเราเตอร์ Border ได้เพียงครั้งละ 1 รายการที่ทํางานอยู่ด้วย RCP นอกจากนี้ อย่าลืมจับคู่เวอร์ชัน SDK ของ Simplicity Studio กับรูปภาพ Docker ที่ถูกต้อง ตัวอย่างเช่น
gsdk-4.0.1
:docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
กําหนดค่าและเรียกใช้ Docker
- คุณต้องกําหนดค่าพอร์ต TTY ที่ต้องการใช้สําหรับ OTBR เพื่อเชื่อมต่อ RCP เมื่อเริ่มต้นใช้งาน มองหาพอร์ต TTY ของอุปกรณ์ RCP วิธีที่ง่ายที่สุดคือการมองหารายการ
/tty/dev
... เมื่อเชื่อมต่อ RCP โดยทั่วไปควรเป็น/dev/ttyUSB0
หรือ/dev/ttyACM0
- เรียกใช้การติดตั้ง Docker ด้วยคําสั่งต่อไปนี้ ตรวจสอบว่าได้แทนที่ชื่อรูปภาพใน Docker ด้วย GSDK เวอร์ชันที่ตรงกัน เช่น
gsdk-4.0.1
docker run -d --name "otbr" \ --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \ -p 8080:80 --dns=127.0.0.1 -it \ --volume /dev/ttyACM0:/dev/ttyACM0 \ --privileged siliconlabsinc/openthread-border-router:gsdk-4.0.1 \ --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \ --backbone-interface eth0
-d
จะทําให้คอนเทนเนอร์ทํางานในโหมดแยกออกมา- คุณจะดูบันทึกที่ทํางานอยู่ของคอนเทนเนอร์ได้ทุกเมื่อโดยใช้คําสั่ง
docker logs
--name
ติดหนึบจนกว่าคอนเทนเนอร์ Docker จะปิดอย่างถูกต้อง (หรือนําออก)- พอร์ต 8080 บ่งบอกว่าพอร์ตของเว็บเซิร์ฟเวอร์ที่โฮสต์หน้าเว็บการจัดการเราเตอร์ Border
- ต้องใช้
?uart-baudrate=460800
ในตัวเลือก URL วิทยุเพื่อป้องกันปัญหากระจัดกระจาย / การประกอบซ้ําผ่าน UART โดยใช้การดําเนินการที่มีต้นทุนสูง เช่น DTLS กับแพ็กเก็ต IPv6 ที่ยาว
โต้ตอบกับโหนด RCP
เมื่อ Docker ทํางานอยู่ คุณจะสื่อสารกับโหนด RCP ผ่าน Shell แบบอินเทอร์แอกทีฟได้โดยใช้คําสั่งนี้ ตรวจสอบสถานะของโหนด RCP
$ docker exec -ti otbr sh -c "sudo ot-ctl" > state disabled Done
คุณจะได้รับรายการรหัสคอนเทนเนอร์ที่กําลังทํางานอยู่
$ docker ps -aq
คุณสามารถตรวจสอบหน้าต่างที่เรียกใช้คอนเทนเนอร์ OTBR Docker สําหรับเรียกใช้เอาต์พุตบันทึกของ Borderเราเตอร์หรือทําตามบันทึกคอนเทนเนอร์ ดังนี้
$ docker logs [container-id] -f
นอกจากนี้ คุณยังหยุด นําออก หรือฆ่ารูปภาพได้หากโหลดคอนเทนเนอร์ Docker ไว้อย่างเหมาะสม
$ docker stop otbr
$ docker rm otbr
$ docker kill otbr
ไม่บังคับ: หากต้องการออกจาก Shell ให้ใช้ CNTL + C
ตอนนี้คุณควรมีคอนโซล 3 เครื่อง
- คอนโซล
ot-cli-ftd
2 ช่องใน Simplicity Studio ที่ตั้งค่าเป็นอุปกรณ์ Full Thread - Shell แบบอินเทอร์แอกทีฟ
ot-ctl
ตัวหนึ่งใน Raspberry Pi ซึ่งตั้งค่าเป็นเราเตอร์เส้นขอบ OT
ตอนนี้เราพร้อมสร้างเครือข่ายชุดข้อความแล้ว
8. สร้างเครือข่ายชุดข้อความ
ตั้งค่า RCP
ในการสร้างเครือข่าย เราเริ่มต้นด้วย Shell จํานวน ot-ctl
บน OTBR ซึ่งใช้เพื่อสื่อสารกับโหนด RCP ป้อนคําสั่งต่อไปนี้ตามลําดับดังที่แสดงด้านล่าง
ดัชนี | คำสั่ง | คําอธิบายคําสั่ง | คําตอบที่คาดไว้ | ||
1 |
| สร้างการกําหนดค่าเครือข่ายใหม่ | เสร็จสิ้น | ||
2 |
| ส่งชุดข้อมูลใหม่ไปยังชุดข้อมูลการดําเนินการที่ใช้งานได้ | เสร็จสิ้น | ||
3 |
| เปิดใช้อินเทอร์เฟซชุดข้อความ | เสร็จสิ้น | ||
4 |
| เปิดใช้และแนบโปรโตคอลโปรโตคอล | เสร็จสิ้น | ||
รอ 10 วินาทีเพื่อให้อินเทอร์เฟซชุดข้อความเริ่มทํางาน | |||||
5 |
| ตรวจสอบสถานะของอุปกรณ์ ควรเป็นผู้นํา | ผู้นํา | ||
6 |
| ดูการกําหนดค่าเครือข่าย | การประทับเวลาที่มีการใช้งาน: 1 |
เราจะใช้หมายเลขช่องและคีย์เครือข่ายใน ot-cli-ftd
เพื่อเข้าร่วม FTD ทั้ง 2 รายการกับเครือข่ายชุดข้อความนี้
ตั้งค่าและเพิ่ม FTD ในเครือข่ายชุดข้อความ (โดยไม่ทํางาน)
ส่วนวิธีการแบบนอกขอบเขตจะทําให้เราทราบข้อมูลด้านความปลอดภัยทั้งหมดและเพิ่มโหนดด้วยตนเอง ในคอนโซลความเรียบง่าย ให้เพิ่มทั้ง FTD ลงในเครือข่ายโดยใช้คําสั่งต่อไปนี้ตามลําดับที่แสดงด้านล่าง
ดัชนี | คำสั่ง | คําอธิบายคําสั่ง | คําตอบที่คาดไว้ | ||
1 |
| กําหนดช่องที่ OTBR ใช้ | เสร็จสิ้น | ||
2 |
| เฉพาะคีย์เครือข่ายเท่านั้นที่อุปกรณ์ต้องใช้เพื่อเชื่อมต่อเครือข่ายชุดข้อความ | เสร็จสิ้น | ||
3 |
| ส่งชุดข้อมูลใหม่ไปยังชุดข้อมูลการดําเนินการที่ใช้งานได้ | เสร็จสิ้น | ||
4 |
| เปิดใช้อินเทอร์เฟซชุดข้อความ | เสร็จสิ้น | ||
5 |
| เปิดใช้และแนบโปรโตคอลโปรโตคอล | เสร็จสิ้น | ||
รอ 20 วินาทีขณะที่อุปกรณ์เข้าร่วมและกําหนดค่าตัวเอง | |||||
6 |
| ดูการกําหนดค่าเครือข่าย | ย่อย |
การสื่อสารระหว่างอุปกรณ์ชุดข้อความ
เราจะใช้คําสั่ง ping
เพื่อตรวจสอบว่าอุปกรณ์สื่อสารกันได้หรือไม่ คําสั่ง ping จําเป็นต้องมีที่อยู่ IPv6 ของอุปกรณ์เพื่อใช้คําสั่ง ping ซึ่งได้มาจากคําสั่ง ipaddr
> ipaddr fd5c:c6b:3a17:40b9:0:ff:fe00:fc00 # Leader Anycast Locator (ALOC) fd5c:c6b:3a17:40b9:0:ff:fe00:1800 # Routing Locator (RLOC) fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03 # Mesh-Local EID (ML-EID) fe80:0:0:0:c449:ca4a:101f:5d16 # Link-Local Address (LLA)
จาก FTD ทั้ง 2 รายการให้คําสั่ง OTBR โดยใช้ที่อยู่ OTBR's RSAOC
> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800 Done > > 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms
การตอบสนองหมายถึงเพย์โหลดที่ได้รับและการสื่อสารที่สําเร็จ ใช้คําสั่ง ping กับกระบวนการ ping จาก FTD จาก OTBR อีกครั้ง
9. ยินดีด้วย
คุณสร้างเครือข่ายชุดข้อความแล้ว
ตอนนี้คุณทราบแล้ว
- วิธีสร้างโปรเจ็กต์ OpenThread โดยใช้ Silicon Labs Simplicity Studio IDE
- วิธีสร้างและแฟลชไบนารี BOP ของ OpenThread ไปยังกระดานวิทยุของ Silicon Labs
- วิธีตั้งค่า Raspberry Pi 3B+ เป็น OpenOpen Borderเราเตอร์ (OTBR) โดยใช้ Docker
- วิธีสร้างเครือข่ายชุดข้อความใน OTBR
- การไม่ย่านความถี่ของอุปกรณ์ในเครือข่าย เทรด
- วิธียืนยันการสื่อสารชุดข้อความระหว่างโหนดโดยใช้คําสั่ง ping
อ่านเพิ่มเติม
โปรดดู openthread.io และ GitHub สําหรับทรัพยากร OpenThread ที่หลากหลาย ซึ่งรวมถึง
- แพลตฟอร์มที่รองรับ — ดูแพลตฟอร์มทั้งหมดที่รองรับ OpenThread
- สร้าง OpenThread — รายละเอียดเพิ่มเติมเกี่ยวกับการสร้างและกําหนดค่า OpenThread
- Thread Primer — ครอบคลุมแนวคิดของชุดข้อความทั้งหมดที่ปรากฏใน Codelab นี้
- Silicon Labs OpenThread Training - ข้อมูลเบื้องต้นเกี่ยวกับ OpenThread การพูดคุยเกี่ยวกับเราเตอร์การกล่าวถึงและเราเตอร์สําหรับออกกําลังกาย ตลอดจนการฝึกปฏิบัติในการสร้างเครือข่าย OpenThread
- QSG170: คู่มือเริ่มต้นฉบับย่อสําหรับใช้ชุดข้อความใน Silicon Labs ครอบคลุมรายละเอียดการเริ่มต้นใช้งานเพื่อการพัฒนาชุดข้อความในห้องทดลอง Silicon Labs
- AN1256: การใช้ RCP ของ Silicon Labs กับเราเตอร์ของ OpenThread Border - คําแนะนําการสร้างและการติดตั้งสําหรับโฮสต์เราเตอร์ Raspberry Pi
10. การตั้งค่าเฟิร์มแวร์ที่ไม่บังคับ - การสาธิต
เดโมคือรูปภาพเฟิร์มแวร์ที่สร้างไว้ล่วงหน้าซึ่งพร้อมดาวน์โหลดลงในอุปกรณ์ที่เข้ากันได้ วิธีที่เร็วที่สุดในการค้นหาว่าการสาธิตพร้อมใช้งานสําหรับส่วนใดใน Simplicity Studio คือคลิกส่วนของคุณในส่วนมุมมองอะแดปเตอร์การแก้ไขข้อบกพร่อง จากนั้นไปที่แท็บ "ตัวอย่าง" และ "ตัวอย่าง" ในมุมมอง Launcher ปิดใช้ตัวกรองโปรเจ็กต์ตัวอย่าง และเลือกช่องทําเครื่องหมาย "ชุดข้อความ" ในส่วน "ประเภทเทคโนโลยี"
รูปภาพแอปพลิเคชันสาธิตซึ่งเก็บรวบรวมไว้ล่วงหน้าซึ่งมี SDK เทรดเทรดจะเข้ากันได้กับกระดานต่อไปนี้
- BRD4161a
- BRD4166a
- BRD4168a
- BRD4180a
- บราซิล 4304a
รายการนี้อาจมีการอัปเดตใน SDK รุ่นในอนาคตเพื่อให้มีกระดานวิทยุเพิ่มเติม โปรดดูบันทึกประจํารุ่นทั้งหมดของ Silicon Labs OpenThread SDK ในส่วน "เอกสารประกอบ"
สาธิตการสาธิตต่อไปนี้บนกระดานที่เกี่ยวข้อง หากต้องการแฟลช ให้เลือกกระดานใต้อะแดปเตอร์การแก้ไขข้อบกพร่องทางด้านซ้าย และคลิก "เรียกใช้" สําหรับแอปพลิเคชันตัวอย่างที่เกี่ยวข้อง หน้าต่างป๊อปอัปจะแสดงความคืบหน้าของ Flash
- BRD4166A: ot-rcp — อุปกรณ์นี้จะทํางานเป็นหน่วยประมวลผลวิทยุวิทยุไปยังเราเตอร์ OT Border เราจะใช้อุปกรณ์นี้เพื่อสร้างเครือข่ายชุดข้อความและเริ่มต้นใช้งานอุปกรณ์อีก 2 เครื่องในเครือข่ายชุดข้อความ การเป็นเราเตอร์ Border ทําให้อุปกรณ์เครื่องนี้เป็นเกตเวย์สําหรับอุปกรณ์ในเครือข่าย เทรด ในการสื่อสารผ่านอินเทอร์เน็ตด้วย
- 2 BRD4168A: ot-cli-ftd - อุปกรณ์ 2 เครื่องนี้จะทําหน้าที่เป็นอุปกรณ์ชุดข้อความทั้งหมด พวกเขาจะเข้าร่วมเครือข่ายชุดข้อความที่สร้างโดย OTBR