اختبار الاتصال

عرض المصدر على GitHub

بعد بدء OTBR Docker، يمكنك إنشاء شبكة Thread واختبار الاتصال بالإنترنت.

إنشاء شبكة Thread

ابدأ جلسة ot-ctl.

docker exec -it otbr ot-ctl

إنشاء إعدادات شبكة جديدة وعرضها

dataset init new
Done
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

التزم بمجموعة البيانات الجديدة في "مجموعة البيانات التشغيلية النشطة" في مساحة التخزين غير القابلة للفقدان.

dataset commit active
Done

فعِّل واجهة Thread.

ifconfig up
Done
thread start
Done

يمكنك الخروج من جلسة ot-ctl باتّباع الخطوات التالية:

exit

استخدِم ifconfig لعرض واجهة شبكة Thread الجديدة:

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

عرض عقدة سلسلة محادثات ثانية

بعد تشغيل OTBR Docker، أضِف عقدة Thread مستقلة إلى شبكة Thread واختَبر إمكانية اتصالها بالإنترنت.

أنشئ عقدة Thread مستقلة وفلشها على النظام الأساسي المتوافق الذي تختاره. ولا يلزم إنشاء هذه العقدة باستخدام أي مفاتيح تبديل محددة.

اطّلِع على إنشاء OpenThread للحصول على تعليمات إنشاء أساسية.

اطّلِع على إنشاء شبكة Thread باستخدام لوحات nRF52840 وجلسة OpenThread IDE Codelab للحصول على تعليمات تفصيلية حول إنشاء منصة Nordic nRF52840 وفلاشها.

  1. بعد إنشاء الإصدار وتثبيته، استخدِم screen في نافذة طرفية جديدة للوصول إلى واجهة سطر الأوامر. على سبيل المثال، إذا تم تثبيت الجهاز على المنفذ /dev/ttyACM1:

    screen /dev/ttyACM1 115200
    

  2. اضغط على مفتاح Enter لعرض طلب > OpenThread CLI.

ربط العقدة الثانية بشبكة Thread

باستخدام سطر أوامر OpenThread لعقدة Thread الثانية، يمكنك ربط العقدة بشبكة Thread التي أنشأها OTBR Docker.

  1. عدِّل بيانات اعتماد شبكة Thread للعقدة باستخدام الحد الأدنى من القيم المطلوبة من OTBR Docker:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. افتح واجهة Thread وابدأ سلسلة محادثات:

    ifconfig up
    Done
    thread start
    Done
    

  3. من المفترض أن تنضم العقدة إلى شبكة Thread في OTBR تلقائيًا. خلال دقائق اثنتيَين، يجب أن تكون الحالة router:

    state
    router
    

اختبار الاتصال بعنوان علني

من المفترض أن تتمكّن من إرسال إشعار إلى عنوان IPv4 علني من خلال عقدة Thread المستقلة في هذه المرحلة. بما أنّ بروتوكول Thread لا يستخدم سوى IPv6، سيتم ترجمة عنوان IPv4 العلني تلقائيًا إلى IPv6 من خلال دمجه مع بادئة NAT64 في شبكة Thread.

  1. لعرض بادئة NAT64 في شبكة Thread:

    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 في شبكة Thread.

  2. يمكنك استخدام الأمر ping لعنوان IPv4 من وحدة التحكّم في واجهة سطر الأوامر الخاصة بوحدة Thread المستقلة بهدف اختبار اتصالها بالإنترنت:

    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
    

اكتمال النقل بنجاح يمكن الآن لعقدة Thread الثانية التواصل مع الإنترنت من خلال OTBR Docker.