Cum să adaptați un proiect existent pentru a-l utiliza în IoT (Internet of Things)

by donpedro

Pentru mulți oameni, ritmul actual de creștere al aparate electrocasnice conectate evocă amintiri legate de modul în care calculatoarele personale au devenit tot mai conectate la internet în anii 1990.  La vremea respectivă, a existat o dezbatere similară cu privire la întrebarea dacă această tehnologie era un simplu artificiu sau dacă va avea într-adevăr un impact de durată asupra societății. În prezent, PC-urile și telefoanele mobile conectate sunt considerate indispensabile, iar mulți prevăd un parcurs similar pe măsură ce lumea va accepta ca aparatele electrocasnice să fie conectate.  

Posibilitatea de a porni o cafetieră de oriunde din lume nu pare a fi o tehnologie care să schimbe vieți, dar cafetierele reprezintă doar începutul revoluției IoT în gospodării. IoT va servi ca bază pentru extinderea inovațiilor și a oportunităților de afaceri în domeniul electrocasnicelor. Progresele continue în domeniul tehnologiei de învățare automată și al inteligenței artificiale nu vor face decât să accelereze această evoluție. Abilitatea de a aduna date brute de la aparate și senzori deschide o lume complet nouă de cazuri de utilizare și oportunități.

Figura 1: O aplicație adaptată la IoT constă din aplicația propriu-zisă, securitate și conectivitate

Unii proiectanți nu sunt siguri dacă vor să se alăture revoluției IoT, deoarece se tem că realizarea unui proiect embedded cu conectivitate IoT va fi o sarcină descurajantă. Realitatea este că cerințele sunt destul de simplu de atins. Un produs activat IoT constă, de obicei, din doar trei elemente: un procesor sau microcontroler (elementul “inteligent”), un controler de rețea (elementul “conectat”) și un mijloc de securizare a comunicării cu cloud-ul (elementul “securizat”).

Deoarece majoritatea proiectanților au investit deja timp și un efort considerabil pentru a realiza un produs performant, există un avantaj în a reutiliza cea mai mare parte a activității de proiectare existente.  De multe ori, doar elementele de conectivitate și de securitate trebuie adăugate la un proiect existent pentru a permite conectivitatea IoT.  Mai degrabă decât să trebuiască să elaborați o soluție de la zero, este posibil să transformați rapid proiectele existente pentru a fi conectate la IoT. Acest lucru se poate face într-un mod foarte eficient, utilizând tehnici dovedite în lumea software pentru a simplifica și accelera dezvoltarea.

Analiza provocării

Figura 2: În această soluție integrată, tot codul și toate funcționalitățile sunt integrate într-un singur dispozitiv, ceea ce crește complexitatea codului și timpul de dezvoltare al acestuia

Există câteva trucuri pe care proiectanții de sisteme embedded le pot învăța de la dezvoltatorii de software atunci când încearcă să transforme un produs existent într-unul care să funcționeze în IoT. Programatorii care se confruntă cu o provocare software complexă sunt obișnuiți să apeleze la o abordare de proiectare de tip “top-down” sau la programarea modulară. Această metodă implică defalcarea unei probleme mai mari în subprobleme mai mici, mai ușor de gestionat, care pot fi din nou împărțite în sarcini mai mici de abordat. Aceasta este o strategie puternică și dovedită pentru rezolvarea unor probleme complexe care ar fi dificil de rezolvat folosind un cod unic. Deci, cum se traduce acest lucru în sistemele hardware embedded?

Se pare că inginerii specializați în sisteme embedded pot obține aceleași beneficii prin modularizarea dezvoltării sistemelor. Pe lângă provocările de programare pură, sistemele embedded trebuie adesea să respecte standarde și să se supună unor procese de certificare riguroase. Efectuarea de modificări software sau hardware după certificare poate declanșa obligația de recalificare a produsului. Numai din acest motiv, separarea în subsisteme a părților care necesită certificare prezintă un avantaj enorm. În acest fel, erorile dintr-un subsistem nu vor afecta performanța altor subsisteme.

De exemplu, mulți proiectanți doresc să adauge o conexiune securizată la internet următoarei generații a unui produs existent pentru a îmbunătăți experiența utilizatorului și pentru a facilita adăugarea de capabilități, inclusiv diagnosticarea de la distanță, monitorizarea funcționalității, furnizarea automată de servicii și colectarea de date statistice pentru a planifica viitoarele îmbunătățiri ale produsului. Acest produs ‘activat IoT’ va avea nevoie de trei funcții principale:  1) aplicația originală; 2) conectivitatea la internet; și 3) un mijloc de securizare a aplicației. După cum este ilustrat în figura 1, acest tip de aplicație adaptată la IoT este, în esență, aplicația originală cu un plus de securitate și conectivitate.

Figura 3: Cu o soluție modulară, proiectanții pot reutiliza aplicația existentă și pot izola securitatea și conectivitatea în sarcini mai mici și mai ușor de gestionat, care funcționează independent de aplicația principală

