Cum să prototipați rapid dispozitive IoT utilizând kitul Discovery B-L4S5I-IOT01A pentru noduri IoT

By Jacob Beningo

Contributed By DigiKey's North American Editors

Pe măsură ce dispozitivele devin din ce în ce mai conectate la Internetul lucrurilor (IoT), dezvoltatorii care pornesc de la zero își dau seama că munca lor nu este atât de simplă pe cât s-ar aștepta, în special dacă sunt presați de timp și costurile sunt limitate. De la alegerea unui mediu de dezvoltare de încredere, sigur și bine susținut, până la selectarea software-ului și hardware-ului compatibil, se pare că proiectarea și construirea unui dispozitiv IoT necesită o gamă largă de competențe.

Dezvoltatorii au nevoie din ce în ce mai mult de acces rapid la soluții sigure, biblioteci cu conectivitate în cloud, un RTOS și o platformă de dezvoltare hardware și software compatibilă care să ofere senzori ușor de integrat, toate într-un singur pachet scalabil.

Acest articol prezintă modul în care proiectanții IoT pot realiza rapid prototipuri pentru produsele lor utilizând B-L4S5I-IOT01A Discovery Kit pentru noduri IoT de la STMicroelectronics. Acesta examinează capacitățile microcontrolerului integrat, multitudinea de senzori și opțiuni de configurare, precum și modul în care proiectanții se pot conecta la Amazon Web Services (AWS) și pot începe rapid construirea prototipului și produsului final.

Introducerea B-L4S5I-IOT01A Discovery Kit pentru noduri IoT

Placa B-L4S5I-IOT01A Discovery este o placă de dezvoltare completă ce poate fi utilizată pentru a crea prototipuri pentru aproape orice dispozitiv IoT încorporat (Figura 1). Placa are suficientă putere de procesare, suficienți senzori și suficiente posibilități de extindere pentru a face orice dezvoltator al sistemelor embedded să viseze cu ochii deschiși la aplicațiile pe care le-ar putea crea. Placa B-L4S5I-IOT01A se bazează pe procesorul de joasă putere STM32L4S5VIT6 Arm® Cortex®-M4 care rulează la 120 megahertzi (MHz), susținut de 2 megaocteți (Mbytes) de memorie flash pentru program și 640 kiloocteți (Kbytes) de SRAM. De asemenea, STM32L4S5VIT6 are caracteristici ideale pentru aplicațiile IoT, cum ar fi:

  • O unitate în virgulă mobilă (FPU)
  • Un controler de acces dinamic la memorie (DMA) cu 14 canale
  • Un accelerator pentru hardware de criptare AES și HASH
  • Caracteristici grafice avansate
  • Un scor de 233 puncte de referință energetică ULPMark CP

Imaginea cu B-L4S5I-IOT01A Texas Instruments care se bazează pe un procesor Arm Cortex-M4Figura 1: B-L4S5I-IOT01A se bazează pe un procesor Arm Cortex-M4 care funcționează la o frecvență de până la 120 MHz, cu 2 Mbytes de memorie flash, 640 Kbytes de memorie RAM, conectivitate wireless și senzori multipli. (Sursă imagine: STMicroelectronics)

Puterea de procesare și eficiența energetică nu constituie în sine o platformă excelentă pentru prototipuri rapide. De asemenea, placa Discovery este dotată cu conectivitate wireless sub forma unui modul Wi-Fi compatibil 802.11b/g/n (ISM43362-M3G-L44) de la Inventek Systems și a unui modul Bluetooth 4.1 de la STMicroelectronics, precum și a unei game de senzori. Acestea includ două microfoane digitale omnidirecționale MP34DT01, un senzor digital capacitiv HTS221 pentru umiditate relativă și temperatură și un magnetometru de înaltă performanță cu trei axe LIS3MDL.

Lista de mai sus nu este în niciun caz exhaustivă: o descriere mai detaliată poate fi găsită aici. În continuare, este important să examinăm instrumentele și stivele de software disponibile pentru accelerarea dezvoltării.

Ecosistemul STM32

Ecosistemul care înconjoară orice placă de dezvoltare determină dacă o echipă poate crea sau nu un prototip rapid. De exemplu, pentru a realiza prototipul unui dispozitiv IoT cu B-L4S5I-IOT01A, dezvoltatorii au nevoie de acces la un compilator, un mediu de dezvoltare integrat (IDE), biblioteci de drivere, instrumente de configurare și software pentru actualizări de firmware. Placa B-L4S5I-IOT01A Discovery îndeplinește toate aceste nevoi.

