Joitakin käyttötapoja Seeed Studio XIAO MG24 Sense ja Standard

Mitä ne ovat?

Seeed Studio XIAO MG24 ja XIAO MG24 Sense ovat erittäin vähävirtaisia langattomia kehitysalustoja, jotka perustuvat Silicon Labsin EFR32MG24 SoC:hen ja joissa on tehokas 78MHz ARM Cortex®-M33 -ydin. Molemmat alustat tukevat natiivisti Matter® -protokollaa Thread® ja Bluetooth® Low Energy 5.3 -yhteyksien kautta, ja ne ovat yhteensopivia Arduinon® Core -alustan kanssa. Ne sisältävät 4 Mt Flash-muistia, 19 GPIO-pinniä, LEDin ja latauspiirin. Niiden käyttövirta on erittäin alhainen ja niissä on ultra-vähävirtaiset tilat, mikä tekee niistä ihanteellisia IoT-sovelluksiin, erityisesti paristokäyttöisiin projekteihin, jotka hyödyntävät Matter®-protokollia. Lisäksi XIAO MG24 Sense sisältää sisäänrakennetun analogisen mikrofonin ja kuusikanavaiset IMU-anturit, mikä tekee siitä erinomaisen valinnan TinyML-sovelluksiin, kuten asentotunnistukseen. Lisätietoja saat napsauttamalla täältä.

Seeed Studio XIAO MG24 Silicon Labs EFR32MG24 BLE 5.3 1,95μA

Seeed Studio XIAO MG24 Standard

Näytä tuote
Seeed Studio XIAO MG24 Sense Silicon Labs EFR32MG24 BLE 5.3

Seeed Studio XIAO MG24 Sense

Näytä tuote

Aloittaminen

yksinkertainen tehdasohjelma

XIAO MG24

Standard-versiossa on tehdasasetuksena ohjelma nimeltä Blink Light. Kun käynnistät XIAO:n, oranssi käyttäjäindikaattori syttyy.

XIAO MG24 Sense

Tehdasasetuksena Sense-versiossa ohjelma on suunniteltu siten, että mitä kovempaa huudat, sitä kirkkaammin valo loistaa.

Laitteiston valmistelu

  • 1 x Seeed Studio XIAO MG24
  • 1 x Tietokone
  • 1 x USB Type-C -kaapeli
huomautus: Jotkut USB-kaapelit voivat vain syöttää virtaa eivätkä siirrä dataa.

Ohjelmiston valmistelu

XIAO MG24:lle suositeltu ohjelmointityökalu on Arduino IDE, joten ohjelmiston valmistelun ensimmäinen vaihe on Arduino-asennuksen suorittaminen.
  • Vaihe 1. Lataa ja asenna vakaa versio Arduino IDE:stä käyttöjärjestelmäsi mukaan.
  • Vaihe 2. Käynnistä Arduino-sovellus.
  • Vaihe 3. Lisää XIAO MG24 -korttipaketti Arduino IDE:hen ja napsauta OK.
  • Vaihe 4. Sulje Arduino IDE ja avaa se uudelleen.

Lisää XIAO MG24 -kortti

Lisää alla oleva URL-osoite Arduino IDE:n asetuksiin.

Lataa XIAO MG24 -korttipaketti.


Valitse XIAO_MG24-versio.


Aloita ensimmäinen Blink-ohjelmasi

  • Vaihe 1. Käynnistä Arduino-sovellus.
  • Vaihe 2. Siirry kohtaan Tiedosto > Esimerkit > 01.Perusteet > Vilkku ja avaa ohjelma.
  • Vaihe 3. Valitse XIAO MG24 -levymalli ja valitse sopiva porttinumero ohjelman lataamista varten.

Kun ohjelma on ladattu onnistuneesti, näet alla olevan tulostusviestin ja huomaat, että XIAO MG24:n oikealla puolella oleva oranssi LED vilkkuu.

Akun käyttö

Akun liittäminen ja hallinta

