Подтвердить порт, Подтвердить порт, Подтвердить порт

Посмотреть исходный код на GitHub

Для подтверждения успешной адаптации примера OpenThread к новой аппаратной платформе необходима базовая проверка.

Скомпилируйте для целевой платформы.

Продемонстрируйте успешную сборку, скомпилировав пример приложения OpenThread для целевой платформы.

./script/build efr32mg12 -DBOARD=brd4161a

Взаимодействие с интерфейсом командной строки

Продемонстрируйте успешное выполнение OpenThread и возможности UART, взаимодействуя с интерфейсом командной строки.

Откройте терминал на /dev/ttyACM0 (настройки последовательного порта: 115200 8-N-1). Введите help для получения списка команд.

help
help
autostart
bufferinfo
...
version
whitelist

Сформируйте сеть Thread.

Продемонстрируйте успешное срабатывание таймеров протокола, сформировав сеть 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

Подождите пару секунд...

state
leader
Done

Присоедините второй узел

Продемонстрируйте успешную радиосвязь, подключив второй узел к вновь созданной сети Thread, используя тот же ключ сети Thread и идентификатор PAN, что и у первого узла:

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

Подождите пару секунд...

state
router
Done

Пинг между устройствами

Продемонстрируйте успешную передачу данных по каналу связи, отправляя/получая сообщения запроса/ответа ICMPv6 Echo.

Перечислите все IPv6-адреса Лидера:

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

Отправьте ICMPv6-запрос с расширителя Mesh на IPv6-адрес локального EID лидера Mesh:

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

Сбросьте настройки устройства и подтвердите повторное подключение.

Продемонстрируйте энергонезависимую функциональность, перезагрузив устройство и проверив его повторное подключение к той же сети без вмешательства пользователя.

Запустите сеть 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

Подождите пару секунд и убедитесь, что активный набор данных сохранен в энергонезависимой памяти:

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

Перезагрузите устройство:

reset
ifconfig up
Done
thread start
Done

Подождите пару секунд и убедитесь, что устройство успешно повторно подключилось к сети:

panid
0x8f28
Done
state
router
Done

Проверка генерации случайных чисел

Продемонстрируйте генерацию случайных чисел, выполнив команду factoryreset и проверив новый случайный расширенный адрес.

extaddr
a660421703f3fdc3
Done
factoryreset

Подождите пару секунд...

extaddr
9a8ed90715a5f7b6
Done