Bluetooth IoT -sovellusten nopea prototyyppikehitys kehityssarjan ja valmiiden lisäkorttien avulla

Kirjoittaja Stephen Evanczuk

Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa

Verkkoon liitettyjen älylaitteiden kysyntä tarjoaa paljon mahdollisuuksia kehittäjille, jotka pystyvät muuntamaan konseptit nopeasti toimiviksi esineiden internet (IoT) -sovelluksiksi. Energiatehokkaiden prosessoreiden, langattomien yhteysvaihtoehtojen ja monenlaisten oheislaitteiden saatavuus tarjoaa vankan perustan sopivien virtaa säästävien ja tuotantovalmiiden mallien toteuttamiselle.

Tuotemäärityksen alkuvaiheessa kehittäjät tarvitsevat kuitenkin joustavan kehitysalustan nopeiden prototyyppien rakentamiseen käyttäen saman luokan prosessoreita, yhteysalijärjestelmiä ja oheislaitteita. Kyky rakentaa nopeasti toimivia prototyyppejä ja lisätä helposti toimintoja on olennaisen tärkeää konseptin todentamiseksi varhaisessa vaiheessa ja asiakaskohtaisen ohjelmistokehityksen tukemiseksi.

Tässä artikkelissa kerrotaan, miten kehittäjät voivat rakentaa Silicon Labsin laitteistoilla ja ohjelmistoilla nopeasti erikoistuneita, energiatehokkaasti yhdistettäviä IoT-laitteiden prototyyppejä käyttäen saatavilla olevien valmiiden lisäkorttien laajaa valikoimaa.

Nopean prototyyppikehityksen mahdollistaminen

Kun kehittäjät kartoittavat uusia mahdollisuuksia paristokäyttöisille langattomille IoT-laitteille, he voivat hukkua toimivan kehitysalustan luontiin liittyviin moniin yksityiskohtiin. Monipuoliset järjestelmäpiirit (SoC) voivat muodostaa integroitujen alijärjestelmiensä ansiosta tällaisen alustan ytimen, mutta kehittäjien on silti rakennettava täydellinen järjestelmä niiden ympärille.

Jotta näille laitteille voidaan rakentaa sopiva kehitysalusta, kehittäjien on paitsi täytettävä luotettavaa suorituskykyä ja paristojen pitkäaikaista kestoikää koskevat perusvaatimukset, mutta myös integroitava joustavuus kunkin sovelluksen erityisvaatimusten tukemiseksi. Silicon Labs BGM220-EK4314A Explorer Kit täyttää nämä tarpeet. Sen avulla kehittäjät voivat keskittyä uusien suunnittelukonseptien nopeaan prototyyppikehitykseen oman kehitysalustan rakentamiseen liittyvistä yksityiskohdista huolehtimisen sijasta.

Joustava ja nopea kehitysalusta

BGM220-EK4314A Explorer Kit tarjoaa edullisen alustan Bluetooth-pohjaisten sovellusten kehittämiseen. Siinä yhdistyvät SiLabsin BGM220P Wireless Gecko -moduuli (BGM220PC22HNA), sisäänrakennettu SEGGER J-Link -debuggeri, painike, valodiodi (ledi) ja useita laajennusvaihtoehtoja (kuva 1).

Kuvassa SiLabs BGM220-EK4314A Explorer KitKuva 1: SiLabs BGM220-EK4314A Explorer Kit tarjoaa prosessointitehoa, energianhallintaa ja joustavuutta konfigurointiin, joita kaikkia tarvitaan prototyyppien nopeaan rakentamiseen ja erilaisten oheislaitteistokonfiguraatioiden arviointiin. (Kuvan lähde: Silicon Labs)

BGM220P-moduuli on täydellinen ratkaisu pienille paristokäyttöisille IoT-laitteille. Siihen integroitu EFR32BG22 Blue Gecko -järjestelmäpiiri tarjoaa erittäin alhaisen virrankulutuksen, Bluetooth-tulokulma- (AoA) ja lähtökulmaominaisuudet (AoD) sekä alle yhden metrin sijaintitarkkuuden. Kaikkia näitä ominaisuuksia tarvitaan suosittujen Bluetooth-sovellusten kasvavassa joukossa, kuten omaisuuden seurantatunnisteissa, älykkäissä ovilukoissa, kuntoilussa ja niin edelleen.