XIAO MG24:ssa on sisäänrakennettu virranhallintapiiri, jonka avulla se voi toimia itsenäisesti akulla tai ladata akkua USB-portin kautta.
Jos aiot liittää akun XIAO:hon, suosittelemme käyttämään sertifioitua 3,7 V ladattavaa litiumakkua. Kun juotat akkua, varmista, että tunnistat oikein positiivisen ja negatiivisen navan. Negatiivinen napa tulee liittää USB-porttia lähimpänä olevalle puolelle, ja positiivinen napa USB-portista kauimpana olevalle puolelle.

Lataustilan näyttö

Olemme toteuttaneet punaisen merkkivalon näyttämään akun lataustilan, jotta käyttäjät pysyvät ajan tasalla latauksen aikana.
  • Ilman akkua kytkettynä: Punainen valo syttyy, kun Type-C-kaapeli on kytketty, ja sammuu automaattisesti 30 sekunnin kuluttua.
  • Lataus akun ollessa kytkettynä: Punainen valo vilkkuu, kun Type-C-kaapeli lataa akkua.
  • Kun akku on täysin ladattu: Punainen valo sammuu, mikä ilmoittaa latausprosessin valmistumisesta.

Muut huomautukset

  • Käytä hyväksyttyjä paristoja: Käytä vain paristoja, jotka täyttävät määritellyt vaatimukset.
  • Datakaapelin liitäntä: XIAO voidaan liittää tietokoneeseen datakaapelilla samalla kun se toimii paristolla. Voit olla varma, että siinä on sisäänrakennettu piirikytkentäsuoja turvallisuuden takaamiseksi.
  • LED-ilmaisin: Kun laite toimii paristolla, XIAO MG24 ei näytä LED-valoja (ellei sitä ole ohjelmoitu näyttämään). Älä arvioi XIAO MG24:n toimintaa LED-valojen perusteella; luota ohjelmaasi oikean arvion saamiseksi.
  • Akun tason seuranta: Valitettavasti emme tällä hetkellä voi tarjota tapaa tarkistaa jäljellä oleva akun taso ohjelmiston kautta (chipin nastojen puutteen vuoksi). Sinun tulisi ladata akkua säännöllisesti tai käyttää yleismittaria akun tason seuraamiseen.

Akun jännitteen mittaus

Ohjelmistokoodi:

 

/*
  AnalogReadSerial

  Lukee analogisen tulon nastasta 0, tulostaa tuloksen Serial Monitoriin.
  Graafinen esitys on saatavilla Serial Plotterin kautta (Työkalut > Serial Plotter -valikko).
  Kiinnitä potentiometrin keskimmäinen nasto A0-nastaan ja ulkonastat +5V:iin ja maahan.

  Tämä esimerkkikoodi on julkisessa käytössä.

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

// asetusrutiini suoritetaan kerran, kun painat reset-nappia:
void setup() {
  Serial.begin(115200);
  pinMode(PD3, OUTPUT);
  digitalWrite(PD3, HIGH);
}

void loop() {
  int janniteArvo = analogRead(PD4);
  float jannite = voltageValue * (5.0 / 4095.0);
  
  Serial.print("Jännite: ");
  Serial.print(voltage, 2);
  Serial.println(" V");
  delay(1000);  // viive lukujen välillä vakauden vuoksi
}

Näytä tulos

Syvä uni ja uniesimerkki

Demo1 Unetila ja herätys

 


/*
   ArduinoLowPower ajastettu uniesimerkki

   Esimerkki näyttää Arduino Low Power -kirjaston peruskäytön laittamalla laitteen nukkumaan tietyn ajanjakson ajaksi.
   Laite siirtyy unetilaan 2000 ms ajaksi. Unen aikana CPU pysähtyy, mutta RAM säilyttää sisältönsä.

   Tämä esimerkki on yhteensopiva kaikkien Silicon Labsin Arduino-lautojen kanssa.

   Tekijä: Tamas Jozsi (Silicon Labs)
 */

#include "ArduinoLowPower.h"

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  Serial.println("Uni ajastetulla herätyksellä");
}

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

  Serial.printf("Mennään nukkumaan kello %lu\n", millis());
  LowPower.sleep(2000);
  Serial.printf("Herätty kello %lu\n", millis());
}