Din punct de vedere al implementării, această provocare de proiectare poate fi împărțită în trei subsarcini, în care codul original al aplicației este reutilizat și se adaugă doar securitatea și conectivitatea.

Cu toate acestea, atât securitatea, cât și conectivitatea la internet sunt chestiuni greu de proiectat de la zero. În plus, integrarea unei noi funcționalități într-o aplicație existentă poate interfera cu soluția existentă − reducând calitatea aplicației combinate.

Dezvoltatorii scriu adesea coduri care au fost foarte optimizate pentru aplicația curentă. Prin urmare, poate fi foarte dificil să se adauge conectivitate care necesită sincronizare strictă și securitate care presupune un volum mare de calcul, garantând totodată aceleași niveluri de performanță pentru produsele actualizate.

Figura 2 ilustrează această abordare combinată. Toate funcționalitățile sunt implementate ca o singură soluție, ceea ce sporește complexitatea atât a scrierii, cât și a depanării aplicației. Defecțiunile dintr-o parte a codului pot afecta sincronizarea și performanța altor funcții critice, ceea ce face mult mai probabil ca o simplă eroare să aibă efecte secundare, declanșând necesitatea unei recalibrări.

Orientarea către o abordare modulară va permite proiectanților să păstreze intacte codul de bază și IP-ul existent și să adauge doar funcționalități de conectivitate și de securitate, în funcție de necesități.

Folosind această abordare, funcționalitățile de securitate și conectivitate pot fi implementate ca sarcini software și hardware separate, ceea ce economisește o cantitate enormă de timp și reduce numărul de ingineri necesari pentru crearea unui anumit produs. De asemenea, această abordare permite o reutilizare mai ușoară a codului și a sistemului, ceea ce oferă o mai mare flexibilitate. De exemplu, un proiectant ar putea dori să ofere atât o versiune Wi-Fi, cât și una Bluetooth Low Energy (BLE) pentru același produs. În acest scenariu, abordarea modulară permite o inovare rapidă și ușoară în proiectarea IoT.

Avantajul abordării modulare constă în faptul că toată munca axată pe optimizarea și ajustarea sistemului existent nu se pierde atunci când se adaugă conectivitatea IoT la produs. Proiectantul poate adăuga cu ușurință funcționalitatea necesară fără a afecta alte părți ale sistemului.

Figura 4: Placa de dezvoltare AVR-IoT WG combină un microcontroler AVR®, un element securizat IC și un controler de rețea Wi-Fi certificat, permițând proiectanților să prototipeze dispozitive conectate în câteva minute.

Pentru a simplifica procesul, pot fi alese module certificate atât pentru securitate, cât și pentru comunicația wireless. Acest lucru va reduce în mod semnificativ timpul de certificare și timpul necesar pentru lansarea pe piață a noului produs. Un exemplu de astfel de element securizat certificat este dispozitivul ATECC608A de la Microchip. Acest modul gestionează toate sarcinile asociate cu autentificarea și stocarea securizată a cheilor și certificatelor, oferind o soluție sigură, fără a necesita scrierea de cod. În mod similar, modulele wireless certificate execută tot ceea ce este necesar pentru a se conecta în siguranță la o rețea wireless.

Utilizarea modulelor certificate pentru securitate și funcționalitate wireless elimină, totodată, necesitatea ca un proiectant să fie expert în securitate sau comunicații. Modulele includ toate părțile de cod necesare și, în general, sunt controlate prin comenzi simple trimise prin intermediul unei interfețe seriale precum UART, SPI sau I2C.

Pentru a simplifica și mai mult proiectarea și pentru a accelera timpul de lansare pe piață, plăcile de dezvoltare, cum ar fi placa AVR-IoT WG de la Microchip, conțin aceste module pentru conectivitate IoT sigură și ușor de implementat. Cu ajutorul unor astfel de instrumente, un inginer poate avea nevoie de doar 30 de secunde și câteva clicuri pentru a conecta un produs existent la Google Cloud IoT Core și pentru a începe să transmită date.

Abilitatea de a conecta aparatele și produsele de larg consum la cloud creează potențialul ca acestea să ofere o valoare mult mai mare, fie prin furnizarea de volume mari de date (big data) pentru aplicațiile de inteligență artificială și învățare automată, fie pur și simplu pentru a oferi o modalitate mai ușoară de a efectua de la distanță actualizări sigure de firmware. Analiza provocării (prin defalcarea sarcinilor) și utilizarea modulelor certificate pentru funcții de securitate și comunicații oferă proiectanților o metodă rapidă de adaptare a proiectelor lor actuale pentru a profita de aceste oportunități.

Autor: Arild Rodland,
Business Development Manager (EMEA)

Microchip Technology   |   https://www.microchip.com

Sigla-Microchip

S-ar putea să vă placă și