Validar el puerto

Ver código fuente en GitHub

La validación básica es necesaria para verificar un puerto exitoso de OpenThread a un ejemplo nuevo de la plataforma de hardware.

Compila para la plataforma de destino

Demuestra una compilación exitosa mediante la compilación de la aplicación de ejemplo de OpenThread para la plataforma de destino.

./script/build efr32mg12 -DBOARD=brd4161a

Interactúa con la CLI

Demuestra la ejecución exitosa de OpenThread y la capacidad de UART mediante la interacción con la CLI.

Abre una terminal para /dev/ttyACM0 (configuración de puerto en serie: 115200 8-N-1). Escribe help para obtener una lista de comandos.

help
help
autostart
bufferinfo
...
version
whitelist

Cómo formar una red Thread

Demuestra temporizadores de protocolo exitosos. Para ello, forma una red Thread y verifica que el nodo haya pasado al estado Líder.

dataset init new
Done
dataset
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
dataset commit active
Done
ifconfig up
Done
thread start
Done

Espera un momento...

state
leader
Done

Adjunta un segundo nodo

Para demostrar una comunicación de radio exitosa, adjunta un segundo nodo a la red Thread recién creada, con la misma clave de red Thread y el mismo ID PAN del primer nodo:

dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Done
dataset panid 0x8f28
Done
dataset commit active
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

Espera un momento...

state
router
Done

Haz ping entre dispositivos

Demuestra que la comunicación de la ruta de datos es exitosa mediante el envío y la recepción de mensajes de solicitud/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

Enviar un ping de ICMPv6 del router a la dirección IPv6 de EID local de la malla 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

Restablecer un dispositivo y validar el rearchivo adjunto

Para demostrar la funcionalidad no volátil, restablece el dispositivo y valida su reconexión a la misma red sin intervención del usuario.

Inicia una red Thread:

dataset init new
Done
dataset
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
dataset commit active
Done
ifconfig up
Done
thread start
Done

Espera un par de segundos y verifica que el conjunto de datos activo se haya almacenado en 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
Done
thread start
Done

Espera unos segundos y verifica que el dispositivo se haya conectado correctamente a la red:

panid
0x8f28
Done
state
router
Done

Verifica la generación de números al azar

Demuestra la generación aleatoria de números mediante la ejecución del comando factoryreset y la verificación de una nueva dirección extendida aleatoria.

extaddr
a660421703f3fdc3
Done
factoryreset

Espera un momento...

extaddr
9a8ed90715a5f7b6
Done