Demo2 Syvä unetila ja herätys

 

/*
   ArduinoLowPower syvälepotilan esimerkki ulkoisella tai ajoitetulla herätyksellä

   Esimerkki näyttää Arduino Low Power -kirjaston peruskäytön asettamalla laitteen syvään lepotilaan.
   Laite pysyy syvässä lepotilassa, kunnes lepotimeri vanhenee.
   Syvässä lepotilassa koko laite on sammutettuna lukuun ottamatta minimimäärää oheislaitteita (kuten varmuuskopio-RAM ja RTC).
   Tämä tarkoittaa, että CPU pysähtyy ja RAMin sisältö menetetään – laite käynnistyy sketsin alusta herättyään.

   Tämä esimerkki on yhteensopiva kaikkien Silicon Labsin Arduino-lautojen kanssa.

   Tekijä: Tamas Jozsi (Silicon Labs)
 */

#include "ArduinoLowPower.h"

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LED_BUILTIN_INACTIVE);
  Sarjaportti tulostaa "Syvälepotilan ajoitettu herätys"
}

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

  Serial.printf("Going to deep sleep for 10s at %lu\n", millis());
  LowPower.deepSleep(10000);
}

 

Demo3 Syvälepotila flashilla ja herätyksellä

Syvälepotilan sallimiseksi flashille, sinun täytyy aktivoida 0xb9-rekisteri.
 

/*
   ArduinoLowPower syvälepotilan esimerkki ulkoisella tai ajoitetulla herätyksellä

   Esimerkki näyttää Arduino Low Power -kirjaston peruskäytön asettamalla laitteen syvään lepotilaan.
   Laite pysyy syvässä lepotilassa, kunnes lepotimeri vanhenee.
   Syvässä lepotilassa koko laite on sammutettuna lukuun ottamatta minimimäärää oheislaitteita (kuten varmuuskopio-RAM ja RTC).
   Tämä tarkoittaa, että CPU pysähtyy ja RAMin sisältö menetetään – laite käynnistyy sketsin alusta herättyään.

   Tämä esimerkki on yhteensopiva kaikkien Silicon Labsin Arduino-lautojen kanssa.

   Tekijä: Tamas Jozsi (Silicon Labs)
 */
#include <Arduino.h>
#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("Syvän lepotilan ajoitettu herätys");
  writeEnable();
  digitalWrite(CS_PIN, LOW);
  sendSPI(0xB9);
  digitalWrite(CS_PIN, HIGH);
}

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

  //Serial.printf("Mennään syvään lepotilaan 10 sekunniksi kohdassa %lu\n", millis());
  LowPower.deepSleep(600000);
}

XIAO MG24:n suojaaminen brickaukselta syvässä lepotilassa

Seeed Studion XIAO MG24 on tehokas mikrokontrollerikortti, mutta käyttäjät ovat kohdanneet ongelmia, joissa laite lakkaa toimimasta ("bricked") siirryttäessä syvään lepotilaan. Tämä opas käsittelee ongelman juurisyyn, kuvaa palautusprosessin ja antaa vinkkejä XIAO MG24:n brickauksen estämiseksi.
Kun XIAO MG24 siirtyy syvään lepotilaan (EM4) virran säästämiseksi, se saattaa epäonnistua heräämisessä kunnolla, estäen uusien sketsien latauksen. Toisin kuin muilla XIAO-levyillä, MG24:ssä ei ole BOOT-painiketta tai selkeästi dokumentoitua tapaa siirtyä boot-tilaan, mikä tekee palautuksesta monimutkaisempaa.
Yksityiskohtaisiin palautusohjeisiin jatka lukemista alla.

1.Käytä pakenemispinniä (PC0)

XIAO MG24:ssä on sisäänrakennettu pakenemismekanismi estämään laitteen jumittuminen. Jos PC0 vedetään LOW-tilaan nollauksen aikana, laite siirtyy äärettömään silmukkaan, jolloin voit ladata uuden sketsin.
  • Yhteys: Yhdistä PC0 maahan ennen laitteen nollausta.
  • Lataus: Nollauksen jälkeen lataa sketsisi laitteen ollessa silmukassa.

