Силиконовые лаборатории

ЭФР32МГ24

Этот пример функционирует как тип устройства с лампочкой с возможностью включения/выключения. Действия были проверены на плате разработки SiLabs EFR32MG24.

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

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

  1. Установите зависимости, указанные в репозитории connectedhomeip :
    1. Строительная материя
    2. Создание примера освещения EFR32
  2. Установите Simplicity Commander и убедитесь, что его двоичный файл (коммандер) находится в вашем PATH . Например:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. Установите JLink на свой компьютер (необходим для мигания изображения), как описано в разделе «Просмотр результатов журнала для примера освещения EFR32».
  4. Клонируйте и инициализируйте репозиторий connectedhomeip :
    cd ~
    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git fetch origin v1.0-branch
    git checkout FETCH_HEAD
    git submodule update --init --recursive
    source ./scripts/activate.sh
  5. Экспортировать переменные среды:
    1. Если ваша плата имеет версию 10 дБм, используйте BRD4186C :
      export EFR32_BOARD=BRD4186C
    2. Если ваша плата имеет версию 20 дБм, используйте BRD4187C :
      export EFR32_BOARD=BRD4187C

Собираем образ и прошиваем плату

  1. Создайте образ для приложения освещения:
    cd examples/lighting-app/efr32
    source third_party/connectedhomeip/scripts/activate.sh
    gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
    ninja -C out/debug
    Изображение будет создано в папке out/debug .
  2. Подключите плату EFR32 к компьютеру и запишите образ на плату EFR32:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

Установить загрузчик

  1. Откройте Simplicity Commander:
    commander
  2. Откройте раскрывающийся список «Выбрать комплект...» в верхнем левом углу и выберите комплект для прошивки с помощью загрузчика. Это меню заполнено всеми обнаруженными устройствами JLink и перечисляет их по серийным номерам. Для облегчения выбора отключите все устройства с поддержкой JLink, кроме устройства, которое нужно прошить, чтобы список был заполнен только одним комплектом.
  3. Выберите плитку Flash слева.
  4. В разделе Flash MCU нажмите «Обзор» .
  5. Перейдите к connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries и найдите файл .s37 , соответствующий установленной вами переменной среды EFR32_BOARD :

    1. Если ваша плата имеет версию 10 дБм и вы использовали BRD4186C , выберите bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37 .
    2. Если ваша плата имеет версию 20 дБм и вы использовали BRD4187C , выберите bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37 .

    Нажмите «Открыть» , чтобы выбрать файл.

  6. Нажмите «Вспышка» .

Обратите внимание, что после прошивки загрузчика при последующей прошивке приложения флаг --erase должен быть опущен, иначе загрузчик придется прошивать заново . Флаг --erase стирает всю флэш-память платы, включая загрузчик.

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

  1. Проверьте логи с вашей доски. Откройте два окна терминала.
    1. В первом окне:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Во втором окне:
      JLinkRTTClient
      Журналы будут распечатаны во втором окне.
  2. Устройство должно представить себя как последовательное USB-устройство на вашем компьютере. Вы можете посмотреть его в /dev/ :
    ls -la /dev/tty*
    Вы можете открыть последовательную консоль с помощью minicom или экрана. Например, если устройство находится по адресу /dev/ttyACM0 :
    screen /dev/ttyACM0 115200
    Последовательная консоль позволяет вводить команды OpenThread (например, state ).
  3. Если плата EFR32 уже была сопряжена, рекомендуется выполнить ее сброс до заводских настроек :
    1. Нажмите и удерживайте кнопку PB0 более 10 секунд.
    2. Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.

ЭФР32МГ12

Этот пример функционирует как тип устройства с лампочкой с возможностью включения/выключения. Действия были проверены на плате разработки SiLabs EFR32MG12 (Mighty Gecko).

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

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

  1. Установите зависимости, указанные в репозитории connectedhomeip :
    1. Строительная материя
    2. Создание примера освещения EFR32
  2. Установите Simplicity Commander и убедитесь, что его двоичный файл (коммандер) находится в вашем PATH . Например:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. Установите JLink на свой компьютер (необходим для мигания изображения), как описано в разделе «Просмотр результатов журнала для примера освещения EFR32».
  4. Клонируйте и инициализируйте репозиторий connectedhomeip :
    cd ~
    git clone https://github.com/project-chip/connectedhomeip.git
    cd connectedhomeip
    git fetch origin v1.0-branch
    git checkout FETCH_HEAD
    git submodule update --init --recursive
    source ./scripts/activate.sh
  5. Экспортировать переменные среды:
    export EFR32_BOARD=BRD4161A

Собираем образ и прошиваем плату

  1. Создайте образ для приложения освещения:
    cd examples/lighting-app/efr32
    source third_party/connectedhomeip/scripts/activate.sh
    gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
    ninja -C out/debug
    Изображение будет создано в папке out/debug .
  2. Подключите плату EFR32 к компьютеру и запишите образ на плату EFR32:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

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

  1. Проверьте логи с вашей доски. Откройте два окна терминала.
    1. В первом окне:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Во втором окне:
      JLinkRTTClient
      Журналы будут распечатаны во втором окне.
  2. Устройство должно представить себя как последовательное USB-устройство на вашем компьютере. Вы можете посмотреть его в /dev/ :
    ls -la /dev/tty*
    Вы можете открыть последовательную консоль с помощью minicom или экрана. Например, если устройство находится по адресу /dev/ttyACM0 :
    screen /dev/ttyACM0 115200
    Последовательная консоль позволяет вводить команды OpenThread (например, state ).
  3. Если плата EFR32 уже была сопряжена, рекомендуется выполнить ее сброс до заводских настроек :
    1. Нажмите и удерживайте кнопку PB0 более 10 секунд.
    2. Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.

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

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