Ver el código fuente en GitHub
La validación básica es necesaria para verificar un puerto correcto de OpenThread a un nuevo ejemplo de plataforma de hardware.
Compila para la plataforma de destino
Compila una compilación exitosa compilando la aplicación de ejemplo de OpenThread para la plataforma de destino.
./script/build efr32mg12 -DBOARD=brd4161a
Interactúa con la CLI
Interactúa con la CLI para demostrar la ejecución correcta de OpenThread y la capacidad de UART.
Abre una terminal para /dev/ttyACM0
(configuración de puerto en serie: 115200 8-N-1). Escribe help
para ver una lista de comandos.
help
help
autostart
bufferinfo
...
version
whitelist
Crea una red Thread
Demuestra temporizadores de protocolo correctos mediante la formación de una red Thread y la verificación de que el nodo haya pasado al estado de líder.
dataset init new
Donedataset
Active Timestamp: 1 Channel: 13 Channel Mask: 07fff800 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 Donedataset commit active
Doneifconfig up
Donethread start
Done
Espera unos segundos...
state
leader
Done
Adjuntar un segundo nodo
Para demostrar una comunicación de radio exitosa, adjunta un segundo nodo a la red de Thread formada recientemente, con la misma clave de red de Thread y el mismo ID de PAN del primer nodo:
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset panid 0x8f28
Donedataset commit active
Donerouterselectionjitter 1
Doneifconfig up
Donethread start
Done
Espera unos segundos...
state
router
Done
Haz ping entre dispositivos
Para mostrar una comunicación de ruta de datos exitosa, envía/recibe mensajes de solicitud o respuesta de ICMPv6 Echo.
Enumera todas las direcciones IPv6 del líder:
ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done
Envía un ping ICMPv6 desde el router a la dirección IPv6 del EID de malla local del líder:
ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms
Restablece un dispositivo y valida el rearchivo adjunto
A fin de demostrar la funcionalidad no volátil, restablece el dispositivo y valida su reconexión a la misma red sin la intervención del usuario.
Inicia una red Thread:
dataset init new
Donedataset
Active Timestamp: 1 Channel: 13 Channel Mask: 07fff800 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 Donedataset commit active
Doneifconfig up
Donethread start
Done
Espera unos segundos y verifica que el conjunto de datos activo se haya almacenado en un almacenamiento no volátil:
dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
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
Restablece el dispositivo:
reset
ifconfig up
Donethread start
Done
Espera unos segundos y verifica que el dispositivo se haya conectado correctamente a la red:
panid
0x8f28 Donestate
router Done
Verifica la generación de números al azar
Demuestra la generación de números al azar mediante la ejecución del comando factoryreset
y la verificación de una nueva dirección extendida aleatoria.
extaddr
a660421703f3fdc3 Donefactoryreset
Espera unos segundos...
extaddr
9a8ed90715a5f7b6
Done