Ameba D
Este exemplo funciona como um tipo de dispositivo de lâmpada com recursos de ativação/desativação. As etapas foram verificadas no quadro Ameba D.
Configuração inicial
- Clone o SDK da 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
- Clone o repositório
connectedhomeip
e finalize a compra do SHA específico para o SDK do Ameba:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git switch v1.0-branch
Crie as imagens
- Verifique se a estrutura de pastas é a seguinte:
ameba_matter/ ├── ambd_sdk_with_chip_non_NDA └── connectedhomeip
- Inicialize o repositório
connectedhomeip
:git submodule update --init --recursive
source scripts/activate.sh
- Crie 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
- O resultado do build é encontrado em:
connectedhomeip/out/asdk/image/km0_km4_image2.bin
- O resultado do build é encontrado em:
Atualizar o tabuleiro
Configure o hardware Ameba D como mostrado no diagrama:
- Acesse o diretório apropriado do ImageTool para o 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 da 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
- No Linux, acesse o diretório
/Image_Tool_Linux/AmebaD_ImageTool
:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- Mude as permissões da ferramenta, se necessário. Por exemplo, no Linux:
chmod +x AmebaD_ImageTool
- Verifique o uso da ferramenta:
./AmebaD_ImageTool -help
- Mude as permissões da ferramenta, se necessário. Por exemplo, no Linux:
- Atualizar a imagem na placa Ameba D. Conecte o Micro-B USB à placa
e o outro lado ao PC. Verifique a porta do UART e modifique-a se
a porta do UART não estiver atribuída a
/dev/ttyUSB0
:./AmebaD_ImageTool -add device /dev/ttyUSB0
command finish total device to add 1 /dev/ttyUSB0 existed
- Copie as três imagens do Ameba D que você criou anteriormente para o diretório atual
(onde a 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 ./
- 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
- 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
- Na placa Ameba D, mantenha o botão UART_DOWNLOAD pressionado, depois pressione o botão RESET e solte o botão UART_DOWNLOAD para entrar no modo de download.
- Atualize a imagem para a placa Ameba D:
./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 o board
- Pressione o botão RESET na placa para reiniciar o sistema.
- Abra um console serial na placa com
minicom
ouscreen
. Por exemplo, se o dispositivo estiver em/dev/ttyUSB0
:screen /dev/ttyUSB0 115200
- Se a placa Ameba D tiver sido pareada antes, é recomendável que você
a redefina 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 o comprimento longo do LED (o trecho positivo) a B5 e o longo curto do LED (o percurso negativo) a GND. Se o LED não tiver uma resistência integrada, um resistor de 220 ohm precisa estar conectado entre o LED e a B5.
Próximas etapas
Quando sua Matter example has been successfully built, create a developer project.