Realtek

Ameba D

Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Se verificaron los pasos en la placa Ameba D.

Configuración inicial

  1. Clona el SDK de Ameba y revisa 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. Clona el repositorio connectedhomeip y verifica el SHA específico 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

  1. Asegúrate de tener la estructura de carpetas de la siguiente manera:
    ameba_matter/
    ├── ambd_sdk_with_chip_non_NDA
    └── connectedhomeip
  2. Inicializa el repositorio connectedhomeip:
    git submodule update --init --recursive
    source scripts/activate.sh
  3. Compila el objeto 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. El resultado de la compilación se encuentra en:
      connectedhomeip/out/asdk/image/km0_km4_image2.bin

Escribe en la memoria flash de la pizarra

Configura el hardware de Ameba D como se muestra en el siguiente diagrama:

imagen

  1. Ve al directorio de ImageTool adecuado para tu computadora. ImageTool se usa para escribir el ejemplo en la memoria flash de tu pizarra. 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
  2. Para Linux, ve al directorio /Image_Tool_Linux/AmebaD_ImageTool:
    cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
    1. Cambia los permisos de la herramienta si es necesario. Por ejemplo, en Linux:
      chmod +x AmebaD_ImageTool
    2. Verifica el uso de la herramienta:
      ./AmebaD_ImageTool -help
  3. Escribe la imagen en la memoria flash de la placa Ameba D. Conecta el micro-B USB a la placa y el otro lado a la PC. Verifica el puerto UART y modifícalo si no está asignado a /dev/ttyUSB0:
    ./AmebaD_ImageTool -add device /dev/ttyUSB0
    command finish
    total device to add 1
    /dev/ttyUSB0 existed
  4. Copia las tres imágenes de Ameba D que compilaste antes en el directorio actual (donde 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. 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
  6. 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
  7. En la placa Ameba D, mantén presionado el botón UART_download y presiona el botón RESET. Luego, suelta el botón UART_download para ingresar al modo de descarga.
  8. Escribe la imagen en la memoria flash de la 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

Restablece la pizarra

  1. Presiona el botón RESTABLECER en la placa para reiniciar el sistema.
  2. Abre una consola en serie en la placa con minicom o screen. Por ejemplo, si el dispositivo está en /dev/ttyUSB0:
    screen /dev/ttyUSB0 115200
  3. Si la placa Ameba D se sincronizó anteriormente, te recomendamos que restablezcas su configuración de fábrica antes de continuar. Para hacerlo, ingresa ATS# en la consola:
    #
    ATS#
    xPortGetTotalHeapSize = 204800
    xPortGetFreeHeapSize = 104512
    xPortGetMinimumEverFreeHeapSize = 98176
    _[dct_init_valid_module]: erase flash address 0x001ec00

Cableado LED

Si quieres encender una luz LED con la placa, conecta la pata larga del LED (la pata positiva) a B5 y la pata corta del LED (la pata negativa) a GND. Si el LED no tiene una resistencia integrada, debes conectar una resistencia de 220 ohm entre el LED y B5.

imagen

Próximos pasos

Una vez que se haya compilado correctamente tu ejemplo de Matter, crea un proyecto de desarrollador.