¡Atención! Pronto se lanzarán nuevos programas de vista previa para desarrolladores. Postúlate aquí y sé una de las primeras personas en probar herramientas nuevas y enviar comentarios.

Bouffalo Lab

BL-602

Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Los pasos se verificaron en la placa de desarrollo Bouffalo Lab BL602-IoT-Matter-V1 (Wi-Fi).

En este ejemplo, se usa un ID de proveedor (VID) de prueba de 0xFFF1 y un ID de producto (PID) de 0x8005.

Diagrama de pinout para la placa de desarrollo BL602

Configuración inicial

Los pasos que se indican en este documento se validaron en Ubuntu 18.04 y 20.04.

  1. Instala las dependencias como se especifica en el repositorio connectedhomeip: Cómo compilar Matter

  2. Clona e inicializa el repositorio connectedhomeip:

    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git fetch origin v1.0-branch
    git checkout FETCH_HEAD
    ./scripts/checkout_submodules.py --platform bouffalolab --recursive
    source ./scripts/activate.sh
    

  3. Instala el SDK de Bouffalo Lab:

    cd third_party/bouffalolab/repo
    sudo bash scripts/setup.sh
    export BOUFFALOLAB_SDK_ROOT=/opt/bouffalolab_sdk

Compila la imagen y escribe la placa en la memoria flash

  1. Compila el lighting-app
    ./scripts/build/build_examples.py --target bouffalolab-bl602-iot-matter-v1-light-115200 build
  2. Conecta la placa a tu estación de escritura en la memoria flash (MacOS, Ubuntu, Windows).
  3. Establece la pizarra en el modo de descarga:
    1. Mantén presionado el botón BOOT.
    2. Presiona el botón RESTABLECER y suéltalo.
    3. Suelta el botón BOOT.
  4. El dispositivo debe presentarse como un dispositivo en serie USB en la computadora. Puedes encontrarlo en /dev/:

    ls -la /dev/tty*

    Por ejemplo, si el dispositivo está en /dev/ttyACM0, debes usar el siguiente comando para instalar la imagen en la pizarra:

    ./out/bouffalolab-bl602-iot-matter-v1-light-115200/chip-bl602-lighting-example.flash.py --port /dev/ttyACM0

  5. Para borrar una imagen existente en la pizarra, agrega --erase al comando anterior.

Valida el ejemplo

  1. Puedes abrir la consola en serie con screen o minicom. Por ejemplo, si el dispositivo está en /dev/ttyACM0:
    screen /dev/ttyACM0 115200
  2. Para restablecer la placa, presiona el botón RESTABLECER (o EN), y deberías ver un resultado como este en la terminal:
    Starting bl602 now....
    Booting BL602 Chip...
  3. Para controlar la luz LED desde la placa después de ponerla en funcionamiento correctamente, presiona el botón BOOT. Deberías ver un resultado como este en la terminal:
    [    404197][:588238200] Short press
    [    404198][:588238200] receiving event type: 0
    [    404203][:588238200] sending event type: 0
    [    404207][:588238200] receiving event type: 0
    [    404211][:588238200] Turning light ON
    [    406211][:588238200] sending event type: 1
    [    406212][:588238200] receiving event type: 1
    [    406217][:588238200] Light ON
    [    406220][:588238200] updating on/off = 1
  4. Para restablecer la configuración de fábrica de la placa, mantén presionado el botón BOOT durante 5 segundos y deberías ver un resultado como este en la terminal:
    [     37268][:588238200] LongLong press
    [     37269][:588238200] receiving event type: 0
    [     37274][:588238200] FactoryReset! please release button!!!
    [     37279][:588238200] Toggling state to 1[     37283][:588238200] brightness: 255, mHue: 0, mSaturation: 0, red: 255, green: 255, blue: 255
    [     37292][:588238200] red level: 10000
    [     38296][:588238200] Toggling state to 0[     38297][:588238200] brightness: 0, mHue: 0, mSaturation: 0, red: 0, green: 0, blue: 0
    [     38305][:588238200] red level: 0
    [     39308][:588238200] Toggling state to 1[     39309][:588238200] brightness: 255, mHue: 0, mSaturation: 0, red: 255, green: 255, blue: 255
    [     39318][:588238200] red level: 10000
    [     42323][:588238200] [DL] Easyflash erase: f/1/n
    [     42327][:588238200] [DL] Easyflash erase: f/1/i
    [     42332][:588238200] [DL] Easyflash erase: f/1/r
    [     42335][:588238200] [DL] Easyflash erase: f/1/m
    [     42340][:588238200] [DL] Easyflash erase: f/1/o
    [     42349][:588238200] [DIS] Fabric (0x1) deleted. Calling OnFabricDeletedFromStorage
    [     42403][:588238200] [DL] Easyflash erase: f/1/k/0
    [     42462][:588238200] [DL] Easyflash erase: f/1/g
    [     42465][:588238200] [DMG] AccessControl: removing fabric 1

BL-702

Este ejemplo también funciona como un tipo de dispositivo de bombilla con capacidades de activación y desactivación.

Los pasos se verificaron en una placa de desarrollo Bouffalo Lab XT-ZB6-DevKit (Thread).

En este ejemplo, se usa un ID de proveedor (VID) de prueba de 0xFFF1 y un ID de producto (PID) de 0x8005.

Diagrama de pinout para la placa de desarrollo BL702

Configuración inicial

Sigue las instrucciones de configuración de BL602 para configurar el entorno.

Compila la imagen y escribe la placa en la memoria flash

  1. Compila el lighting-app
    ./scripts/build/build_examples.py --target bouffalolab-xt-zb6-devkit-light-115200 build
  2. Conecta la placa a tu estación de escritura en la memoria flash (MacOS, Ubuntu, Windows).
  3. Establece la pizarra en el modo de descarga:
    1. Mantén presionado el botón BOOT.
    2. Presiona el botón EN y suéltalo.
    3. Suelta el botón BOOT.
  4. El dispositivo debe presentarse como un dispositivo en serie USB en la computadora. Puedes encontrarlo en /dev/:

    ls -la /dev/tty*

    Por ejemplo, si el dispositivo está en /dev/ttyACM0, debes usar el siguiente comando para instalar la imagen en la pizarra:

    ./out/bouffalolab-xt-zb6-devkit-light-115200/chip-bl702-lighting-example.flash.py --port /dev/ttyACM0

  5. Para borrar una imagen existente en la pizarra, agrega --erase al comando anterior.

Valida el ejemplo

Sigue las instrucciones de validación de BL602 para validar el ejemplo de BL702.

Próximos pasos

Cuando tu ejemplo de Matter se haya compilado correctamente, crea un proyecto de desarrollador.