BGM220P-moduulissa, joka voi toimia itsenäisenä järjestelmänä, yhdistyvät EFR32BG22-järjestelmäpiiri, 512 kilotavun flash-muisti, 32 kilotavun RAM-muisti, korkeataajuiset (HF) ja matalataajuiset (LF) kiteet (XTAL) sekä 2,4 gigahertsin (GHz) sovitusverkko ja keraaminen antenni langatonta yhteyttä varten (kuva 2).

Kaaviossa SiLabs BGM220P -moduuliKuva 2: SiLabsin BGM220P-moduulissa, joka voi toimia itsenäisenä järjestelmänä, yhdistyvät EFR32BG22 Blue Gecko -järjestelmäpiiri ja muut komponentit, jotka tarvitaan Bluetooth-yhteensopivan laitteen toteuttamiseen. (Kuvan lähde: Silicon Labs)

Sen lisäksi, että moduuli voi toimia itsenäisenä isäntänä pienikokoisissa IoT-ratkaisuissa, se voi toimia myös verkkorinnakkaisprosessorina (NCP) isäntäprosessorille, joka on yhdistetty moduuliin UART-liitännän kautta. Siihen integroitu Bluetooth-pino suorittaa langattomia palveluita moduulissa toimiville sovelluksille itsenäisissä ratkaisuissa tai käsittelee isännältä vastaanotettuja komentoja NCP-ratkaisuissa.

Energiatehokas langaton järjestelmäpiiri (SoC)

BGM220P-moduulin langaton EFR32BG22 Bluetooth -järjestelmäpiiri sisältää 32-bittisen Arm Cortex-M33 -ytimen, 2,4 GHz:n radion, tietoturva- ja energianhallinta-alijärjestelmät sekä useita ajastimia ja liitäntävaihtoehtoja. EFR32BG22-järjestelmäpiiri on suunniteltu erityisesti erittäin vähän virtaa kuluttavia paristokäyttöisiä ratkaisuita varten. Se sisältää useita energianhallintatoimintoja, jotka mahdollistavat sen käytön nappiparistoilla jopa kymmenen vuoden ajan.

Järjestelmäpiiri toimii yhdellä ulkoisella jännitelähteellä ja käyttää sisäistä energianhallintayksikköään sisäisten syöttöjännitteiden tuottamiseen. Käytön aikana energianhallintayksikkö ohjaa siirtymiä järjestelmäpiirin viiden energiatilan (EM) välillä. Kukin tila laskee virrankulutusta entisestään ylläpitämällä yhä harvempia aktiivisia toimilohkoja järjestelmäpiirin siirtyessä aktiivisesta tilasta (EM0) lepotilaan (EM1), syvään lepotilaan (EM2), pysäytystilaan (EM3) tai sammutustilaan (EM4) (kuva 3).

Kaaviossa Silicon Labs EFR32BG22-järjestelmäpiiri (suurenna klikkaamalla)Kuva 3: EFR32BG22-järjestelmäpiirin energianhallintayksikkö ohjaa siirtymistä energiatilojen EM0, EM1, EM2, EM3 ja EM4 välillä (värikoodi kuvan alareunassa). (Kuvan lähde: Silicon Labs)

Järjestelmäpiiri kuluttaa aktiivisessa tilassa (EM0) 76,8 MHz:n taajuudella ja 3 voltin jännitteellä 27 mikroampeeria megahertsiä kohti (μA/MHz) sisäistä DC/DC-muunninta käytettäessä. EM0 on normaali käyttötila. Se on lisäksi ainoa tila, jossa Cortex M33 -prosessoriydin ja kaikki oheislaitelohkot ovat käytettävissä.

