Einige Verwendungsmethoden des Seeed Studio XIAO MG24 Sense und Standard

Was sind sie?

Seeed Studio XIAO MG24 und XIAO MG24 Sense sind ultra-niedrigenergie Wireless-Entwicklungsboards, basierend auf dem EFR32MG24 SoC von Silicon Labs, mit einem leistungsstarken 78MHz ARM Cortex®-M33-Kern. Beide Boards sind Matter® nativ über Thread® und Bluetooth® Low Energy 5.3 unterstützt, werden vom Arduino® Core unterstützt und verfügen über 4MB Flash, 19 GPIOs, LED und eine Ladeschaltung. Sie bieten extrem niedrigen Betriebsstrom und ultra-niedrigenergie Modi, was sie ideal für IoT-Anwendungen macht, insbesondere für batteriebetriebene Projekte, die Matter®-Protokolle nutzen. Zusätzlich verfügt das XIAO MG24 Sense über ein an Bord befindliches analoges Mikrofon und sechsachsige IMU-Sensoren, was es zu einer ausgezeichneten Wahl für TinyML-Anwendungen wie Haltungserkennung macht. Für weitere Details klicken Sie bitte hier.

Seeed Studio XIAO MG24 Silicon Labs EFR32MG24 BLE 5.3 1.95μA

Seeed Studio XIAO MG24 Standard

Produkt anzeigen
Seeed Studio XIAO MG24 Sense Silicon Labs EFR32MG24 BLE 5.3

Seeed Studio XIAO MG24 Sense

Produkt anzeigen

Erste Schritte

einfaches werkseitiges Programm

XIAO MG24

Die Standard-Version wird mit einem werkseitig vorinstallierten Programm namens Blink Light geliefert. Wenn du den XIAO einschaltest, leuchtet die orangefarbene Benutzeranzeige.

XIAO MG24 Sense

Das werkseitig vorinstallierte Programm in der Sense-Version ist so gestaltet, dass je lauter du schreist, desto heller das Licht leuchtet.

Hardware-Vorbereitung

  • 1 x Seeed Studio XIAO MG24
  • 1 x Computer
  • 1 x USB Typ-C Kabel
Hinweis: Einige USB-Kabel können nur Strom liefern und keine Daten übertragen.

Softwarevorbereitung

Für das XIAO MG24 ist das empfohlene Programmierwerkzeug die Arduino IDE, daher ist der erste Schritt der Softwarevorbereitung die vollständige Installation der Arduino-Software.
  • Schritt 1. Laden Sie die stabile Version der Arduino IDE entsprechend Ihrem Betriebssystem herunter und installieren Sie sie.
  • Schritt 2. Starten Sie die Arduino-Anwendung.
  • Schritt 3. Fügen Sie das XIAO MG24 On-Board-Paket zur Arduino IDE hinzu und klicken Sie auf OK.
  • Schritt 4. Schließen Sie die Arduino IDE und öffnen Sie sie erneut.

Fügen Sie das XIAO MG24 Board hinzu

Fügen Sie die untenstehende URL zu den Einstellungen Ihrer Arduino IDE hinzu.

Laden Sie das XIAO MG24 Board-Paket herunter.


Wählen Sie die Variante XIAO_MG24.


Beginnen Sie Ihr erstes Blink-Programm

  • Schritt 1. Starten Sie die Arduino-Anwendung.
  • Schritt 2. Navigieren Sie zu Datei > Beispiele > 01.Basics > Blink und öffnen Sie das Programm.
  • Schritt 3. Wählen Sie das XIAO MG24 Board-Modell und den entsprechenden Port zum Hochladen des Programms aus.

Nachdem das Programm erfolgreich hochgeladen wurde, sehen Sie die untenstehende Ausgabemeldung und bemerken, dass die orange LED auf der rechten Seite des XIAO MG24 blinkt.

Batterieverwendung

Batterieanschluss und -verwaltung

Das XIAO MG24 verfügt über einen integrierten Power-Management-Chip, der es ermöglicht, es unabhängig mit einer Batterie zu betreiben oder die Batterie über den USB-Anschluss zu laden.
Wenn Sie planen, eine Batterie an das XIAO anzuschließen, empfehlen wir die Verwendung einer zertifizierten 3,7V wiederaufladbaren Lithiumbatterie. Beim Löten der Batterie stellen Sie bitte sicher, dass Sie die positiven und negativen Anschlüsse korrekt identifizieren. Der Minuspol sollte an der dem USB-Anschluss nächstgelegenen Seite angeschlossen werden, während der Pluspol an der dem USB-Anschluss am weitesten entfernten Seite angeschlossen wird.

Anzeige des Ladezustands

