Realtek

Ameba D

Este exemplo funciona como um tipo de dispositivo de lâmpada, com recursos de ativação/desativação. As etapas foram verificadas na placa D da Ameba.

Configuração inicial

  1. Clone o SDK do Ameba e confira v1.0-branch:
    mkdir ameba_matter
    cd ameba_matter
    git clone -b v1.0-branch https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git
  2. Clone o repositório connectedhomeip e confira o SHA específico para o SDK da Ameba:
    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git switch v1.0-branch
    .

Criar as imagens

  1. Confira se você tem uma estrutura de pastas como esta:
    ameba_matter/
    ├── ambd_sdk_with_chip_non_NDA
    └── connectedhomeip
  2. Inicialize o repositório connectedhomeip:
    git submodule update --init --recursive
    source scripts/activate.sh
  3. Criar o lighting-app
    $PWD/../ambd_sdk_with_chip_non_NDA/project/realtek_amebaD_va0_example/GCC-RELEASE/build.sh $PWD ninja $PWD/out lighting-app
    cd out ; ninja
    1. A saída do build é encontrada em:
      connectedhomeip/out/asdk/image/km0_km4_image2.bin

Piscar a placa

Configure o hardware Ameba D como mostrado no diagrama:

imagem

  1. Acesse o diretório apropriado do ImageTool do seu computador. O ImageTool é usado para atualizar o exemplo na sua placa. Todas as versões da ImageTool estão localizadas em ambd_sdk_with_chip_non_NDA/tools/AmebaD/:
    SO Local do ImageTool
    Linux /Image_Tool_Linux/AmebaD_ImageTool
    MacOS 10.X /Image_Tool_MacOS/MacOS_v10/Ameba_1-10_MP_ImageTool_MacOS
    MacOS 11 /Image_Tool_MacOS/MacOS_v11/Ameba_1-10_MP_ImageTool_MacOS11
  2. No Linux, acesse o diretório /Image_Tool_Linux/AmebaD_ImageTool:
    cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
    1. Mude as permissões da ferramenta, se necessário. Por exemplo, no Linux:
      chmod +x AmebaD_ImageTool
    2. Verifique o uso da ferramenta:
      ./AmebaD_ImageTool -help
  3. Pisca a imagem na placa D. Conecte o USB Micro-B à placa e conecte o outro lado ao PC. Verifique a porta UART e modifique-a se ela não estiver atribuída a /dev/ttyUSB0:
    ./AmebaD_ImageTool -add device /dev/ttyUSB0
    command finish
    total device to add 1
    /dev/ttyUSB0 existed
  4. Copie as três imagens Ameba D que você criou anteriormente para o diretório atual (em que ImageTool está):
    cp ../../../../connectedhomeip/out/asdk/bootloader/km0_boot_all.bin ./
    cp ../../../../connectedhomeip/out/asdk/bootloader/km4_boot_all.bin ./
    cp ../../../../connectedhomeip/out/asdk/image/km0_km4_image2.bin ./
  5. Combine as três imagens para gerar Image_all.bin:
    ./AmebaD_ImageTool -combine km0_boot_all.bin 0x0000 km4_boot_all.bin 0x4000 km0_km4_image2.bin 0x6000
    command finish
    Combine Image Success
  6. Verifique se a configuração final foi definida:
    ./AmebaD_ImageTool -show
    command finish
    Current Settings
    CPU      : AmebaD
    UART     : 1500000 bps parity:N flow control:False
    FW NAME  : Image_All.bin
    FW ADDR  : 0x08000000
    FW LEN   : 0
    OPTS     : keep data    :   True
           keep wifi cal:   True
           verification :   False
           reset device :   False
           factory mode :   False
           save log     :   True
    Port Settings
    PORT 0: active:True device:/dev/ttyUSB0
    PORT 1: active:False device:NONE
    PORT 2: active:False device:NONE
    PORT 3: active:False device:NONE
    PORT 4: active:False device:NONE
    PORT 5: active:False device:NONE
    PORT 6: active:False device:NONE
    PORT 7: active:False device:NONE
    PORT 8: active:False device:NONE
    PORT 9: active:False device:NONE
  7. Na placa Ameba D, mantenha o botão UART_DOWNLOAD pressionado e pressione o botão RESET. Em seguida, solte o botão UART_DOWNLOAD para entrar no modo de download.
  8. Atualize a imagem na placa D Ameba:
    ./AmebaD_ImageTool -download
    log file = log_2021_11_15_23_42_10.txt
    [100, 0, 0, 0, 0, 0, 0, 0, 0, 0]command finish
    
    status: ['OK 53.0s', 'Check PORT', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off']
    close log file

Redefinir a placa

  1. Pressione o botão RESET na placa para reiniciar o sistema.
  2. Abra um console serial na placa com minicom ou screen. Por exemplo, se o dispositivo estiver em /dev/ttyUSB0:
    screen /dev/ttyUSB0 115200
  3. Se a placa Ameba D já tiver sido pareada antes, é recomendável redefini-la para a configuração original antes de continuar. Digite ATS# no console para fazer isso:
    #
    ATS#
    xPortGetTotalHeapSize = 204800
    xPortGetFreeHeapSize = 104512
    xPortGetMinimumEverFreeHeapSize = 98176
    _[dct_init_valid_module]: erase flash address 0x001ec00

Fiação de LED

Se você quiser acender um LED usando a placa, conecte a parte longa do LED (o pé positivo) a B5 e o trecho curto do LED (o pé negativo) ao GND. Se o LED não tiver um resistor integrado, será necessário conectar um resistor de 220 ohm entre o LED e a B5.

imagem

Próximas etapas

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