Kaikki oheislaitteet ovat käytettävissä lepotilassa (EM1), ja niitä jää aktiivisiksi yhä vähemmän järjestelmän siirtyessä vielä alempiin virtatiloihin. Alemmissa virtatiloissa aktiivisten kellojen ja toimilohkojen väheneminen johtaa merkittävästi alhaisempaan virrankulutustasoon:

  • 17 μA/MHz lepotilassa (EM1)
  • 1,40 μA syvässä lepotilassa (EM2) 32 kilotavun RAM-muistin palautuksella ja LFXO-oskillaattorilla toimivalla reaaliaikakellolla (RTC)
  • 1,05 μA pysäytystilassa (EM3) 8 kilotavun RAM-muistin palautuksella ja RTC-kellolla, joka toimii järjestelmäpiiriin integroidulla erittäin matalataajuisella 1 kilohertsin (kHz) vastus-kondensaattori (RC) -oskillaattorilla (ULFRCO)
  • 0,17 μA sammutustilassa (EM4).

Joissakin paristokäyttöisissä laitteissa tarvitaan muutakin kuin mahdollisuus käyttää prosessoria virtaa säästävissä toimintatiloissa. Monissa Bluetooth-yhteensopivissa sovelluksissa esiintyy tyypillisesti pitkiä ajanjaksoja, jolloin toimintaa on vähän tai ei lainkaan, mutta laitteiden reaktiokyky vaatii pienen viiveen toiminnan jatkuessa. Vaikka sovelluksen viiveaikavaatimukset olisivatkin vähäisempiä, hidas heräämisaika tuhlaa virtaa, koska prosessori ei tee mitään hyödyllistä työtä heräämisprosessin aikana ja siirtyessään aktiiviseen tilaan (tai siirtyessään korkeamman virrankulutuksen tilasta alhaisemman virrankulutuksen tilaan).

Koska aktiivisten jaksojen välinen aika kutistuu, vähävirtaisen lepotilan käytöstä voi tulla jopa haitallista, kun hidas siirtyminen heräämis- tai virtatilaan kuluttaa enemmän energiaa kuin jos prosessori pysyisi korkeamman virrankulutuksen tilassa passiivisen jakson aikana. Tämän seurauksena kehittäjät, jotka pyrkivät optimoimaan pariston kestoa, pitävät prosessorin joskus korkeammassa virrankulutustilassa kuin mitä sovelluksen suoritustarpeet edellyttäisivät.

Käyttämällä prosessoria, jonka heräämis- ja käynnistymisajat ovat lyhyempiä, kehittäjät voivat hyödyntää paremmin prosessorin alhaisemman virrankulutuksen tiloja. EFG32BG22 herää EM1-tilasta kolmessa kellojaksossa/1,24 mikrosekunnissa (µs) ja siihen siirtymisaika on 1,29 µs. EM4-tilassa nämä ovat vastaavasti 8,81 millisekuntia (ms) ja 9,96 µs (taulukko 1).

Energiatila Herääminen (suoritus RAM/Flash-muistista) Siirtyminen (suoritus Flash-muistista)
EM1 3 kellojaksoa / 1,24 μs 1,29 μs
EM2 5,15 / 13,22 μs 5,23 μs
EM3 5,15 / 13,21 μs 5,23 μs
EM4 8,81 ms (vain Flash) 9,96 μs

Taulukko 1: EFG32BG22-järjestelmäpiirin heräämisajat ja virtatilaan siirtymisajat. (Taulukon lähde: Silicon Labs)

Myös menetelmä, jota käytetään prosessorin herättämiseen toiminnan jatkuessa, voi vaikuttaa merkittävästi pariston kestoon. Vaikka jotkin sovellukset – esimerkiksi teollisuudessa – vaativat järjestelmiä käyttämään pollaavaa prosessointia vaativan jaksottaisen ajastuksen varmistamiseksi, monet kuluttajakäyttöön suunnatut sovellukset käyttävät tapahtumapohjaista käsittelyä reagoidakseen tiettyyn toimintaan. Esimerkiksi pollausmenetelmien käyttäminen tapahtumapohjaisissa sovelluksissa voi lyhentää merkittävästi pariston kestoikää, kun prosessori herää toistuvasti tarpeettomasti.

