EFR32MG12
Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Se verificaron los pasos en la placa de desarrollo SiLabs EFR32MG12 (Mighty Gecko).
En este ejemplo, se usa un ID de proveedor (VID) de prueba y un ID de producto (PID) de 0x8005
.
Configuración inicial
- Instala las dependencias como se especifica en el repositorio
connectedhomeip
: - Instala Simply Commander y asegúrate de que su objeto binario (comando) esté en tu
PATH
. Por ejemplo:export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- Instala JLink en tu computadora (necesario para instalar la imagen), como se describe en la sección Visualiza la salida de Logging para el ejemplo de iluminación EFR32.
- Clona e inicializa el repositorio
connectedhomeip
:cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- Exporta las variables de entorno:
export EFR32_BOARD=BRD4161A
Compila la imagen e instala la placa en la memoria flash
- Compila la imagen para la app de iluminación:
La imagen se generará en la carpetacd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
. - Conecta la placa EFR32 con la computadora y escribe la imagen en la memoria flash de tu placa EFR32:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
Valida el ejemplo
- Revisa los registros de tu pizarra. Abre dos ventanas de terminal.
- En la primera ventana:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- En la segunda ventana:
Los registros se imprimirán en la segunda ventana.JLinkRTTClient
- En la primera ventana:
- El dispositivo debe presentarse como un dispositivo serial USB en tu computadora. Puedes buscarlo en
/dev/
:
Puedes abrir la consola en serie con minicom o pantalla. Por ejemplo, si el dispositivo está enls -la /dev/tty*
/dev/ttyACM0
:
, la consola en serie te permite ingresar comandos de OpenThread (por ejemplo,screen /dev/ttyACM0 115200
state
). - Si la placa EFR32 ya se sincronizó, te recomendamos que la restablezcas a la configuración de fábrica:
- Mantén presionado el botón PB0 durante >10 segundos.
- Las luces LED parpadearán 3 veces. Sigue presionando el botón hasta que veas el código QR en la pantalla pequeña.
EFR32MG24
Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Los pasos se verificaron en la placa de desarrollo SiLabs EFR32MG24.
En este ejemplo, se usa un ID de proveedor (VID) de prueba y un ID de producto (PID) de 0x8005
.
Configuración inicial
- Instala las dependencias como se especifica en el repositorio
connectedhomeip
: - Instala Simply Commander y asegúrate de que su objeto binario (comando) esté en tu
PATH
. Por ejemplo:export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- Instala JLink en tu computadora (necesario para instalar la imagen), como se describe en la sección Visualiza la salida de Logging para el ejemplo de iluminación EFR32.
- Clona e inicializa el repositorio
connectedhomeip
:cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- Exporta las variables de entorno:
- Si tu placa tiene la versión de 10 dBm, usa
BRD4186C
:export EFR32_BOARD=BRD4186C
- Si tu placa tiene la versión de 20 dBm, usa
BRD4187C
:export EFR32_BOARD=BRD4187C
- Si tu placa tiene la versión de 10 dBm, usa
Compila la imagen e instala la placa en la memoria flash
- Compila la imagen para la app de iluminación:
La imagen se generará en la carpetacd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
. - Conecta la placa EFR32 con la computadora y escribe la imagen en la memoria flash de tu placa EFR32:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
Instalar bootloader
- Abre Simply Commander:
.commander
- Abre el menú desplegable "Seleccionar kit..." en la esquina superior izquierda y selecciona el kit que se instalará en la memoria flash con un bootloader. Este menú se propaga con todos los dispositivos JLink detectados y los enumera por número de serie. Para facilitar la selección, desconecta todos los dispositivos compatibles con JLink, excepto el dispositivo que se instalará de manera tal que la lista se propague con un solo kit.
- Selecciona el mosaico Flash a la izquierda.
- En la sección Flash MCU, haz clic en Browse.
Navega a
connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries
y busca el archivo.s37
que coincida con la variable de entornoEFR32_BOARD
que configuraste:- Si tu placa es la versión de 10 dBm y usaste
BRD4186C
, seleccionabootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37
. - Si tu placa es la versión de 20 dBm y usaste
BRD4187C
, seleccionabootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37
.
Haz clic en Abrir para seleccionar el archivo.
- Si tu placa es la versión de 10 dBm y usaste
Haz clic en Flash.
Ten en cuenta que, después de escribir en la memoria flash del bootloader, la instalación posterior de la aplicación debe omitir la marca --erase
; de lo contrario, este tendrá que volver a instalarse en la memoria flash. La marca --erase
borra todo el flash de la placa, incluido el bootloader.
Valida el ejemplo
- Revisa los registros de tu pizarra. Abre dos ventanas de terminal.
- En la primera ventana:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- En la segunda ventana:
Los registros se imprimirán en la segunda ventana.JLinkRTTClient
- En la primera ventana:
- El dispositivo debe presentarse como un dispositivo serial USB en tu computadora. Puedes buscarlo en
/dev/
:
Puedes abrir la consola en serie con minicom o pantalla. Por ejemplo, si el dispositivo está enls -la /dev/tty*
/dev/ttyACM0
:
, la consola en serie te permite ingresar comandos de OpenThread (por ejemplo,screen /dev/ttyACM0 115200
state
). - Si la placa EFR32 ya se sincronizó, te recomendamos que la restablezcas a la configuración de fábrica:
- Mantén presionado el botón PB0 durante >10 segundos.
- Las luces LED parpadearán 3 veces. Sigue presionando el botón hasta que veas el código QR en la pantalla pequeña.
Próximos pasos
Cuando tu Matter example has been successfully built, create a developer project.