Mulți dezvoltatori folosesc Eclipse și compilatorul GNU C pentru mediul lor de dezvoltare. STMicroelectronics oferă un instrument gratuit, STM32CubeIDE (Figura 2), care permite dezvoltatorilor să scrie și să își construiască proiectele de software. STM32CubeIDE permite accesul, prin diverse perspective, la un mediu de dezvoltare software, un instrument de configurare a microcontrolerului și la un mediu de depanare.

Imagine a IDE-ului STM32CubeIDE pentru crearea, configurarea și gestionarea software-ului încorporat IoT (faceți clic pentru a mări imaginea)Figura 2: STM32CubeIDE pune la dispoziția dezvoltatorilor un IDE pentru a crea, configura și gestiona software-ul încorporat al dispozitivului IoT. (Sursa imaginii: Beningo Embedded Group)

STM32CubeIDE nu numai că oferă o modalitate de a crea, construi și gestiona proiecte software, dar are și o interfață pentru STM32CubeMx. STM32CubeMx este un instrument de configurare a microcontrolerului care permite dezvoltatorilor să configureze structura arbore a ceasurilor, perifericele, senzorii și middleware-ul. Dezvoltatorii își configurează setările, după care lanțul de instrumente generează driverele și fișierele de configurare, reducând drastic timpul de dezvoltare și ajutând dezvoltatorul să se concentreze asupra codului aplicației și nu asupra codului infrastructurii standard.

Dincolo de configurarea și implementarea unei baze de cod, ecosistemul STM32 este însoțit de mai multe instrumente utile pentru dezvoltatorii care lucrează cu ultimele noutăți din industrie. De exemplu, dezvoltatorii care doresc să utilizeze învățarea automată în aplicațiile lor pot utiliza extensia STM32Cube.AI X-CUBE-AI, care oferă echipelor un cadru simplificat pentru conversia, validarea și rularea inferențelor pe STM32. De exemplu, dezvoltatorii pot antrena un model folosind TensorFlow Lite și apoi pot converti modelul în doar câteva minute în cod C, care rulează pe microcontroler. În plus, există pachete de extensii cu software gata de funcționare care includ:

Pentru fiecare dispozitiv IoT trebuie să se ia în calcul securitatea, chiar și în timpul fazei de prototipare rapidă. În prezent, internetul abundă în atacuri non-stop, breșe de securitate și exploatarea datelor comerciale și ale clienților. Prin urmare, orice platformă de prototipare rapidă trebuie să aibă capacitatea de a se transforma în mod eficient într-un sistem de producție. Placa Discovery poate utiliza stivele de software Secure Boot Secure Firmware Update (SBSFU) de la STMicroelectronics pentru a oferi dezvoltatorilor această capacitate. Soluția SBSFU este disponibilă în pachetul de funcții X-CUBE-SBSFU, care oferă:

  • Servicii Root-of-trust (RoT)
  • Servicii de gestionare securizată a cheilor
  • Scheme criptografice
  • Servicii securizate de actualizare a firmware-ului

Ecosistemul care înconjoară placa B-L4S5I-IOT01A Discovery este bogat, cu multe pachete de funcții și instrumente disponibile pentru a ajuta dezvoltatorul să își înceapă rapid proiectele. Mulți dezvoltatori IoT sunt interesați de pachetul X-CUBE-AWS, care oferă tot ce este necesar pentru conectarea la cloud atunci când se utilizează AWS. Să examinăm modul în care ar putea face un dezvoltator acest lucru.

Conectarea la cloud

Pentru a începe să utilizeze cloud-ul, dezvoltatorul trebuie să descarce X-CUBE-AWS. Pachetul software vine sub forma unui fișier .zip cu mai multe proiecte concepute pentru a rula pe B-L4S5I-IOT01A, cum ar fi:

  • Bootloader_KMS
  • Bootloader_STSAFE
  • Cloud

Aceste proiecte se află în:

Projects/B-L4S5I-IOT01A/Applications/

Proiectul cloud AWS se află în:

Cloud/aws_demos

Proiectul cloud este disponibil pentru STM32Cube IDE, Keil și IAR. Bineînțeles că un dezvoltator le-ar putea porta la alte IDE-uri, dar acestea trei sunt utilizate în mod obișnuit în industrie.

