รูปแบบเครือข่าย Thread

ดูซอร์สโค้ดใน GitHub

สร้างเครือข่ายเทรดและทดสอบการเชื่อมต่อกับอินเทอร์เน็ต

เริ่มเซสชัน `ot-ctl`

ot-ctl แสดงคำสั่ง CLI ของ OpenThread ดูรายละเอียดเพิ่มเติมได้ที่คู่มือ CLI ของ OpenThread

หากใช้ Docker ให้เริ่มเซสชัน ot-ctl ดังนี้

docker exec -it otbr ot-ctl

หากใช้โฮสต์แบบเนทีฟ ให้เริ่มเซสชัน ot-ctl ดังนี้

sudo ot-ctl

สร้างเครือข่ายเทรด

  1. สร้างการกำหนดค่าเครือข่ายใหม่

    dataset init new
    Done
    
  2. ดูการกำหนดค่าเครือข่ายใหม่

    dataset
    Active Timestamp: 1
    Channel: 15
    Wake-up Channel: 16
    Channel Mask: 0x07fff800
    Ext PAN ID: 39758ec8144b07fb
    Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64
    Network Key: f366cec7a446bab978d90d27abe38f23
    Network Name: OpenThread-5938
    PAN ID: 0x5938
    PSKc: 3ca67c969efb0d0c74a4d8ee923b576c
    Security Policy: 672 onrc 0
    Done
    
  3. คอมมิตชุดข้อมูลใหม่ไปยังชุดข้อมูลการทํางานที่ใช้งานอยู่ในพื้นที่เก็บข้อมูลแบบคงที่

    dataset commit active
    Done
    
  4. เปิดใช้อินเทอร์เฟซเทรด

    ifconfig up
    Done
    thread start
    Done
    
  5. ในคอนโซลโฮสต์ Linux (ไม่ใช่ในเซสชัน ot-ctl) ให้ใช้ ifconfig เพื่อดูอินเทอร์เฟซเครือข่ายเทรดใหม่

    ifconfig wpan0
    wpan0: flags=4305  mtu 1280
            inet6 fe80::3c98:89e8:ddec:bda7  prefixlen 64  scopeid 0x20
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d  prefixlen 64  scopeid 0x0
            unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
            RX packets 16  bytes 1947 (1.9 KiB)
            RX errors 0  dropped 3  overruns 0  frame 0
            TX packets 7  bytes 1152 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

แสดงโหนดชุดข้อความที่ 2

เมื่อ OTBR ทำงานแล้ว ให้เพิ่มโหนดเทรดแบบสแตนด์อโลนในเครือข่ายเทรดและทดสอบว่าเชื่อมต่ออินเทอร์เน็ตได้

ดูสร้างเครือข่ายเทรดด้วยบอร์ด nRF52840 และ OpenThread Codelab เพื่อดูวิธีการโดยละเอียดในการสร้างและแฟลชแพลตฟอร์ม Nordic nRF52840

  1. หลังจากสร้างและแฟลชแล้ว ให้ใช้ screen ในหน้าต่างเทอร์มินัลใหม่เพื่อเข้าถึง CLI ตัวอย่างเช่น หากอุปกรณ์ติดตั้งอยู่บนพอร์ต /dev/ttyACM1 ให้ทำดังนี้

    screen /dev/ttyACM1 115200
    

  2. กดแป้น Enter เพื่อแสดงพรอมต์ > OpenThread CLI

เข้าร่วมโหนดที่ 2 กับเครือข่ายเทรด

ใช้ OpenThread CLI สำหรับโหนด Thread ตัวที่ 2 เพื่อเข้าร่วมโหนดกับเครือข่าย Thread ที่ OTBR สร้างขึ้น

  1. อัปเดตข้อมูลเข้าสู่ระบบของเครือข่ายเทรดสำหรับโหนดโดยใช้ค่าขั้นต่ำที่จําเป็นจาก OTBR

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. วิธีแสดงอินเทอร์เฟซเทรดและเริ่มเทรด

    ifconfig up
    Done
    thread start
    Done
    

  3. โหนดควรเข้าร่วมเครือข่ายเทรดของ OTBR โดยอัตโนมัติ ภายใน 2 นาที สถานะของคำสั่งซื้อควรเป็น router ดังนี้

    state
    router
    

ตรวจสอบที่อยู่สาธารณะ

คุณควรที่จะ ping ที่อยู่ IPv4 สาธารณะจากโหนดเทรดแบบสแตนด์อโลนในตอนนี้ เนื่องจากเทรดใช้เฉพาะ IPv6 ระบบจะแปลงที่อยู่ IPv4 สาธารณะเป็น IPv6 โดยอัตโนมัติโดยรวมเข้ากับคำนำหน้า NAT64 ในเครือข่ายเทรด

  1. วิธีดูคำนำหน้า NAT64 ในเครือข่ายเทรด

    netdata show
    Prefixes:
    fd3e:d39b:d91:1::/64 paros low 1800
    Routes:
    ::/0 s med 1800
    fd3e:d39b:d91:2:0:0::/96 sn low 1800
    Services:
    Contexts:
    fd3e:d39b:d91:1::/64 1 c
    Commissioning:
    12156 - - -
    
    โดยที่ fd3e:d39b:d91:2:0:0::/96 คือคำนำหน้า NAT64 ในเครือข่ายเทรด

  2. ทดสอบการเชื่อมต่ออินเทอร์เน็ตของโหนดเทรดแบบสแตนด์อโลนโดยปิงที่อยู่ IPv4 จาก CLI ดังนี้

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808
    16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms
    1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms.
    Done
    

สำเร็จ! ตอนนี้โหนดเทรดที่ 2 สื่อสารกับอินเทอร์เน็ตผ่าน OTBR ได้แล้ว