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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

ЭФР32МГ12

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

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

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

  1. Установите зависимости, как указано в репозитории connectedhomeip :
    1. Строительная материя
    2. Создание примера освещения EFR32
  2. Установите Simplicity Commander и убедитесь, что его двоичный файл (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 или screen. Например, если устройство находится в /dev/ttyACM0 :
    screen /dev/ttyACM0 115200
    Последовательная консоль позволяет вводить команды OpenThread (например, state ).
  3. Если плата EFR32 была сопряжена ранее, рекомендуется сбросить ее до заводских настроек :
    1. Нажмите и удерживайте кнопку PB0 > 10 секунд.
    2. Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.

ЭФР32МГ24

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

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

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

  1. Установите зависимости, как указано в репозитории connectedhomeip :
    1. Строительная материя
    2. Создание примера освещения EFR32
  2. Установите Simplicity Commander и убедитесь, что его двоичный файл (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 или screen. Например, если устройство находится в /dev/ttyACM0 :
    screen /dev/ttyACM0 115200
    Последовательная консоль позволяет вводить команды OpenThread (например, state ).
  3. Если плата EFR32 была сопряжена ранее, рекомендуется сбросить ее до заводских настроек :
    1. Нажмите и удерживайте кнопку PB0 > 10 секунд.
    2. Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.

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

Когда ваш Matter example has been successfully built, create a developer project .