Samalla tavoin kuin monet anturipohjaiset mallit käyttävät Wake-on-Interrupt-toimintoa prosessorin toistuvan herättämisen välttämiseksi vain toiminnan tarkistamista varten, EFG32BG22-järjestelmäpiirin radioalijärjestelmään sisäänrakennettu Wake-on-RF-toiminto mahdollistaa samanlaisen keskeytysohjatun menettelyn. Näin kehittäjät voivat pitää prosessorin alhaisemman virrankulutuksen tilassa, kunnes radiotaajuudella (RF) on toimintaa.

Käytännössä kehittäjät asettavat langattoman EFG32BG22-järjestelmäpiirin virrankulutukseltaan erittäin alhaiseen EM2-, EM3- tai EM4-tilaan ja luottavat Wake-on-RF-toimintoon järjestelmäpiirin herättämiseksi havaittaessa RF-energiaa. RFSENSE-toiminto kuluttaa 131 nanoampeeria (nA), kun sitä käytetään pelkästään havaitsemaan kynnysarvon ylittävä energia. Valikoivampi RFSENSE-tila kuluttaa hieman enemmän virtaa, 138 nA, mutta RFSENSE suodattaa tässä tilassa saapuvia RF-signaaleita eikä herätä piiriä, jos se ottaa vastaan validin RF-signaalin sijasta pelkkää RF-kohinaa.

Joissakin tapauksissa EFG32BG22-järjestelmäpiirin ei välttämättä tarvitse herättää prosessoriydintä lainkaan ulkoisiin tapahtumiin reagoimiseksi: SiLabsin PRS-järjestelmän (Peripheral Reflex System) ansiosta oheislaitteet voivat reagoida tapahtumiin ja toimia ilman prosessoriytimen herättämistä. Oheislaitteet voivat kommunikoida suoraan keskenään, ja niiden toimintoja voidaan yhdistää kompleksisten toimintojen tarjoamiseksi. Käyttämällä PRS-ominaisuuksia alhaisemman energiankulutuksen tilojen kanssa kehittäjät voivat vähentää merkittävästi virrankulutusta vaarantamatta kriittisiä toimintoja, kuten anturitietojen keruuta.

Integroitu debuggaus ja helppo laajentaminen

BGM220 Explorer Kit -korttiin integroitu BGM220P-moduuli tuo EFR32BG22-järjestelmäpiirin kaikki energianhallinta- ja prosessointiominaisuudet paristokäyttöisiin Bluetooth-ratkaisuihin. Kun on tarve rakentaa nopeasti prototyyppejä uusien suunnittelukonseptien tutkimiseksi, piirikortin muut toiminnot nopeuttavat kehitystyötä.

Kortin USB Micro-B -liittimen kautta käytettävissä oleva SEGGER J-Link -debuggeri mahdollistaa koodin lataamisen ja debuggauksen sekä tarjoaa virtuaalisen COM-portin isäntäkonsolin käyttöä varten. Debuggeri tukee myös SiLabsin PTI-toimintoa (Packet Trace Interface), joka analysoi langattoman verkon kautta lähetettyjä tai vastaanotettuja paketteja.

Kortin useiden laajennusvaihtoehtojen tuki tarjoaa joustavuutta uusien suunnitteluideoiden tutkimiseen, joihin tarvitaan anturien, aktuaattorien, yhteysvaihtoehtojen ja muiden oheislaitteiden erilaisia yhdistelmiä. Tätä voidaan käyttää nopeaan prototyyppikehitykseen. Useilta toimittajilta saatavilla olevien mikroBUS-lisäkorttien ja Qwiic Connect System -laitteistojen laajan valikoiman ansiosta kehittäjät voivat konfiguroida nopeasti kehitysalustan kutakin sovellusta varten.

