Ameba D
Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Los pasos se verificaron en la pizarra Ameba D.
Configuración inicial
- Clona el SDK de Ameba y consulta
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
- Clona el repositorio
connectedhomeip
y confirma la confirmación de la SHA específica para el SDK de Ameba:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git switch v1.0-branch
Compila las imágenes
- Asegúrate de tener la estructura de carpetas de la siguiente manera:
ameba_matter/ ├── ambd_sdk_with_chip_non_NDA └── connectedhomeip
- Inicializa el repositorio
connectedhomeip
:
.git submodule update --init --recursive
source scripts/activate.sh
- Compila el
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
- El resultado de la compilación se encuentra en la siguiente dirección:
connectedhomeip/out/asdk/image/km0_km4_image2.bin
- El resultado de la compilación se encuentra en la siguiente dirección:
Cómo escribir en la placa
Configura el hardware Ameba D como se muestra en el diagrama:
- Ve al directorio de ImageTool correspondiente para tu computadora. ImageTool se usa para escribir en la memoria flash el ejemplo en tu placa. Todas las versiones de ImageTool se encuentran en
ambd_sdk_with_chip_non_NDA/tools/AmebaD/
:SO Ubicación de 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
- Para Linux, ve al directorio
/Image_Tool_Linux/AmebaD_ImageTool
:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- Cambia los permisos de la herramienta si es necesario. Por ejemplo, en Linux:
chmod +x AmebaD_ImageTool
- Verifica el uso de la herramienta:
./AmebaD_ImageTool -help
- Cambia los permisos de la herramienta si es necesario. Por ejemplo, en Linux:
- Escribe la imagen en la placa Ameba D. Conecta el USB micro-B a la placa y el otro lado a la PC. Verifica el puerto UART y modifícalo si el puerto UART no está asignado a
/dev/ttyUSB0
:./AmebaD_ImageTool -add device /dev/ttyUSB0
command finish total device to add 1 /dev/ttyUSB0 existed
- Copia las tres imágenes de Ameba D que creaste antes en el directorio actual (en el que se encuentra ImageTool):
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 ./
- Combina las tres imágenes para generar
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
- Verifica que se haya establecido la configuración final:
./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
- En la placa Ameba D, mantén presionado el botón UART_DOWNLOAD y presiona el botón RESTABLECER. Luego, suelta el botón UART_DOWNLOAD para ingresar al modo de descarga.
- Escribe la imagen en la placa Ameba D en la memoria flash:
./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
Restablece la placa
- Presiona el botón RESTABLECER en la placa para reiniciar el sistema.
- Abre una consola en serie en la placa con
minicom
oscreen
. Por ejemplo, si el dispositivo está en/dev/ttyUSB0
:screen /dev/ttyUSB0 115200
- Si la placa Ameba D ya se sincronizó antes, se recomienda que la restablezcas antes de continuar. Ingresa
ATS#
en la consola para hacerlo:# ATS# xPortGetTotalHeapSize = 204800 xPortGetFreeHeapSize = 104512 xPortGetMinimumEverFreeHeapSize = 98176 _[dct_init_valid_module]: erase flash address 0x001ec00
Cableado LED
Si quieres iluminar un LED con la placa, conecta el segmento largo del LED (el tramo positivo) al B5 y conecta el segmento corto del LED (el segmento negativo) al GND. Si el LED no tiene una resistencia integrada, se debe conectar una resistencia de 220 ohm entre el LED y el B5.
Próximos pasos
Cuando tu Matter example has been successfully built, create a developer project.