Wir haben eine rote Kontrollleuchte implementiert, die den Ladezustand der Batterie anzeigt und die Benutzer während des Ladevorgangs über den aktuellen Status informiert.
  • Ohne angeschlossene Batterie: Die rote Leuchte geht an, wenn das Type-C-Kabel angeschlossen wird, und schaltet sich nach 30 Sekunden automatisch aus.
  • Laden mit angeschlossener Batterie: Die rote Leuchte blinkt, während das Type-C-Kabel die Batterie lädt.
  • Wenn die Batterie vollständig geladen ist: Die rote Leuchte erlischt und signalisiert damit das Ende des Ladevorgangs.

Weitere Hinweise

  • Verwenden Sie qualifizierte Batterien: Verwenden Sie nur Batterien, die den angegebenen Anforderungen entsprechen.
  • Datenkabelverbindung: Das XIAO kann während des Batteriebetriebs über ein Datenkabel mit Ihrem Computer verbunden werden. Seien Sie versichert, dass es einen integrierten Schaltkreisschutzchip für die Sicherheit besitzt.
  • LED-Anzeige: Wenn das XIAO MG24 mit Batterie betrieben wird, zeigt es keine LED-Leuchten an (es sei denn, Sie haben es so programmiert). Bitte beurteilen Sie die Funktion des XIAO MG24 nicht anhand des LED-Status; verlassen Sie sich auf Ihr Programm für eine korrekte Bewertung.
  • Batteriestandsüberwachung: Leider können wir derzeit keine Möglichkeit bieten, den verbleibenden Batteriestand über Software zu überprüfen (aufgrund fehlender verfügbarer Chip-Pins). Sie sollten die Batterie regelmäßig aufladen oder ein Multimeter verwenden, um den Batteriestand zu überwachen.

Batteriespannungsmessung

Software-Code:

 

/*
  AnalogReadSerial

  Liest einen analogen Eingang an Pin 0 aus und gibt das Ergebnis im Serial Monitor aus.
  Eine grafische Darstellung ist mit dem Serial Plotter (Werkzeuge > Serial Plotter Menü) verfügbar.
  Schließen Sie den mittleren Pin eines Potentiometers an Pin A0 an und die äußeren Pins an +5V und Masse.

  Dieser Beispielcode ist gemeinfrei.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial
*/

// Die Setup-Routine läuft einmal, wenn Sie Reset drücken:
void setup() {
  Serial.begin(115200);
  pinMode(PD3, OUTPUT);
  digitalWrite(PD3, HIGH);
}

void loop() {
  int spannungswert = analogRead(PD4);
  float spannung = spannungswert * (5.0 / 4095.0);
  
  Serial.print("Spannung: ");
  Serial.print(spannung, 2);
  Serial.println(" V");
  delay(1000);  // Verzögerung zwischen den Messungen für Stabilität
}

Ergebnis anzeigen

Tiefschlaf- und Schlafbeispiel

Demo1 Schlafmodus und Aufwachen

 


/*
   ArduinoLowPower zeitgesteuertes Schlafbeispiel

   Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power Bibliothek, indem das Gerät für eine bestimmte Zeit in den Schlaf versetzt wird.
   Das Gerät wechselt für 2000 ms in den Schlafmodus. Während des Schlafs wird die CPU gestoppt, aber der RAM behält seinen Inhalt.

   Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.

   Autor: Tamas Jozsi (Silicon Labs)
 */

#include "ArduinoLowPower.h"

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  Serial.println("Schlaf mit zeitgesteuertem Aufwachen");
}

void loop()
{
  digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE);
  delay(500);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  delay(500);

  Serial.printf("Gehe schlafen um %lu\n", millis());
  LowPower.sleep(2000);
  Serial.printf("Aufgewacht um %lu\n", millis());
}

Demo2 Tiefschlafmodus und Aufwachen

 

/*
   ArduinoLowPower Tiefschlaf-Beispiel mit externem oder zeitgesteuertem Aufwachen

   Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power-Bibliothek, indem das Gerät in den Tiefschlaf versetzt wird.
   Das Gerät bleibt im Tiefschlaf, bis der Schlaf-Timer abläuft.
   Während des Tiefschlafs wird das gesamte Gerät außer einem minimalen Satz von Peripheriegeräten (wie dem Back-up RAM und RTC) abgeschaltet.
   Das bedeutet, dass die CPU gestoppt wird und der RAM-Inhalt verloren geht – das Gerät startet nach dem Aufwachen vom Anfang des Sketches.

   Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.

   Autor: Tamas Jozsi (Silicon Labs)
 */

#include "ArduinoLowPower.h"

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  Serial.println("Tiefschlaf zeitgesteuertes Aufwachen");
}

void loop()
{
  digitalWrite(LED_BUILTIN, LED_BUILTIN_ACTIVE);
  delay(500);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  delay(500);

  Serial.printf("Gehe für 10s in den Tiefschlaf um %lu\n", millis());
  LowPower.deepSleep(10000);
}

 