Kortin mikroBUS-liitäntään kytkettävä mikroBUS-kortti liitetään BGM220P-moduuliin I2C-, SPI- tai UART-rajapintojen kautta. Qwiic-liitin tarjoaa Qwiic-järjestelmän I2C-liitännän yhden tai useamman Qwiic-kortin liittämiseen enintään noin 1,2 metrin etäisyydelle. Tarvittaessa pidempää yhteysetäisyyttä kehittäjät voivat käyttää SparkFun QwiicBus EndPoint -korttia (COM-16988). Se käyttää differentiaalista signalointia I2C-signaalin eheyden säilyttämiseksi jopa noin 30 metrin etäisyydelle.

Sovellusten nopea kehittäminen

SiLabs soveltaa nopean laajentamisen konseptia sovellusohjelmistojen kehittämiseen. Yritys tarjoaa asiakaskohtaiseen kehitykseen tarkoitettujen piirikorttien tukipakettien, ajureiden, kirjastojen ja otsikkojen ohella useita esimerkkisovelluksia, jotka on koottu Simplicity Studio -kehitysympäristöön, sekä muita projekteja, jotka ovat saatavilla SiLabsin GitHub-repositorioista. Kehittäjät voivat itse asiassa aloittaa anturisovellusten tutkimisen mukana toimitetulla lämpötilasovelluksella, joka käyttää tietolähteenä EFR32BG22-järjestelmäpiirin sisäistä lämpötila-anturia.

Lämpötilasovellus on rakennettu Bluetooth Health Temperature -yleispalvelun ympärille. Se tarjoaa heti käyttövalmiin esimerkin SiLabs-ohjelmistoarkkitehtuuriin perustuvan yleisen Bluetooth IoT -sovelluksen prosessin kulusta. Sovellus kutsuu erilaisia järjestelmäpalveluita ja sovelluspalvelujen alustusrutiineita, jotka asettavat keskeytyskäsittelijät ja takaisinkutsut. Kun alustaminen on suoritettu, sovellus asettuu loputtomaan silmukkaan odottamaan tapahtumia (listaus 1).

Kopioi
int main(void)
{
  // Initialize Silicon Labs device, system, service(s) and protocol stack(s).
  // Note that if the kernel is present, processing task(s) will be created by
  // this call.
  sl_system_init();



  // Initialize the application. For example, create periodic timer(s) or
  // task(s) if the kernel is present.
  app_init();



#if defined(SL_CATALOG_KERNEL_PRESENT)
  // Start the kernel. Task(s) created in app_init() will start running.
  sl_system_kernel_start();
#else // SL_CATALOG_KERNEL_PRESENT
  while (1) {
    // Do not remove this call: Silicon Labs components process action routine
    // must be called from the super loop.
    sl_system_process_action();



    // Application process.
    app_process_action();



#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
    // Let the CPU go to sleep if the system allows it.
    sl_power_manager_sleep();
#endif
  }
#endif // SL_CATALOG_KERNEL_PRESENT
}
Listaus 1: SiLabsin Bluetooth-esimerkkisovelluksissa käytetään yleistä suoritusympäristöä, joissa loputon silmukka sallii takaisinkutsujen ja tapahtumankäsittelijöiden käsitellä järjestelmän ja sovelluksen tapahtumat alustuksen jälkeen. (Koodin lähde: Silicon Labs)

Kun tässä sovelluksessa alustuksen aikana asetettu ajastin laskee nollaan, siihen liittyvä takaisinkutsurutiini suorittaa lämpötilan mittauksen. Kun kehittäjät ovat kääntäneet sovelluksen ja kirjoittaneet sen kortille, he voivat käyttää SiLabs EFR Connect -sovellusta. Se on yleinen Bluetooth-mobiilisovellus, joka toimii kaikkien Silicon Labsin Bluetooth-sarjojen ja -laitteiden kanssa. Sen lisäksi, että sovellus tarjoaa puitteet asiakaskohtaisille sovelluksille, se auttaa kehityksessä tarjoten näkymän Bluetooth-palveluun liittyvistä tuetuista ominaisuuksista, kuten tässä esimerkkisovelluksessa käytettyyn Bluetooth Health Temperature -palveluun (kuva 4).

