Берегись! Скоро будут запущены новые программы Developer Preview. Подайте заявку здесь и станьте одним из первых, кто опробует новые инструменты и оставит отзыв.

Телинк

TLSR9518

Этот пример работает как устройство типа лампочки с возможностью включения/выключения. Шаги были проверены на макетной плате Telink TLSR9518 (также известной как макетная плата B91).

В этом примере используется тестовый идентификатор поставщика (VID) 0xFFF1 и идентификатор продукта (PID) 0x8005 .

Вид сверху на TLSR9518

Начальная настройка

Шаги в этом документе были проверены на Ubuntu 20.04.

  1. Подключите плату разработчика к хост-компьютеру с помощью адаптера USB-UART для последовательной консоли:

    • Подключите PB2 разъема J34 (обозначен TX выше) на плате разработчика к RXD адаптера.
    • Подключите GND разъема J56 (обозначенного выше GND ) к GND адаптера.
  2. Подключите одну сторону Burning Key (черный ящик с четырьмя светодиодами) к хост-компьютеру с помощью кабеля USB A Male-to-Mini B, а другую сторону — к плате разработчика с помощью другого кабеля USB A Male-to-Mini B. следующим образом:

    Подключение TLSR9518

  3. Скачать LinuxBDT:

    wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
    tar -xvf LinuxBDT.tar.bz2
    
  4. Установите Docker Engine ( не используйте Docker Desktop).

  5. Запустите контейнер Docker (в первый раз это займет некоторое время):

    docker run -it --rm -v $PWD:/host -w /host connectedhomeip/chip-build-telink:$(wget -q -O - https://raw.githubusercontent.com/project-chip/connectedhomeip/v1.0-branch/.github/workflows/examples-telink.yaml 2> /dev/null | grep chip-build-telink | awk -F: '{print $NF}')
    
  6. В контейнере Docker клонируйте и инициализируйте github-репозиторий Matter SDK ( 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 telink
    source ./scripts/activate.sh
    

Создайте образ и прошейте плату

  1. В контейнере Docker соберите lighting-app , а затем выйдите из Docker:

    cd examples/lighting-app/telink
    rm -rf build
    west build
    exit
    
  2. Прошиваем изображение на доску:

    cd LinuxBDT
    sudo ./bdt 9518 sws # Verify the connection
    sudo ./bdt 9518 ac # Activate MCU
    sudo ./bdt 9518 wf 0 -s 2040k -e # Erase flash sectors
    sudo ./bdt 9518 wf 0 -i ../connectedhomeip/examples/lighting-app/telink/build/zephyr/zephyr.bin
    sudo ./bdt 9518 rst -f # Reset MCU
    

    Если предыдущие шаги выполнены успешно, следующие команды должны выдать аналогичный вывод в терминале:

    sudo ./bdt 9518 sws
     TC32 EVK: Swire ok!
    sudo ./bdt 9518 ac
    Activate OK!
    sudo ./bdt 9518 wf 0 -s 2040k -e
    EraseSectorsize...
    Total Time: 26973 ms
    sudo ./bdt 9518 wf 0 -i ../connectedhomeip/examples/lighting-app/telink/build/zephyr/zephyr.bin
    EraseSectorsize...
    Total Time: 9806 ms
    Flash writing...
    [ 0%]Flash Bytes Program at address 0
    ...
    [100%]Flash Bytes Program at address b6d00
    File Download to Flash at address 0x000000: 748836 bytes
    Total Time: 191337 ms
    sudo ./bdt 9518 rst -f
    Total Time: 72 ms
    reset mcu

Проверить пример

  1. Устройство должно представить себя как последовательное USB-устройство на вашем компьютере. Вы можете посмотреть его в /dev :

    ls -la /dev/tty*
    

    Вы можете открыть последовательную консоль с помощью GNU screen или minicom . Например, если устройство находится в /dev/ttyACM0 :

    screen /dev/ttyACM0 115200
    
  2. Чтобы сбросить плату, нажмите кнопку CHIP_RESET , и вы должны увидеть в терминале такой вывод:

    *** Booting Zephyr OS build v3.1.0-rc1-3593-gdac17979d626  ***
    I: Init CHIP stack
    I: Starting CHIP task
    ...
    I: 812 [DL]BLEManagerImpl::ConfigureAdvertisingData
    I: 823 [DL]Setting device name to : "TelinkMatter"
    ...
    I: 1093 [SVR]SetupQRCode: [MT:NOTAREALQRCODE01234]
    I: 1099 [SVR]Copy/paste the below URL in a browser to see the QR Code:
    I: 1107 [SVR]https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3ANOTAREALQRCODE01234
    I: 1118 [SVR]Manual pairing code: [34970112332]
    I: 1124 [DL]Setting device name to : "TelinkLight"
    
  3. После успешного ввода платы в эксплуатацию вы можете управлять синим светодиодом, нажав кнопку SW3 K2 . Каждое нажатие приводит к тому, что светодиод попеременно включается или выключается, а в терминале появляется следующий вывод:

    I: Turn On Action has been initiated
    I: Turn On Action has been completed
    D: 1058359 [DMG]Endpoint 1, Cluster 0x0000_0006 update version to 92b92035
    ...
    I: 1058365 [ZCL]Cluster OnOff: attribute OnOff set to 1
    ...
    D: 1058372 [DMG]Endpoint 1, Cluster 0x0000_0008 update version to 7ea4bc9c
    ...
    I: 1058378 [ZCL]Cluster LevelControl: attribute CurrentLevel set to 254
    
  4. Чтобы сбросить плату до заводских настроек, нажмите кнопку SW2 K1 , и вы должны увидеть вывод, подобный этому, в терминале:

    I: Factory Reset triggered.
    

Следующие шаги

Когда ваш пример Matter будет успешно построен, создайте проект разработчика .