แสดงและจัดการชุดข้อมูลด้วย OT CLI

ดูซอร์สบน GitHub

พารามิเตอร์การกำหนดค่าเครือข่ายเทรดจะจัดการโดยใช้ออบเจ็กต์ชุดข้อมูลการดำเนินการที่ทำงานอยู่และรอดำเนินการ OT CLI มีคำสั่งเพื่อรับและตั้งค่าชุดข้อมูล "ใช้งานอยู่" และ "รอดำเนินการ"

คำเตือน - ข้อจำกัดสำหรับการใช้งานจริง

คำสั่ง CLI เพื่อเขียนหรือเปลี่ยนแปลงชุดข้อมูลการดำเนินการที่ใช้งานอยู่และรอดำเนินการอาจอนุญาตให้ตั้งค่าพารามิเตอร์ที่ไม่ถูกต้อง หรือชุดพารามิเตอร์ที่ไม่ถูกต้องเพื่อวัตถุประสงค์ในการทดสอบ คำสั่ง CLI ต่อไปนี้ใช้ได้เฉพาะ

  • หากต้องการกำหนดค่าพารามิเตอร์เครือข่ายสำหรับอุปกรณ์แรกในเครือข่ายเทรดที่สร้างขึ้นใหม่
  • สำหรับการทดสอบ (ใช้ไม่ได้กับอุปกรณ์เวอร์ชันที่ใช้งานจริง)

ในเครือข่ายเทรดเวอร์ชันที่ใช้งานจริง วิธีที่ถูกต้องในการเขียนหรือเปลี่ยนแปลงชุดข้อมูลการดำเนินการคือการใช้ค่าคอมมิชชันที่ดำเนินการจัดเตรียม อุปกรณ์เวอร์ชันที่ใช้งานจริงที่ไม่ใช่ Commissioner ที่ใช้งานอยู่และเป็นส่วนหนึ่งของเครือข่ายเทรดต้องไม่แก้ไขชุดข้อมูลด้านการดำเนินการแต่อย่างใด

ชุดข้อมูลการดำเนินการที่ใช้งานอยู่

ชุดข้อมูลการดำเนินการที่ใช้งานอยู่มีพารามิเตอร์ที่กำลังใช้งานในเครือข่ายเทรดทั้งเครือข่าย ชุดข้อมูลการดำเนินการที่ใช้งานอยู่ประกอบด้วย

  • การประทับเวลาที่ใช้งานอยู่
  • ช่อง
  • มาสก์ของช่อง
  • รหัส PAN ที่ขยาย
  • คำนำหน้า Mesh-Local
  • ชื่อเครือข่าย
  • PAN ID
  • PSKc
  • นโยบายความปลอดภัย

หากต้องการกำหนดค่าอุปกรณ์ให้เป็นสมาชิกเต็มรูปแบบของเครือข่ายเทรดได้อย่างง่ายดาย คุณอาจใช้คำสั่ง datasetactive -x เพื่อรับ TLV ที่เข้ารหัสฐาน 16 และคำสั่ง ใช้งานชุดข้อมูลอยู่ เพื่อตั้งค่าชุดข้อมูลในอุปกรณ์เครื่องใหม่

ในอุปกรณ์ที่มีอยู่ ให้รับ TLV ที่เข้ารหัสฐาน 16:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

ในอุปกรณ์ใหม่ ให้ตั้งค่าชุดข้อมูลที่ใช้งานอยู่ ดังนี้

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

ชุดข้อมูลการดำเนินการที่รอดำเนินการ

ระบบจะใช้ชุดข้อมูลการดำเนินการที่รอดำเนินการเพื่อสื่อสารการเปลี่ยนแปลงกับชุดข้อมูลการดำเนินการที่ใช้งานอยู่ก่อนที่จะมีผล ชุดข้อมูลการดำเนินการที่รอดำเนินการ มีพารามิเตอร์ทั้งหมดจากชุดข้อมูลการดำเนินการที่ใช้งานอยู่ โดยมีข้อมูลต่อไปนี้

  • ตัวจับเวลาหน่วงเวลา
  • การประทับเวลาที่รอดำเนินการ

เริ่มต้นใช้งาน

หากต้องการจัดการชุดข้อมูลจากบรรทัดคำสั่ง ให้กรอกลับ Codelab ของการจำลองด้วย Docker และตรวจสอบการอ้างอิงคำสั่ง CLI

ไปที่ Simulation Codelab

ไปที่การอ้างอิงคำสั่ง CLI

สำหรับรายการคำสั่ง dataset ให้พิมพ์ help:

dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done

การแมปอาร์กิวเมนต์

นโยบายความปลอดภัย

คำสั่งนโยบายความปลอดภัยใช้การแมปอาร์กิวเมนต์เพื่อรับและตั้งค่าสมาชิก otSecurityPolicy เช่น dataset active

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 0x07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

ในตัวอย่างนี้ Security Policy: 0 บ่งชี้ mRotationTime

รายการอาร์กิวเมนต์ CLI ของนโยบายการรักษาความปลอดภัยทั้งหมดและสมาชิก otSecurityPolicy ที่เกี่ยวข้องสำหรับอาร์กิวเมนต์แต่ละรายการมีดังนี้

คำสั่ง get และ set ของ dataset securitypolicy จะใช้การแมปอาร์กิวเมนต์เดียวกันด้วย เช่น การตั้งค่า securitypolicy และส่ง o, n, r และ c ดังนี้

dataset securitypolicy 672 onrc
Done

คอมโพเนนต์ชุดข้อมูลและคำสั่ง mgmt

นอกจากพารามิเตอร์อื่นๆ แล้ว mgmtgetcommand และ mgmtsetcommand สำหรับชุดข้อมูลที่ทำงานอยู่และรอดำเนินการจะช่วยให้คุณรับและตั้งค่า otOperationalDatasetComponents แบบใดก็ได้ ดังนี้

  • activetimestamp
  • pendingtimestamp
  • networkkey
  • networkname
  • extpanid
  • localprefix
  • delaytimer
  • panid
  • channel
  • securitypolicy

สำหรับ mgmtgetcommand คุณระบุคอมโพเนนต์เหล่านี้ตามลำดับเพื่อรับค่าที่เกี่ยวข้องได้ นอกจากนี้ คุณยังส่งผ่าน -x เพื่อใช้สตริงฐานสิบหกที่ถือเป็นการแสดงลำดับไบต์ของ TLV ได้ด้วย ซึ่งอาจเป็น TLV เฉพาะผู้ให้บริการที่คุณอาจต้องการเพิ่มนอกเหนือจากพารามิเตอร์อื่นๆ

mgmtgetcommand ยังช่วยให้คุณระบุที่อยู่ IPv6 ของผู้นำได้ด้วย (ไม่บังคับ) มิเช่นนั้นระบบจะใช้ ALOC ผู้นำ

dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]

ตัวอย่างเช่น หากต้องการหา activetimestamp และ securitypolicy ให้ใช้อาร์กิวเมนต์ต่อไปนี้

dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done

ในการตั้งค่าคอมโพเนนต์ คุณยังสามารถระบุคอมโพเนนต์ของชุดข้อมูลในลำดับใดก็ได้ตามด้วยค่าคอมโพเนนต์

dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]

หากต้องการตั้งค่า activetimestamp และ securitypolicy ให้ใช้อาร์กิวเมนต์ต่อไปนี้

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done