Laboratórios de silício

EFR32MG24

Este exemplo funciona como um tipo de dispositivo de lâmpada, com recursos de ativação/desativação. As etapas foram verificadas na placa de desenvolvimento do SiLabs EFR32MG24.

Este exemplo usa um ID de fornecedor de teste (VID) e um ID de produto (PID) de 0x8005.

Configuração inicial

  1. Instale as dependências conforme especificado no repositório connectedhomeip:
    1. Caso de desenvolvimento
    2. Como criar o exemplo de iluminação do EFR32
  2. Instale o Simplicity Commander e verifique se o binário (comando) está no PATH. Exemplo:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. Instale o JLink no computador (necessário para a atualização da imagem), conforme descrito em Como visualizar a saída do Logging para o exemplo de iluminação EFR32.
  4. Clone e inicialize o repositório 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
  5. Exporte as variáveis de ambiente:
    1. Se a placa for a versão de 10 dBm, use BRD4186C:
      export EFR32_BOARD=BRD4186C
    2. Se a placa for a versão de 20 dBm, use BRD4187C:
      export EFR32_BOARD=BRD4187C

Crie a imagem e atualize o tabuleiro

  1. Crie a imagem do app de iluminação:
    cd examples/lighting-app/efr32
    source third_party/connectedhomeip/scripts/activate.sh
    gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
    ninja -C out/debug
    A imagem será gerada na pasta out/debug.
  2. Conecte a placa EFR32 ao computador e atualize a imagem na placa EFR32:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

Instalar o carregador de inicialização

  1. Abra o Simplicity Commander:
    commander
  2. Abra a lista suspensa "Select Kit..." no canto superior esquerdo e selecione o kit a ser atualizado com um carregador de inicialização. Esse menu é preenchido com todos os dispositivos JLink detectados e os lista por número de série. Para facilitar a seleção, desconecte todos os dispositivos compatíveis com JLink, exceto o dispositivo que vai ser atualizado com flash, para que a lista seja preenchida com apenas um kit.
  3. Selecione o bloco Flash no lado esquerdo.
  4. Na seção Flash MCU, clique em Procurar.
  5. Navegue até connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries e encontre o arquivo .s37 que corresponde à variável de ambiente EFR32_BOARD definida:

    1. Se a placa for a versão de 10 dBm e você tiver usado BRD4186C, selecione bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37.
    2. Se a placa for a versão de 20 dBm e você tiver usado BRD4187C, selecione bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37.

    Clique em Abrir para selecionar o arquivo.

  6. Clique em Flash.

Após a atualização flash do carregador de inicialização, a atualização subsequente do aplicativo precisa omitir a sinalização --erase. Caso contrário, o carregador de inicialização precisará ser atualizado novamente. A sinalização --erase apaga todo o flash da placa, incluindo o carregador de inicialização.

Validar o exemplo

  1. Verifique os registros no seu board. Abra duas janelas de terminal.
    1. Na primeira janela:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Na segunda janela:
      JLinkRTTClient
      Os registros serão impressos na segunda janela.
  2. Ele precisa se apresentar como um dispositivo serial USB no computador. Você pode procurá-la em /dev/:
    ls -la /dev/tty*
    Você pode abrir o console serial com minicom ou tela. Por exemplo, se o dispositivo estiver em /dev/ttyACM0:
    screen /dev/ttyACM0 115200
    O console serial permite inserir comandos do OpenThread (por exemplo, state).
  3. Se a placa EFR32 já foi pareada, recomendamos que você a redefina para a configuração original:
    1. Mantenha o botão PB0 pressionado por mais de 10 segundos.
    2. Os LEDs piscarão três vezes. Continue pressionando o botão até ver o código QR atualizado na tela pequena.

EFR32MG12

Este exemplo funciona como um tipo de dispositivo de lâmpada, com recursos de ativação/desativação. As etapas foram verificadas no quadro de desenvolvimentos SiFR EFR32MG12 (Mighty Gecko).

Este exemplo usa um ID de fornecedor de teste (VID) e um ID de produto (PID) de 0x8005.

Configuração inicial

  1. Instale as dependências conforme especificado no repositório connectedhomeip:
    1. Caso de desenvolvimento
    2. Como criar o exemplo de iluminação do EFR32
  2. Instale o Simplicity Commander e verifique se o binário (comando) está no PATH. Exemplo:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. Instale o JLink no computador (necessário para a atualização da imagem), conforme descrito em Como visualizar a saída do Logging para o exemplo de iluminação EFR32.
  4. Clone e inicialize o repositório 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
  5. Exporte variáveis de ambiente:
    export EFR32_BOARD=BRD4161A

Crie a imagem e atualize o tabuleiro

  1. Crie a imagem do app de iluminação:
    cd examples/lighting-app/efr32
    source third_party/connectedhomeip/scripts/activate.sh
    gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
    ninja -C out/debug
    A imagem será gerada na pasta out/debug.
  2. Conecte a placa EFR32 ao computador e atualize a imagem na placa EFR32:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

Validar o exemplo

  1. Verifique os registros no seu board. Abra duas janelas de terminal.
    1. Na primeira janela:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Na segunda janela:
      JLinkRTTClient
      Os registros serão impressos na segunda janela.
  2. Ele precisa se apresentar como um dispositivo serial USB no computador. Você pode procurá-la em /dev/:
    ls -la /dev/tty*
    Você pode abrir o console serial com minicom ou tela. Por exemplo, se o dispositivo estiver em /dev/ttyACM0:
    screen /dev/ttyACM0 115200
    O console serial permite inserir comandos do OpenThread (por exemplo, state).
  3. Se a placa EFR32 já foi pareada, recomendamos que você a redefina para a configuração original:
    1. Mantenha o botão PB0 pressionado por mais de 10 segundos.
    2. Os LEDs piscarão três vezes. Continue pressionando o botão até ver o código QR atualizado na tela pequena.

Próximas etapas

Quando o exemplo Matter for criado, crie um projeto de desenvolvedor.