Посмотреть исходный код на GitHub
Базовая проверка необходима для проверки успешного переноса OpenThread на пример новой аппаратной платформы.
Скомпилировать для целевой платформы
Продемонстрируйте успешную сборку, скомпилировав пример приложения OpenThread для целевой платформы.
./script/build efr32mg12 -DBOARD=brd4161a
Взаимодействие с CLI
Продемонстрируйте успешное выполнение OpenThread и возможности UART, взаимодействуя с CLI.
Откройте терминал /dev/ttyACM0
(настройки последовательного порта: 115200 8-N-1). Введите help
, чтобы получить список команд.
help
help
autostart
bufferinfo
...
version
whitelist
Сформировать сеть потоков
Продемонстрируйте успешные таймеры протокола, сформировав сеть потоков и проверив, что узел перешел в состояние лидера.
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
Подожди пару секунд...
state
leader
Done
Прикрепите второй узел
Продемонстрируйте успешную радиосвязь, подключив второй узел к вновь сформированной сети Thread, используя тот же ключ сети Thread и идентификатор PAN из первого узла:
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset panid 0x8f28
Donedataset commit active
Donerouterselectionjitter 1
Doneifconfig up
Donethread 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 с маршрутизатора на адрес IPv6 Mesh-Local EID лидера:
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
Сбросьте устройство и подтвердите повторное подключение.
Продемонстрируйте энергонезависимую функциональность, перезагрузив устройство и проверив его повторное подключение к той же сети без вмешательства пользователя.
Запустите сеть потоков:
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
Подождите пару секунд и убедитесь, что активный набор данных сохранен в энергонезависимом хранилище:
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
Donethread start
Done
Подождите пару секунд и убедитесь, что устройство успешно подключилось к сети:
panid
0x8f28 Donestate
router Done
Проверьте генерацию случайных чисел
Продемонстрируйте генерацию случайных чисел, выполнив команду factoryreset
и проверив новый случайный расширенный адрес.
extaddr
a660421703f3fdc3 Donefactoryreset
Подожди пару секунд...
extaddr
9a8ed90715a5f7b6
Done