Validar el puerto

Ver código fuente en GitHub

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

Compila para la plataforma de destino

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

./script/build efr32mg12 -DBOARD=brd4161a

Interactúa con la CLI

Demostrar la ejecución exitosa de OpenThread y la capacidad de UART interactuando con la CLI.

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

help
help
autostart
bufferinfo
...
version
whitelist

Cómo formar una red Thread

Demostrar temporizadores de protocolo exitosos a través de la formación de una red Thread y la verificación el nodo pasó 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 unos segundos...

state
leader
Done

Conecta un segundo nodo

Demuestra una comunicación por radio exitosa adjuntando un segundo nodo al red Thread recién creada, con la misma clave de red de Thread y el mismo ID PAN de el primer nodo:

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

Espera unos segundos...

state
router
Done

Haz ping entre dispositivos

Demostrar una comunicación exitosa de la ruta de datos enviando y recibiendo eco ICMPv6 mensajes de solicitud y respuesta.

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 del router a la dirección IPv6 del EID local de 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

Restablece un dispositivo y valida que se vuelva a adjuntar

Restablecer el dispositivo y validarlo para demostrar una funcionalidad no volátil 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 vuelto a conectar correctamente a la red:

panid
0x8f28
Done
state
router
Done

Verifica la generación de números al azar

Demuestra la generación de números aleatorios ejecutando el comando factoryreset y verificando una nueva dirección extendida aleatoria.

extaddr
a660421703f3fdc3
Done
factoryreset

Espera unos segundos...

extaddr
9a8ed90715a5f7b6
Done