Nordic IoT Axon NPU Demo de Gestos (NRF54LM20) Dev Kit Parte 7 (Modo Bluetooth HID)

Esta es la Parte 7 de la nueva plataforma AI IoT ganadora del premio de Embedded World 2026 de Nordic NRF54LM20-DK Nordic Semiconductor ASA | Development Boards, Kits, Programmers | DigiKey

image

El propósito de este artículo es continuar donde la Parte 5 de reconocimiento de gestos se quedo. Este demo de reconocimiento de gestos se presentará aquí en la plataforma de Nordic NRF54LM20-DK Nordic Semiconductor ASA | Development Boards, Kits, Programmers | DigiKey como un Bluetooth HID. Por favor sigua las instrucciones mostradas en el previo artículo Parte 5 antes de completar este artículo. Primero, se procede a modificar el archivo proj.conf del sistema operativo en tiempo real Zephyr con la siguiente información,

#Bluetooth HID mode
CONFIG_BLE_MODE_HID=y

Realize los pasos descritos en el previo artículo Parte 5 para construir y programar la nueva plataforma AI IoT de Nordic NRF54LM20-DK Nordic Semiconductor ASA | Development Boards, Kits, Programmers | DigiKey

Para continuar con el demo de reconocimiento de gestos, conecte la plataforma de Nordic a su computadora via el Bluetooth. Ahora será Human Interface Device (HID) que realiza algunas funciones en su computadora basado en el reconocimiento de gestos por la red nueral del Axon al usuario mover el sensor de ciertas formas. Cuando el usuario mueve el sensor Bosch BMI270 IMU Sparkfun Evaluation Board disponible en DigiKey.

image

el terminal minicom mostrará mensajes similares a lo siguiente,

*** Booting MCUboot v2.3.0-dev-3dfaa012cf34 ***
*** Using nRF Connect SDK v3.3.0-preview2-ede152ec210b ***
*** Using Zephyr OS v4.3.99-4b6df5ff11b1 ***
I: Starting bootloader
I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Boot source: none
I: Image index: 0, Swap type: none
I: Bootloader chainload address offset: 0x10000
I: Image version: v0.0.0
I: Jumping to the first image slot
*** Booting nRF Connect SDK v3.3.0-preview2-ede152ec210b ***
*** Using Zephyr OS v4.3.99-4b6df5ff11b1 ***
[00:00:00.050,382] <inf> fs_nvs: 8 Sectors of 4096 bytes
[00:00:00.050,390] <inf> fs_nvs: alloc wra: 0, ee0
[00:00:00.050,394] <inf> fs_nvs: data wra: 0, 160
[00:00:00.050,478] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: 
                                            ac 6c cb 12 2a 45 63 97  7c ba aa bd 8d 8f d0 9b |.l..*Ec. |.......
                                            c2 c9 23 ea                                      |..#.             
