În aplicațiile din domeniul automatizărilor industriale și al asistenței medicale, o parte importantă a infrastructurii existente se bazează pe Windows. Pentru dezvoltatorii care creează dispozitive edge cu consum redus de putere și costuri minime pentru aceste sectoare, sistemul de operare “Windows on Arm®” este o alegere logică, deoarece acesta permite adaptarea platformei Windows la performanta arhitectură Arm.
Cu toate acestea, o provocare majoră în crearea sistemelor bazate pe “Windows on Arm” a fost lipsa kiturilor de dezvoltare adecvate. Deși sistemul de operare (SO) este disponibil de mult timp pe diferite plăci la nivelul tehnologiei IoT (Internet of Things) și al sistemelor de calcul embedded, aceste soluții necesită, de obicei, o inginerie hardware semnificativă înainte de a putea începe programarea.
Dezvoltatorii au nevoie de o soluție de tip “box PC” care să fie echipată cu sistemul de operare “Windows on Arm” și să integreze toate componentele necesare pentru a începe dezvoltarea de aplicații. Acest lucru ar reduce timpul de instalare și complexitatea, permițând dezvoltatorilor să se concentreze pe dezvoltarea și testarea aplicațiilor, fără a se preocupa de instalarea și configurarea software-ului inițial.
Articolul descrie criteriile de selecție a sistemului de operare care au condus la utilizarea sistemului “Windows on Arm” și analizează diferitele versiuni de Windows disponibile pentru a fi luate în considerare. Apoi, se prezintă kitul de dezvoltare EPC-R3720IQ-AWA12 Windows on Arm de la Advantech și se explică cum asigură acest kit un mediu perfect pentru accelerarea dezvoltării. Sunt incluse sfaturi utile de inițiere și se menționează instrumentele Microsoft care pot fi utilizate cu acest kit.
De ce să utilizăm Windows în loc de Linux sau RTOS?
Atunci când aleg un sistem de operare, dezvoltatorii au multe opțiuni, inclusiv Linux și diverse sisteme de operare în timp real (RTOS). Un motiv comun pentru alegerea Windows în locul sistemelor de operare alternative este gama extinsă de software și biblioteci disponibile. Acesta este un aspect esențial pentru mediile cu infrastructură Windows tradițională.
Windows oferă, de asemenea, un ecosistem de dezvoltare matur, cu instrumente cuprinzătoare și interfețe de programare a aplicațiilor (API) precum Visual Studio și framework-ul .NET. Programatorii pot alege dintr-o gamă largă de limbaje de programare precum C++, Python și Node.js și pot accesa diverse servicii Microsoft Azure pentru a dezvolta rapid funcționalități sofisticate.
Linux oferă unele dintre aceste avantaje, însă configurarea și întreținerea unei distribuții Linux poate necesita un efort considerabil. În plus, distribuțiile Linux pot varia foarte mult, ceea ce duce la provocări în procesul de dezvoltare.
Spre deosebire de Windows și Linux, RTOS pune accentul pe eficiență. Cu toate acestea, sistemele RTOS nu dispun de caracteristici avansate, cum ar fi interfețe grafice cu utilizatorul (GUI) bogate și un ecosistem cuprinzător asigurat de sistemele de operare cu funcționalități complete.
În sfârșit, dacă dezvoltatorii caută un sistem de operare robust, bogat în caracteristici și securizat, cu un ecosistem de dezvoltare matur, Windows se dovedește a fi o opțiune convingătoare. În orice caz, Windows este disponibil în mai multe variante și este esențial să înțelegeți diferențele.
Înțelegerea opțiunilor Windows
Microsoft oferă mai multe variante de Windows. Tabelul 1 evidențiază cele mai semnificative diferențe dintre aceste ediții. Pentru kitul EPC-R3720IQ-AWA12, Advantech a selectat sistemul Windows IoT Enterprise. Unul dintre avantajele oferite de această versiune este compatibilitatea sa cu UWP (Universal Windows Platform) și cu aplicațiile Win32 tradiționale. Această flexibilitate permite dezvoltatorilor să aleagă modelul de aplicație care se pliază cel mai bine pe nevoile lor.
|
Tabelul 1: Diferitele ediții de Windows suportă cazuri de utilizare unice. (Sursa tabelului: Kenton Williston, pe baza informațiilor Microsoft)
Windows IoT Enterprise oferă, de asemenea, caracteristici avansate de securitate care îmbunătățesc fiabilitatea:
- Capabilitățile de blocare a dispozitivului permit administratorilor să restricționeze dispozitivul pentru a rula doar aplicații autorizate.
- Inițializarea securizată asigură că dispozitivul pornește numai cu software de încredere.
- Criptarea BitLocker ajută la protejarea datelor sensibile.
Sistemul de operare oferă, de asemenea, instrumente de gestionare de nivel de întreprindere care permit suportul centralizat al dispozitivelor implementate. Aceste instrumente simplifică întreținerea și securitatea implementărilor IoT la scară largă.
Multe dintre aceste caracteristici nu sunt acceptate în Windows IoT Core, care este mai compact. Această ediție este destinată dispozitivelor simple, cu un singur scop, cu resurse limitate. Ea elimină caracteristici precum o interfață grafică și suport pentru aplicații Win32 tradiționale, fiind mai potrivită ca sistem de operare însoțitor pentru dispozitive complexe.
În schimb, Windows Pro standard oferă un set bogat de caracteristici, dar nu poate fi personalizat pentru implementări IoT. De asemenea, nu este disponibil cu suport LTSC pentru dispozitive cu durată lungă de viață.
De ce să folosim Windows on Arm?
Istoric, sistemul de operare Windows a fost legat de arhitectura x86. Astăzi, sistemul de operare rulează și pe procesoarele Arm, iar această opțiune deschide noi posibilități de proiectare.
Principalul avantaj al Windows on Arm este eficiența. Procesoarele Arm sunt cunoscute pentru consumul redus de putere, ceea ce le face potrivite pentru dispozitivele alimentate de la baterii și pentru aplicații în care se pune problema unui management termic. De asemenea, sistemele bazate pe Arm tind să pună accentul pe eficiența costurilor, ceea ce le face o opțiune atractivă pentru implementările IoT la scară largă.
Începeți imediat cu kitul de dezvoltare bazat pe Windows on Arm
După cum am menționat mai sus, unul dintre dezavantajele Windows on Arm a fost lipsa de hardware gata de utilizare. EPC-R3720IQ-AWA12 rezolvă această problemă prin furnizarea unui box PC preinstalat cu Windows 10 IoT.
Așa cum se observă în figura 1, kitul de dezvoltare este adăpostit într-o carcasă robustă de 174 × 108 × 25 milimetri (mm). Această carcasă este prevăzută cu suporți de montare și poate fi instalată pe teren, dacă se dorește.
În inima kitului de dezvoltare se află sistemul pe cip (SoC) MIMX8ML8DVNLZAB de la NXP Semiconductors, care se bazează pe un procesor Arm Cortex-A53 cu patru nuclee capabil să ruleze la 1,8 gigaherți (GHz) (acesta rulează la 1,6 GHz pe EPC-R3720IQ-AWA12). SoC-ul are o unitate de procesare neurală (NPU) de 2,3 tera operații pe secundă (TOPS), ceea ce îl face potrivit pentru sarcini de lucru de inteligență artificială (AI) și învățare automată (ML) edge (la marginea rețelei).
Kitul de dezvoltare dispune de 6 gigaocteți (Gbytes) de memorie, 16 Gbytes de stocare și opțiuni de extindere prin sloturi pentru Mini-PCIe, M.2, Micro SD și Nano SIM. În ceea ce privește conectivitatea, kitul de dezvoltare oferă două porturi Gigabit Ethernet (GbE), un port USB 2.0, un port USB 3.2 Gen 1, un port HDMI și un port serial care acceptă CAN FD.
Configurarea kitului de dezvoltare
Configurarea kitului de dezvoltare EPC-R3720IQ-AWA12 este un proces simplu. Următoarele puncte prezintă pașii cheie, începând cu setările de bază:
- Monitorul, tastatura și rețeaua trebuie să fie conectate prin porturile HDMI, USB și, respectiv, Ethernet.
- Kitul de dezvoltare va începe automat procesul de configurare Windows 10 IoT la prima inițializare. Odată ce acest proces este finalizat, utilizatorului i se va prezenta mediul Windows desktop.
- Utilizatorul trebuie să descarce și să instaleze Visual Studio de pe site-ul Microsoft pentru a configura mediul de dezvoltare. În timpul instalării, utilizatorul trebuie să selecteze componentele necesare pentru dezvoltarea aplicațiilor Windows IoT și orice alte sarcini de lucru necesare, cum ar fi .NET sau UWP.
- Orice kituri de dezvoltare software (SDK) și runtime-uri necesare trebuie instalate. De exemplu, dacă este nevoie de .NET 6 sau .NET 7, runtime-urile corespunzătoare trebuie descărcate de pe portalul Microsoft pentru dezvoltatori sau prin programul de instalare Visual Studio.
- După instalarea instrumentelor necesare, trebuie să configurați Visual Studio pentru dezvoltarea Windows IoT cu scopul de a vă asigura că sunt instalate versiunile corecte ale Windows SDK și ale instrumentelor.
În funcție de nevoile aplicației, pot fi necesare configurații suplimentare:
- În cazul în care este necesară o rețea wireless, trebuie atașată o antenă la conectorul inclus în kitul de dezvoltare. Pentru conectivitate celulară, trebuie prevăzută și instalată o cartelă SIM.
- Ar trebui testate toate perifericele conectate prin slotul M.2 sau alte porturi I/O, asigurându-se că sunt instalate driverele și software-ul necesare pentru aceste periferice.
- Trebuie configurat Azure IoT Hub corespunzător sau alte servicii cloud dacă aplicația presupune conectivitate cloud. Aceasta necesită configurarea unui cont Azure, crearea de resurse cu Azure și configurarea kitului de dezvoltare pentru a comunica cu aceste resurse.
Utilizatorul poate trece acum la dezvoltarea și implementarea aplicației. Dezvoltarea poate fi inițiată prin crearea unui proiect nou sau prin deschiderea unuia existent în Visual Studio. Aplicațiile pot fi dezvoltate, rulate și testate direct pe dispozitiv.
Dacă utilizatorii intenționează să depaneze aplicațiile de la distanță de pe un PC de dezvoltare, trebuie să configureze funcția de depanare la distanță. Acest lucru implică configurarea instrumentelor de depanare la distanță atât pe kitul de dezvoltare, cât și pe PC.
Concluzie
Windows on Arm oferă multe avantaje atractive pentru dispozitivele IoT complexe. Kitul EPC-R3720IQ-AWA12 permite inginerilor proiectanți o modalitate rapidă de a crea aplicații bazate pe acest sistem de operare, iar hardware-ul poate fi utilizat, în unele cazuri, direct pentru implementare. După cum s-a prezentat, utilizarea kitului de dezvoltare este simplă, ceea ce permite dezvoltatorilor să înceapă să creeze aplicații cu un nivel minim de configurare.
Referințe:
Autor: Rolf Horn – Inginer de aplicații
Rolf face parte din grupul European de Asistență Tehnică din 2014, având responsabilitatea principală de a răspunde la întrebările venite din partea clienților finali din EMEA referitoare la Dezvoltare și Inginerie. Înainte de DigiKey, el a lucrat la mai mulți producători din zona semiconductorilor, cu accent pe sistemele embedded ce conțin FPGA-uri, microcontrolere și procesoare pentru aplicații industriale și auto. Rolf este licențiat în inginerie electrică și electronică la Universitatea de Științe Aplicate din Munchen, Bavaria.
DigiKey | https://www.digikey.ro