ЭФР32МГ24
Этот пример функционирует как тип устройства с лампочкой с возможностью включения/выключения. Действия были проверены на плате разработки SiLabs EFR32MG24.
В этом примере используются тестовый идентификатор поставщика (VID) и идентификатор продукта (PID) 0x8005
.
Начальная настройка
- Установите зависимости, указанные в репозитории
connectedhomeip
: - Установите Simplicity Commander и убедитесь, что его двоичный файл (коммандер) находится в вашем
PATH
. Например:export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- Установите JLink на свой компьютер (необходим для мигания изображения), как описано в разделе «Просмотр результатов журнала для примера освещения EFR32».
- Клонируйте и инициализируйте репозиторий
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
- Экспортировать переменные среды:
- Если ваша плата имеет версию 10 дБм, используйте
BRD4186C
:export EFR32_BOARD=BRD4186C
- Если ваша плата имеет версию 20 дБм, используйте
BRD4187C
:export EFR32_BOARD=BRD4187C
- Если ваша плата имеет версию 10 дБм, используйте
Собираем образ и прошиваем плату
- Создайте образ для приложения освещения:
Изображение будет создано в папке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
. - Подключите плату EFR32 к компьютеру и запишите образ на плату EFR32:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
Установить загрузчик
- Откройте Simplicity Commander:
commander
- Откройте раскрывающийся список «Выбрать комплект...» в верхнем левом углу и выберите комплект для прошивки с помощью загрузчика. Это меню заполнено всеми обнаруженными устройствами JLink и перечисляет их по серийным номерам. Для облегчения выбора отключите все устройства с поддержкой JLink, кроме устройства, которое нужно прошить, чтобы список был заполнен только одним комплектом.
- Выберите плитку Flash слева.
- В разделе Flash MCU нажмите «Обзор» .
Перейдите к
connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries
и найдите файл.s37
, соответствующий установленной вами переменной средыEFR32_BOARD
:- Если ваша плата имеет версию 10 дБм и вы использовали
BRD4186C
, выберитеbootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37
. - Если ваша плата имеет версию 20 дБм и вы использовали
BRD4187C
, выберитеbootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37
.
Нажмите «Открыть» , чтобы выбрать файл.
- Если ваша плата имеет версию 10 дБм и вы использовали
Нажмите «Вспышка» .
Обратите внимание, что после прошивки загрузчика при последующей прошивке приложения флаг --erase
должен быть опущен, иначе загрузчик придется прошивать заново . Флаг --erase
стирает всю флэш-память платы, включая загрузчик.
Подтвердить пример
- Проверьте логи с вашей доски. Откройте два окна терминала.
- В первом окне:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- Во втором окне:
Журналы будут распечатаны во втором окне.JLinkRTTClient
- В первом окне:
- Устройство должно представить себя как последовательное USB-устройство на вашем компьютере. Вы можете посмотреть его в
/dev/
:
Вы можете открыть последовательную консоль с помощью minicom или экрана. Например, если устройство находится по адресуls -la /dev/tty*
/dev/ttyACM0
:
Последовательная консоль позволяет вводить команды OpenThread (например,screen /dev/ttyACM0 115200
state
). - Если плата EFR32 уже была сопряжена, рекомендуется выполнить ее сброс до заводских настроек :
- Нажмите и удерживайте кнопку PB0 более 10 секунд.
- Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.
ЭФР32МГ12
Этот пример функционирует как тип устройства с лампочкой с возможностью включения/выключения. Действия были проверены на плате разработки SiLabs EFR32MG12 (Mighty Gecko).
В этом примере используются тестовый идентификатор поставщика (VID) и идентификатор продукта (PID) 0x8005
.
Начальная настройка
- Установите зависимости, указанные в репозитории
connectedhomeip
: - Установите Simplicity Commander и убедитесь, что его двоичный файл (коммандер) находится в вашем
PATH
. Например:export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- Установите JLink на свой компьютер (необходим для мигания изображения), как описано в разделе «Просмотр результатов журнала для примера освещения EFR32».
- Клонируйте и инициализируйте репозиторий
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
- Экспортировать переменные среды:
export EFR32_BOARD=BRD4161A
Собираем образ и прошиваем плату
- Создайте образ для приложения освещения:
Изображение будет создано в папке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
. - Подключите плату EFR32 к компьютеру и запишите образ на плату EFR32:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
Подтвердить пример
- Проверьте логи с вашей доски. Откройте два окна терминала.
- В первом окне:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- Во втором окне:
Журналы будут распечатаны во втором окне.JLinkRTTClient
- В первом окне:
- Устройство должно представить себя как последовательное USB-устройство на вашем компьютере. Вы можете посмотреть его в
/dev/
:
Вы можете открыть последовательную консоль с помощью minicom или экрана. Например, если устройство находится по адресуls -la /dev/tty*
/dev/ttyACM0
:
Последовательная консоль позволяет вводить команды OpenThread (например,screen /dev/ttyACM0 115200
state
). - Если плата EFR32 уже была сопряжена, рекомендуется выполнить ее сброс до заводских настроек :
- Нажмите и удерживайте кнопку PB0 более 10 секунд.
- Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.
Следующие шаги
Когда ваш пример Matter будет успешно построен, создайте проект разработчика .