ЭФР32МГ12
Этот пример работает как устройство типа лампочки с возможностью включения/выключения. Шаги были проверены на макетной плате SiLabs EFR32MG12 (Mighty Gecko).
В этом примере используется тестовый идентификатор поставщика (VID) и идентификатор продукта (PID) 0x8005
.
Начальная настройка
- Установите зависимости, как указано в репозитории
connectedhomeip
: - Установите Simplicity Commander и убедитесь, что его двоичный файл (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 или screen. Например, если устройство находится вls -la /dev/tty*
/dev/ttyACM0
:
Последовательная консоль позволяет вводить команды OpenThread (например,screen /dev/ttyACM0 115200
state
). - Если плата EFR32 была сопряжена ранее, рекомендуется сбросить ее до заводских настроек :
- Нажмите и удерживайте кнопку PB0 > 10 секунд.
- Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.
ЭФР32МГ24
Этот пример работает как устройство типа лампочки с возможностью включения/выключения. Шаги были проверены на макетной плате SiLabs EFR32MG24.
В этом примере используется тестовый идентификатор поставщика (VID) и идентификатор продукта (PID) 0x8005
.
Начальная настройка
- Установите зависимости, как указано в репозитории
connectedhomeip
: - Установите Simplicity Commander и убедитесь, что его двоичный файл (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 или screen. Например, если устройство находится вls -la /dev/tty*
/dev/ttyACM0
:
Последовательная консоль позволяет вводить команды OpenThread (например,screen /dev/ttyACM0 115200
state
). - Если плата EFR32 была сопряжена ранее, рекомендуется сбросить ее до заводских настроек :
- Нажмите и удерживайте кнопку PB0 > 10 секунд.
- Светодиоды мигнут 3 раза. Продолжайте удерживать кнопку, пока не увидите обновление QR-кода на маленьком дисплее.
Следующие шаги
Когда ваш Matter example has been successfully built, create a developer project .