Kuvassa SiLabs EFR Connect -sovellusKuva 4: SiLabs EFR Connect -sovellus näyttää sovelluksessa käytettyjen Bluetooth-palvelujen ominaisuudet, mikä nopeuttaa prototyyppien kehittämistä ja tarjoaa myös puitteet asiakaskohtaisten sovellusten kehittämiselle. (Kuvan lähde: Silicon Labs)

Kehittäjät voivat tuoda Simplicity Studioon useita erilaisia Bluetooth-sovellusesimerkkejä, jotka havainnollistavat erilaisia käyttöskenaarioita, kuten Qwiic- tai mikroBUS-lisäkorteille (erikseen tai yhdessä) muodostettuja ratkaisuita. Esimerkkinä toimii esimerkkisovellus, joka havainnollistaa Bluetooth Heart Rate- (HR) ja Bluetooth Pulse Oximeter (SpO2) -yleispalveluiden käyttöä yhdessä MikroElektronikan MIKROE-4037 Heart Rate 2 Click mikroBUS -lisäkortin kanssa, joka sisältää Maxim Integratedin MAX86161-biosensorin. MAX86161 tarjoaa täydellisen alhaisen virrankulutuksen alijärjestelmän, joka pystyy tarjoamaan tarkkoja HR- ja SpO2-mittauksia I2C-liitännän kautta liitetylle isäntäprosessorille. (Katso lisätietoja MAX86161:n käytöstä artikkelista Build a True Wireless Fitness Hearable—Part 1: Heart Rate and SpO2 Measurement).

Koska tässä sovelluksessa tarvitaan ylimääräinen ajuri ja vaativampi käsittelyalgoritmi kuin lämpötilasovelluksessa, se tarjoaa kompleksisemman esimerkin IoT-laitteen ohjelmistosovellusarkkitehtuurista (kuva 5).

Kaavio HR/SpO2-sovelluksestaKuva 5: Sellaiset esimerkkiprojektit kuten HR/SpO2-sovellus nopeuttavat prototyyppien kehittämistä ja havainnollistavat samalla tyypillistä prosessin kulkua alhaisen virrankulutuksen Bluetooth-anturisovelluksissa. (Kuvan lähde: Silicon Labs)

Kuten edellä mainittu lämpötilasovellus, tämäkin sovellus käyttää useita alustusrutiineita järjestelmän ja sovelluspalveluiden käyttöönottoa varten. Siinä missä rutiini app_process_action on lämpötilasovelluksessa tyhjä, tämä sovellus lisää rutiinin hrm_loop kutsun rutiiniin app_process_action. Tämä aikaansaa kutsun rutiiniin hrm_loop jokaisella ylätason loputtoman silmukan kierroksella, joka on esitetty aiemmin luettelossa 1. Lisäksi HR- ja SpO2-datan säännölliseen päivittämiseen käytetään ohjelmistoajastinta.

hrm_loop-rutiini puolestaan kutsuu rutiinia maxm86161_hrm_process, joka hakee mittausarvoja apufunktioiden ylläpitämästä jonosta ja antaa ne edelleen näytteenottoprosessirutiinille. Tämä puolestaan kutsuu paria rutiinia, maxm86161_hrm_frame_process ja maxm86161_hrm_spo2_frame_process, jotka puolestaan suorittavat algoritmeja HR- ja SpO2-tulosten validoimiseksi ja generoimiseksi. Kehittäjät voivat tarkastella tuloksia ja muita palvelun ominaisuuksia aiemmin mainitun EFR Connect -sovelluksen avulla.