[00:00:00.052,819] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.052,835] <inf> bt_hci_core: HW Variant: nRF54Lx (0x0005)
[00:00:00.052,848] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 172.52076 Build 1665477138
[00:00:00.053,066] <inf> bt_hci_core: No ID address. App must call settings_load()
[00:00:00.053,082] <inf> ble_hid: Bluetooth initialized
[00:00:00.053,746] <inf> bt_hci_core: HCI transport: SDC
[00:00:00.053,852] <inf> bt_hci_core: Identity: F3:93:F9:A8:5C:40 (random)
[00:00:00.053,871] <inf> bt_hci_core: HCI: version 6.2 (0x10) revision 0x3073, manufacturer 0x0059
[00:00:00.053,890] <inf> bt_hci_core: LMP: version 6.2 (0x10) subver 0x3073
[00:00:00.056,394] <inf> ble_hid: Advertising successfully started
[00:00:00.056,444] <inf> main: nRF Edge AI Gestures Recognition Demo:
[00:00:00.056,455] <inf> main: nRF Edge AI Runtime Version: 2.2.0
[00:00:00.056,474] <inf> main: nRF Edge AI Lab Solution id: 36038
[00:00:00.134,029] <inf> bas: BAS Notifications enabled                  
[00:00:00.134,360] <inf> ble_hid: Connected 98:46:0A:8B:6B:9F (public)   |                             
[00:00:00.609,475] <inf> ble_hid: Input CCCD enabled                 
[00:00:00.609,492] <inf> ble_hid: Input attribute handle: 0             
[00:00:00.609,521] <inf> ble_hid: Consumer CCCD enabled                 
[00:00:00.609,631] <inf> ble_hid: Security changed: 98:46:0A:8B:6B:9F (public) level 2
[00:00:01.701,452] <inf> main: Predicted class: DOUBLE SHAKE, with probability 99 %
[00:00:01.701,690] <inf> ble_hid: BLE HID Key 8 sent successfully
[00:00:03.684,646] <inf> main: Predicted class: DOUBLE SHAKE, with probability 95 %
[00:00:03.684,884] <inf> ble_hid: BLE HID Key 8 sent successfully
[00:00:05.006,769] <inf> main: Predicted class: DOUBLE THUMB, with probability 99 %
[00:00:05.007,007] <inf> ble_hid: BLE HID Key 4 sent successfully
[00:00:06.328,840] <inf> main: Predicted class: DOUBLE SHAKE, with probability 81 %
[00:00:06.329,078] <inf> ble_hid: BLE HID Key 8 sent successfully
[00:00:07.650,962] <inf> main: Predicted class: DOUBLE THUMB, with probability 97 %
[00:00:07.651,200] <inf> ble_hid: BLE HID Key 4 sent successfully
[00:00:09.634,149] <inf> main: Predicted class: SWIPE LEFT, with probability 98 %
[00:00:09.634,387] <inf> ble_hid: BLE HID Key 16 sent successfully
[00:00:12.608,930] <inf> main: Predicted class: SWIPE LEFT, with probability 96 %
[00:00:12.609,168] <inf> ble_hid: BLE HID Key 16 sent successfully
[00:00:13.600,515] <inf> main: Predicted class: DOUBLE THUMB, with probability 78 %
[00:00:13.600,747] <inf> ble_hid: BLE HID Key 4 sent successfully
[00:00:15.914,187] <inf> main: Predicted class: SWIPE LEFT, with probability 93 %
[00:00:15.914,425] <inf> ble_hid: BLE HID Key 16 sent successfully
[00:00:17.236,372] <inf> main: Predicted class: DOUBLE THUMB, with probability 95 %
[00:00:17.236,610] <inf> ble_hid: BLE HID Key 4 sent successfully
[00:00:23.185,865] <inf> main: Predicted class: SWIPE RIGHT, with probability 87 %
[00:00:23.186,103] <inf> ble_hid: BLE HID Key 32 sent successfully
[00:00:29.135,414] <inf> main: Predicted class: SWIPE RIGHT, with probability 97 %
[00:00:29.135,652] <inf> ble_hid: BLE HID Key 32 sent successfully
[00:00:37.398,618] <inf> main: Predicted class: DOUBLE SHAKE, with probability 82 %
[00:00:37.398,856] <inf> ble_hid: BLE HID Key 8 sent successfully
[00:00:39.712,347] <inf> main: Predicted class: DOUBLE THUMB, with probability 99 %
[00:00:39.712,585] <inf> ble_hid: BLE HID Key 4 sent successfully
[00:00:40.703,925] <inf> main: Predicted class: DOUBLE THUMB, with probability 98 %
[00:00:40.704,157] <inf> ble_hid: BLE HID Key 4 sent successfully


etc

El Bluetooth ha sido conectado, ya que en el terminal de minicom surgieron los siguientes mensajes,

[00:00:00.134,360] <inf> ble_hid: Connected 98:46:0A:8B:6B:9F (public)   |                             
[00:00:00.609,475] <inf> ble_hid: Input CCCD enabled                 
[00:00:00.609,492] <inf> ble_hid: Input attribute handle: 0             
[00:00:00.609,521] <inf> ble_hid: Consumer CCCD enabled

Este demo de reconocimiento de gestos convierte un gesto específico de movimiento a un BLE HID Key y la computadora responde apropiadamiente. Existen dos modos de operación para este demo de reconocimiento de gestos, uno es seleccionado presionando KEY0 en el AI IoT kit de Nordic NRF54LM20-DK Nordic Semiconductor ASA | Development Boards, Kits, Programmers | DigiKey. Uno es el modo de Presentación y el otro es de control de Música, cada uno asociado a distintas teclas en el teclado de la computadora.

Mantegase sintonizado al próximo artículo de esta serie. Hemos completado la base del demo de reconocimiento de gestos de movimiento para este nuevo Axon (NPU) usando su driver directamente, en esta nueva plataforma Nordic AI IoT. disponible en DigiKey.

Que tenga un buen día

Este artículo está disponible en ingles aquí.

This article is available in english here.

1 Like