Dezvoltatorii nu trebuie să se ocupe de punerea în funcțiune a proiectului în mod independent. Există mai multe documente valoroase care îi pot ajuta să își înceapă rapid proiectele. În primul rând, în directorul principal al proiectului, există un fișier Release_Notes.html. Acest fișier conține informații generale despre proiect, precum și limitări și referințe valoroase.

În continuare, există un ghid introductiv, care descrie modul de conectare la AWS utilizând proiectul. Acest document descrie modul de conectare la AWS și oferă informații despre stivă și software (Figura 3). De asemenea, documentul descrie în detaliu stivele de software, ceea ce poate ajuta dezvoltatorul să înțeleagă modul de organizare și modificările care vor fi necesare pentru conectarea dispozitivului la cloud.

Diagrama STMicroelectronics X-CUBE-AWS oferă exemple de firmware și de aplicațiiFigura 3: X-CUBE-AWS oferă exemplele de firmware și de aplicații necesare pentru conectarea la AWS și pentru dezvoltarea unui obiect IoT capabil să se conecteze la AWS. (Sursă imagine: STMicroelectronics)

Cel mai simplu mod de conectare la cloud este parcurgerea documentului Noțiuni introductive și urmarea instrucțiunilor din tutorial. În afara tutorialului, există câteva surse de referință suplimentare pe care dezvoltatorii le pot utiliza pentru a se familiariza cu pachetul software, inclusiv:

Între aceste documente, dezvoltatorii pot începe rapid să lucreze cu o aplicație în cloud ce poate fi utilizată ca bază pentru propria lor aplicație pentru dispozitive IoT.

Sfaturi și trucuri pentru utilizarea plăcii B-L4S5I-IOT01A Discovery

Placa B-L4S5I-IOT01A Discovery are multe caracteristici și capabilități pe care dezvoltatorii le pot utiliza pentru a crea rapid prototipuri pentru produsele lor integrate. Mai jos sunt câteva „sfaturi și trucuri” de care dezvoltatorii ar trebui să țină cont și care pot simplifica și accelera dezvoltarea, cum ar fi:

  • Profitați din plin de X-CUBE-AWS pentru a vă conecta cu ușurință la AWS. Pachetul software vine cu FreeRTOS deja portat pe placa de dezvoltare; iar dezvoltatorii trebuie doar să asigure dispozitivul pentru conectarea la cloud.
  • Citiți cu atenție documentația cu noțiunile introductive. Documentația conține pașii necesari pentru efectuarea unei actualizări a firmware-ului și pentru conectarea la AWS.
  • Experimentați cu capacitățile de actualizare over-the-air (OTA) oferite ca exemplu. Necesitatea de a aplica corecții și de a actualiza dispozitivele IoT pe teren este una critică. Dezvoltatorii trebuie să fie conștienți de capacitățile și de eventualele limitări ale actualizărilor securizate ale firmware-ului.
  • Evitați să porniți de la zero utilizând pachete de funcții STMicroelectronic, care ajută dezvoltatorii să înceapă să utilizeze în forță capacitățile și funcționalitatea dispozitivului. Aceste pachete de funcții pot accelera în mod dramatic dezvoltarea.
  • Alocați-vă timpul necesar pentru a citi documentația STSAFE și pentru a înțelege modul în care elementele securizate pot îmbunătăți securitatea dispozitivului. Securitatea trebuie să fie integrată în dispozitiv încă de la început, așa că este necesar să fie făcută în timpul fazei de prototipare rapidă.

Dezvoltatorii care urmează aceste „sfaturi și trucuri” vor descoperi că economisesc destul de mult timp și energie mentală atunci când își prototipează aplicația.

Concluzie

Dezvoltarea de la zero a unui dispozitiv conectat IoT încă prezintă multe obstacole și capcane care pot genera întârzieri ale calendarelor și pot duce la depășiri ale costurilor. Pentru a evita aceste probleme, dezvoltatorii pot utiliza placa B-L4S5I-IOT01A Discovery pentru a crea rapid prototipuri pentru aplicațiile lor conectate. Stivele de software, pachetele de expansiune și ecosistemul STMicroelectronics oferă dezvoltatorilor o soluție multifuncțională pentru a integra cu ușurință software-ul și a accelera implementarea. De asemenea, B-L4S5I-IOT01A este pe deplin capabilă să răspundă nevoilor dispozitivelor moderne, cum ar fi conectivitatea în cloud, pornirea securizată a firmware-ului cu OTA și chiar rularea aplicațiilor de bază de învățare automată.

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.

About this author

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

About this publisher

DigiKey's North American Editors