2.Muokkaa sketsiäsi

Lisää seuraava koodi sketsiisi käyttäjän kytkimen havaitsemiseksi. Jos kytkin painetaan, laite siirtyy äärettömään silmukkaan, jolloin voit ladata uuden sketsin laitteen silmukoidessa:
 

#define USER_SW  PC3   // Esimerkkipinni käyttäjän kytkimelle

void setup() {
  // Muu alustus koodi...

  pinMode(USER_SW, INPUT_PULLUP);
  if (digitalRead(USER_SW) == LOW) {
    Serial.println("Salli uuden sketsin lataus");
    while (true) {
      digitalWrite(LED_BUILTIN, LOW);
      delay(50);
      digitalWrite(LED_BUILTIN, HIGH);
      delay(50);
    }
  }
}

3.Vältä tarpeetonta flash-muistin lepotilaa

Varmista, ettei koodisi laita flash-muistia lepotilaan (Deep Power Down) ellei se ole ehdottoman välttämätöntä. Tämä voi estää ongelmia uusien koodien latauksessa. Flash-muistin pitäminen aktiivisena varmistaa sujuvamman latausprosessin ja estää laitteen mahdollisen toimimattomuuden.

Ratkaisut sarjaportin käyttöön ja palautukseen

Windows-ratkaisut

1.Lataa annettu ZIP-tiedosto.

2.Yhdistä XIAO MG24

Käytä USB-kaapelia yhdistääksesi reagoimattoman XIAO MG24:n tietokoneeseesi.

3.Suorita skripti

Avaa purettu kansio ja etsi flash_erase.bat skripti.
Kaksoisnapsauta skriptiä suorittaaksesi sen. Tämä tyhjentää flash-muistin ja nollaa laitteen.

4.Vahvista palautus

Skriptin suorittamisen jälkeen XIAO MG24 tulisi palautua ja olla käyttövalmis.

macOS-ratkaisut

1.Lataa annettu ZIP-tiedosto.

2.Yhdistä XIAO MG24

Käytä USB-kaapelia yhdistääksesi reagoimattoman XIAO MG24:n tietokoneeseesi.

3.Salli Liitin Käyttöoikeudet

  • Avaa Järjestelmäasetukset: Siirry kohtaan Järjestelmäasetukset Macillasi.
  • Siirry kohtaan Suojaus ja yksityisyys: Napsauta Suojaus ja yksityisyyssitten siirry kohtaan Yksityisyys välilehdellä.
  • Tarkista saavutettavuus: Saavutettavuus osiossa varmista, että Terminalilla on lupa ohjata tietokonettasi.
  • Lisää Terminal tarvittaessa: Jos Terminal ei ole listalla, napsauta + -painiketta lisätäksesi sen manuaalisesti. Valitse Terminal Sovellukset-kansiostasi.

4.Suorita skripti

  • Avaa Terminal.
  • Siirry purettuun kansioon käyttämällä cd komentoa. Esimerkiksi:
  • Suorita skripti käyttämällä ./xiao_mg24_erase.sh. Tämä tyhjentää flash-muistin ja nollaa laitteen.

5. Vahvista palautus

Skriptin suorittamisen jälkeen XIAO MG24 tulisi palautua ja olla käyttövalmis.

Huomautus

Jos macOS ei tunnista OpenOCD:ta, varmista, että OpenOCD on asennettu ja että skripti käyttää oikeaa polkua. Lisäksi tarjotut skriptit on räätälöity erityisesti XIAO MG24:lle, eikä niitä tule käyttää muiden XIAO-mallien kanssa.

Muut tiedot

UKK

Onko saatavilla yksityiskohtaista tietoa tai parametreja Seeed Studio XIAO MG24 Sense- tai Standard-malleista?

 

Sivupalkki

Uusin julkaisu

Tässä osiossa ei ole tällä hetkellä sisältöä. Lisää sisältöä tähän osioon käyttämällä sivupalkkia.

Rekisteröidy uutiskirjeeseemme

Hanki viimeisimmät tiedot tuotteistamme ja erikoistarjouksistamme.