Silicon Labs

Klasse

EFR32MG24

Dieses Beispiel fungiert als Gerätetyp einer Glühbirne mit Ein-/Aus-Funktion. Die Schritte wurden auf dem SiLabs EFR32MG24-Entwicklungsboard überprüft.

In diesem Beispiel werden eine Testanbieter-ID (VID) und eine Produkt-ID (PID) von 0x8005 verwendet.

Ersteinrichtung

  1. Installieren Sie die Abhängigkeiten wie im Repository connectedhomeip angegeben:
    1. Matter erstellen
    2. Beispiel für die EFR32-Beleuchtung
  2. Installieren Sie Simplicity Commander und achten Sie darauf, dass sich dessen Binärprogramm (Commander) in PATH befindet. Beispiel:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
    .
  3. Installieren Sie JLink auf Ihrem Computer (für blinkendes Bild erforderlich), wie unter Logging-Ausgabe ansehen für das EFR32-Beleuchtungsbeispiel beschrieben.
  4. Klonen und initialisieren Sie das Repository 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. Exportieren Sie Umgebungsvariablen:
    1. Wenn es sich um eine Version mit 10 dBm handelt, verwenden Sie BRD4186C:
      export EFR32_BOARD=BRD4186C
    2. Wenn Ihr Board die 20-dBm-Version hat, verwenden Sie BRD4187C:
      export EFR32_BOARD=BRD4187C

Das Image erstellen und das Board flashen

  1. Erstelle das Bild für die Beleuchtungs-App:
    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
    Das Bild wird im Ordner out/debug generiert.
  2. Verbinden Sie das EFR32-Board mit Ihrem Computer und laden Sie das Bild auf Ihr EFR32-Board:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

Bootloader installieren

  1. Öffnen Sie Simplicity Commander:
    commander
  2. Öffnen Sie das Drop-down-Menü Kit auswählen... oben links und wählen Sie das Kit aus, das mit einem Bootloader geflasht werden soll. Dieses Menü enthält alle erkannten JLink-Geräte und listet sie nach Seriennummer auf. Trenne für eine einfachere Auswahl alle JLink-fähigen Geräte außer dem zu flashenden Gerät, sodass die Liste nur ein Kit enthält.
  3. Wähle auf der linken Seite die Kachel Flash aus.
  4. Klicken Sie im Abschnitt Flash MCU auf Browse (Durchsuchen).
  5. Gehen Sie zu connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries und suchen Sie die Datei .s37, die der von Ihnen festgelegten Umgebungsvariable EFR32_BOARD entspricht:

    1. Wenn Ihr Board die 10-dBm-Version verwendet und Sie BRD4186C verwendet haben, wählen Sie bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37 aus.
    2. Wenn Ihr Board die 20-dBm-Version verwendet und Sie BRD4187C verwendet haben, wählen Sie bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37 aus.

    Klicken Sie auf Öffnen, um die Datei auszuwählen.

  6. Klicken Sie auf Flash.

Beachten Sie, dass nach dem Flashen des Bootloaders das nachfolgende Flashen der Anwendung das Flag --erase auslassen sollte. Andernfalls muss der Bootloader neu geflasht werden. Das Flag --erase löscht den gesamten Flash des Boards, einschließlich des Bootloaders.

Beispiel validieren

  1. Prüfen Sie die Protokolle auf Ihrem Board. Öffnen Sie zwei Terminal-Fenster.
    1. Im ersten Fenster:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Im zweiten Fenster:
      JLinkRTTClient
      Die Logs werden im zweiten Fenster ausgegeben.
  2. Das Gerät sollte sich auf dem Computer als serielles USB-Gerät präsentieren. Sie können sie in /dev/ nachschlagen:
    ls -la /dev/tty*
    Sie können die serielle Konsole mit minicom oder Bildschirm öffnen. Wenn sich das Gerät beispielsweise in /dev/ttyACM0 befindet:
    screen /dev/ttyACM0 115200
    Über die serielle Konsole können Sie OpenThread-Befehle (z. B. state) eingeben.
  3. Wenn das EFR32-Board bereits gekoppelt wurde, sollten Sie es auf die Werkseinstellungen zurücksetzen:
    1. Halten Sie die Taste PB0 > 10 Sekunden lang gedrückt.
    2. Die LEDs blinken dreimal. Halten Sie die Taste gedrückt, bis der QR-Code auf dem kleinen Display aktualisiert wird.

EFR32MG12

Dieses Beispiel fungiert als Gerätetyp einer Glühbirne mit Ein-/Aus-Funktion. Die Schritte wurden auf dem Entwicklungsboard von SiLabs EFR32MG12 (Mighty Gecko) überprüft.

In diesem Beispiel werden eine Testanbieter-ID (VID) und eine Produkt-ID (PID) von 0x8005 verwendet.

Ersteinrichtung

  1. Installieren Sie die Abhängigkeiten wie im Repository connectedhomeip angegeben:
    1. Matter erstellen
    2. Beispiel für die EFR32-Beleuchtung
  2. Installieren Sie Simplicity Commander und achten Sie darauf, dass sich dessen Binärprogramm (Commander) in PATH befindet. Beispiel:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
    .
  3. Installieren Sie JLink auf Ihrem Computer (für blinkendes Bild erforderlich), wie unter Logging-Ausgabe ansehen für das EFR32-Beleuchtungsbeispiel beschrieben.
  4. Klonen und initialisieren Sie das Repository 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. Umgebungsvariablen exportieren:
    export EFR32_BOARD=BRD4161A

Das Image erstellen und das Board flashen

  1. Erstelle das Bild für die Beleuchtungs-App:
    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
    Das Bild wird im Ordner out/debug generiert.
  2. Verbinden Sie das EFR32-Board mit Ihrem Computer und laden Sie das Bild auf Ihr EFR32-Board:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

Beispiel validieren

  1. Prüfen Sie die Protokolle auf Ihrem Board. Öffnen Sie zwei Terminal-Fenster.
    1. Im ersten Fenster:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. Im zweiten Fenster:
      JLinkRTTClient
      Die Logs werden im zweiten Fenster ausgegeben.
  2. Das Gerät sollte sich auf dem Computer als serielles USB-Gerät präsentieren. Sie können sie in /dev/ nachschlagen:
    ls -la /dev/tty*
    Sie können die serielle Konsole mit minicom oder Bildschirm öffnen. Wenn sich das Gerät beispielsweise in /dev/ttyACM0 befindet:
    screen /dev/ttyACM0 115200
    Über die serielle Konsole können Sie OpenThread-Befehle (z. B. state) eingeben.
  3. Wenn das EFR32-Board bereits gekoppelt wurde, sollten Sie es auf die Werkseinstellungen zurücksetzen:
    1. Halten Sie die Taste PB0 > 10 Sekunden lang gedrückt.
    2. Die LEDs blinken dreimal. Halten Sie die Taste gedrückt, bis der QR-Code auf dem kleinen Display aktualisiert wird.

Nächste Schritte

Wenn das Matter-Beispiel erfolgreich erstellt wurde, erstellen Sie ein Entwicklerprojekt.