Demo3 Tiefschlafmodus mit Flash und Aufwachen

Um den Tiefschlaf für den Flash zu aktivieren, müssen Sie das 0xb9-Register aktivieren.
 

/*
   ArduinoLowPower Tiefschlaf-Beispiel mit externem oder zeitgesteuertem Aufwachen

   Das Beispiel zeigt die grundlegende Verwendung der Arduino Low Power-Bibliothek, indem das Gerät in den Tiefschlaf versetzt wird.
   Das Gerät bleibt im Tiefschlaf, bis der Schlaf-Timer abläuft.
   Während des Tiefschlafs wird das gesamte Gerät außer einem minimalen Satz von Peripheriegeräten (wie dem Back-up RAM und RTC) abgeschaltet.
   Das bedeutet, dass die CPU gestoppt wird und der RAM-Inhalt verloren geht – das Gerät startet nach dem Aufwachen vom Anfang des Sketches.

   Dieses Beispiel ist mit allen Silicon Labs Arduino-Boards kompatibel.

   Autor: Tamas Jozsi (Silicon Labs)
 */
#include
#include "ArduinoLowPower.h"

#define CS_PIN PA6
#define CLK_PIN PA3
#define MOSI_PIN PA5
#define MISO_PIN PA4

#define READ_DATA 0x03
#define WRITE_ENABLE 0x06
#define PAGE_PROGRAM 0x02
#define SECTOR_ERASE 0x20

void sendSPI(byte data) {
  for (int i = 0; i < 8; i++) {
    digitalWrite(MOSI_PIN, data & 0x80);
    data <<= 1;
    digitalWrite(CLK_PIN, HIGH);
    delayMicroseconds(1);
    digitalWrite(CLK_PIN, LOW);
    delayMicroseconds(1);
  }
}

void writeEnable() {
  digitalWrite(CS_PIN, LOW);
  sendSPI(WRITE_ENABLE);
  digitalWrite(CS_PIN, HIGH);
}

void setup()
{
  //Serial.begin(115200);
  pinMode(PA7, OUTPUT);
  digitalWrite(PA7, LOW);

  pinMode(CS_PIN, OUTPUT);
  pinMode(CLK_PIN, OUTPUT);
  pinMode(MOSI_PIN, OUTPUT);
  pinMode(MISO_PIN, INPUT);


  //SW
  pinMode(PD3, OUTPUT);
  pinMode(PB5, OUTPUT);
  pinMode(PB1, OUTPUT);
  pinMode(PB0, OUTPUT);
  pinMode(PA6, OUTPUT);
  digitalWrite(PD3, LOW); //VBAT
  digitalWrite(PB5, LOW); //RF_SW
  digitalWrite(PB1, LOW); //IMU
  digitalWrite(PB0, LOW); //MIC
  digitalWrite(PA6, HIGH);  //FLASH

  //Serial.println("Deep-Sleep zeitgesteuertes Aufwachen");
  writeEnable();
  digitalWrite(CS_PIN, LOW);
  sendSPI(0xB9);
  digitalWrite(CS_PIN, HIGH);
}

void loop()
{
  delay(12000);  
  digitalWrite(PA7, HIGH);
  delay(500);

  //Serial.printf("Gehe für 10s in den Deep-Sleep bei %lu\n", millis());
  LowPower.deepSleep(600000);
}

Schutz des XIAO MG24 vor Bricking im Deep-Sleep-Modus

Das XIAO MG24 von Seeed Studio ist ein leistungsstarkes Mikrocontroller-Board, aber Nutzer haben Probleme erlebt, bei denen das Gerät nach dem Eintritt in den Deep-Sleep-Modus nicht mehr reagiert ("gebrickt" ist). Diese Anleitung behandelt die Ursache, beschreibt einen Wiederherstellungsprozess und gibt Tipps, um das Bricken Ihres XIAO MG24 zu verhindern.
Wenn das XIAO MG24 in den Deep-Sleep-Modus (EM4) wechselt, um Energie zu sparen, kann es sein, dass es nicht richtig aufwacht und das Hochladen neuer Sketches blockiert. Im Gegensatz zu anderen XIAO-Boards verfügt das MG24 nicht über einen BOOT-Knopf oder eine klar dokumentierte Methode zum Bootmodus, was die Wiederherstellung erschwert.
Für detaillierte Wiederherstellungsschritte lesen Sie unten weiter.

1. Verwenden Sie den Escape-Pin (PC0)

Das XIAO MG24 verfügt über einen eingebauten Escape-Mechanismus, um ein Brick zu verhindern. Wenn PC0 während eines Resets auf LOW gezogen wird, geht das Gerät in eine Endlosschleife, sodass Sie einen neuen Sketch hochladen können.
  • Verbindung: Verbinden Sie PC0 mit GND, bevor Sie das Gerät zurücksetzen.
  • Hochladen: Nach dem Zurücksetzen laden Sie Ihren Sketch hoch, während sich das Gerät in der Schleife befindet.