Toinen esimerkkiohjelmistosovellus osoittaa, miten kehittäjät voivat laitteistoalustaa laajentaessaan käyttää sen pohjana kompleksista sovellusta, esimerkkinä tämä HR/SpO2-sovellus. BGM220-EK4314A Explorer Kit -kortin ja SiLabs-ohjelmistoekosysteemin avulla rakentaminen olemassa olevan laitteiston ja ohjelmiston päälle on suhteellisen suoraviivaista. SiLabs demonstroi tätä lähestymistapaa esimerkkisovelluksella, joka lisää OLED-näytön edellä esitetyssä HR/SpO2-sovelluksessa käytettyyn laitteisto/ohjelmistoalustaan. Tässä esimerkissä alustan Qwiic-liittimeen kytketään SparkFunin OLED-näyttö Qwiic-lisäkortilla (LCD-14532), kun taas MikroElektronikan Heart Rate 2 Click -lisäkortti edellisestä HR/SpO2-esimerkkisovelluksesta jää paikalleen (kuva 6).

Kuvassa Silicon Labs BGM220-EK4314A Explorer Kit -kortti OLED-näytölläKuva 6: Kehittäjät voivat lisätä nopeasti toimintoja olemassa olevaan BGM220-EK4314A Explorer Kit -korttia käyttävään ratkaisuun – tässä tapauksessa lisäämällä OLED-näyttö olemassa olevaan HR/SpO2-prototyyppiin. (Kuvan lähde: Silicon Labs)

OLED-lisäkortin ajurin ja tukipalvelujen lisäämistä lukuun ottamatta ohjelmistosovellus pysyy suurelta osin samana tässä HR/SpO2-sovelluksen laajennetussa versiossa. HR/SpO2-sovelluksen aiemmin mainittu ohjelmistoajastin lisää kutsun funktioon hrm_update_display, joka näyttää HR- ja SpO2-tiedot (listaus 2).

Kopioi
    /* Software Timer event */
    case sl_bt_evt_system_soft_timer_id:
      /* Check which software timer handle is in question */
      if (evt->data.evt_system_soft_timer.handle == HEART_RATE_TIMER) {
        heart_rate_send_new_data(connection_handle);
        break;
      }
 
      if (evt->data.evt_system_soft_timer.handle == PULSE_OXIMETER_TIMER) {
        pulse_oximeter_send_new_data(connection_handle);
        break;
      }
 
      if (evt->data.evt_system_soft_timer.handle == DISPLAY_TIMER) {
        hrm_update_display();
        break;
      }
      break;
Luettelo 2: Kehittäjät voivat sarjan ja ohjelmistoekosysteemin avulla täydentää olemassa olevaa HR/SpO2-sovellusta näyttötoiminnolla. Se tehdään kytkemällä näyttökortti ja tekemällä minimaalisia ohjelmistomuutoksia sekä lisäämällä funktiokutsu hrm_update_display olemassa olevan sovelluksen ohjelmistoajastinkäsittelijään. (Koodin lähde: Silicon Labs)

Tämän laajennettavan laitteisto- ja ohjelmistomenetelmän ansiosta kehittäjät voivat rakentaa nopeasti toimivia IoT-sovelluksia. Koska sekä laitteistoja että ohjelmistoja voidaan lisätä tai poistaa helposti, kehittäjät voivat tutkia helpommin uusia suunnitteluratkaisuja ja arvioida vaihtoehtoisia konfiguraatioita.

Yhteenveto

Paristokäyttöiset Bluetooth-yhteensopivat IoT-laitteet muodostavat suosittujen sovellusten ytimen. Ne ovat keskeinen tekijä, jolla vastataan jatkuvaan haluun lisätä toimintoja ja saavuttaa pidempi paristojen kesto. Näiden ristiriitaisten vaatimusten tehokas täyttäminen edellyttää kehittäjiltä kykyä tutkia nopeasti uusia malleja ja arvioida vaihtoehtoisia suunnittelukonsepteja. Silicon Labs -kehityssarjan ja siihen liittyvien ohjelmistojen avulla kehittäjät voivat rakentaa nopeasti prototyyppejä sekä lisätä ja poistaa laitteita tarpeen mukaan haluttujen sovellusvaatimusten täyttämiseksi.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Tietoja kirjoittajasta

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Tietoja tästä julkaisijasta

DigiKeyn kirjoittajat Pohjois-Amerikassa