2. Ändern Sie Ihren Sketch

Fügen Sie den folgenden Code zu Ihrem Sketch hinzu, um einen Benutzerschalter zu erkennen. Wenn der Schalter gedrückt wird, geht das Gerät in eine Endlosschleife, sodass Sie einen neuen Sketch hochladen können, während das Gerät in der Schleife ist:
 

#define USER_SW  PC3   // Beispiel-Pin für Benutzerschalter

void setup() {
  // Anderer Setup-Code...

  pinMode(USER_SW, INPUT_PULLUP);
  if (digitalRead(USER_SW) == LOW) {
    Serial.println("Aktivieren, um neuen Sketch hochzuladen");
    while (true) {
      digitalWrite(LED_BUILTIN, LOW);
      delay(50);
      digitalWrite(LED_BUILTIN, HIGH);
      delay(50);
    }
  }
}

3. Vermeiden Sie unnötigen Flash-Schlaf

Stellen Sie sicher, dass Ihr Sketch den Flash-Speicher nicht in den Schlafmodus (Deep Power Down) versetzt, es sei denn, es ist unbedingt erforderlich. Andernfalls können Probleme beim Hochladen neuer Sketche auftreten. Ein aktiver Flash-Speicher sorgt für einen reibungsloseren Upload-Prozess und verhindert potenzielles "Bricking" des Geräts.

Lösungen für den Zugriff auf die serielle Schnittstelle und Wiederherstellung

Windows-Lösungen

1. Laden Sie die bereitgestellte ZIP-Datei herunter.

2. Verbinden Sie das XIAO MG24

Verwenden Sie ein USB-Kabel, um das nicht reagierende XIAO MG24 mit Ihrem Computer zu verbinden.

3. Führen Sie das Skript aus

Öffnen Sie den extrahierten Ordner und finden Sie das flash_erase.bat Skript.
Doppelklicken Sie auf das Skript, um es auszuführen. Dadurch wird der Flash-Speicher gelöscht und das Gerät zurückgesetzt.

4. Wiederherstellung überprüfen

Nach Abschluss des Skripts sollte das XIAO MG24 wiederhergestellt und einsatzbereit sein.

macOS-Lösungen

1. Laden Sie die bereitgestellte ZIP-Datei herunter.

2. Verbinden Sie das XIAO MG24

Verwenden Sie ein USB-Kabel, um das nicht reagierende XIAO MG24 mit Ihrem Computer zu verbinden.

3.Erlauben Anschluss Zugriff

  • Öffnen Sie die Systemeinstellungen: Gehen Sie zu Systemeinstellungen auf Ihrem Mac.
  • Navigieren Sie zu Sicherheit & Datenschutz: Klicken Sie auf Sicherheit & Datenschutzdann gehen Sie zum Datenschutz Tab.
  • Barrierefreiheit überprüfen: Unter dem Barrierefreiheit Abschnitt, stellen Sie sicher, dass Terminal die Steuerung Ihres Computers erlaubt ist.
  • Terminal bei Bedarf hinzufügen: Wenn Terminal nicht aufgeführt ist, klicken Sie auf die + Schaltfläche, um es manuell hinzuzufügen. Wählen Sie Terminal aus Ihrem Programme-Ordner aus.

4.Führen Sie das Skript aus

  • Terminal öffnen.
  • Navigieren Sie zum entpackten Ordner mit dem cd Befehl aus. Zum Beispiel:
  • Führen Sie das Skript mit ./xiao_mg24_erase.shDies wird den Flash-Speicher löschen und das Gerät zurücksetzen.

5. Wiederherstellung überprüfen

Nach Abschluss des Skripts sollte das XIAO MG24 wiederhergestellt und einsatzbereit sein.

Hinweis

Wenn macOS OpenOCD nicht erkennt, überprüfen Sie bitte, ob OpenOCD installiert ist und ob das Skript den korrekten Pfad verwendet. Außerdem sind die bereitgestellten Skripte speziell für das XIAO MG24 angepasst und sollten nicht mit anderen XIAO-Modellen verwendet werden.

Weitere Informationen

Häufig gestellte Fragen

Gibt es detaillierte Informationen oder Parameter zu Seeed Studio XIAO MG24 Sense oder Standard?

 

Seitenleiste

Letzter Beitrag

Dieser Abschnitt enthält derzeit keinen Inhalt. Fügen Sie über die Seitenleiste Inhalte hinzu.

Für unseren Newsletter anmelden

Erhalten Sie die neuesten Informationen über unsere Produkte und Sonderangebote.