Arduino Pro – o cale ușoară, neconvențională, către succesul aplicațiilor IoT

by donpedro

Arduino – de ce este util nu doar pentru amatori?

Platforma Arduino a câștigat o enormă popularitate în întreaga lume. La început, a fost folosită în primul rând de către amatori și pasionați de electronică, însă, treptat, a dobândit și aprecierea profesioniștilor. Cel mai important avantaj al soluțiilor oferite de Arduino este ușurința drumului parcurs de la idee la aplicație și, de aceea, și-au câștigat de partea lor multe milioane de utilizatori în întreaga lume. Cu ajutorul acestora sunt construite nu doar prototipuri, dar și produse finite. Bazându-se pe popularitatea sa, platforma Arduino pătrunde în lumea dispozitivelor IoT și propune componente hardware și software ușor de utilizat. Acestea permit construirea de aplicații Internet of Things cu ajutorul unor soluții gata de utilizare, fără a fi nevoie de elaborarea ideilor de la zero și, în multe cazuri, nici de angajarea unor experți externi.

Utilizarea Arduino în aplicații embedded

O confirmare în acest sens o reprezintă numeroasele cazuri de aplicații embedded prezentate pe internet. Acestea iau naștere fără utilizarea unui compilator de limbaj C sau C++, ci doar pe baza platformei Arduino și a modulelor gata de utilizare disponibile pentru aceasta, precum controlere necomplicate de reclame luminoase sau unele mai complexe – destinate mașinilor CNC și aplicațiilor cu comunicație fără fir.

Dezvoltarea platformei a fost favorizată prin punerea la dispoziție a unei documentații complete pentru aceasta, precum și a unor numeroase exemple de utilizare, fiind create astfel o multitudine de soluții inovatoare. Astfel, atunci când creatorii platformei nu au găsit singuri o anumită utilizare, a făcut acest lucru altcineva și a prezentat-o pe propriul blog sau pagină de internet. În acest mod, a apărut un număr enorm de module de extensie, numite și shield-uri, care includ diferite opțiuni utile. Un proverb chinezesc spune că „lumea aceasta este atât de mare încât nu e nimic care să nu poată exista”. Acesta se verifică și în ceea ce privește ecosistemul Arduino. Pe baza modulelor hardware, bibliotecilor și software-ului disponibile în cadrul acestuia au apărut nenumărate proiecte, care oferă nu doar posibilitatea de a consulta soluțiile, dar și de a beneficia de ideile din baza de date.

Utilizatorii care au intrat în lumea electronicii folosind platforma Arduino vor apela cu plăcere la aceleași soluții elaborând proiecte profesionale, mai complexe. Acest lucru este favorizat de caracterul open source al Arduino, care a fost păstrat în pofida creșterii gradului de profesionalizare a platformei. Astfel, peste 30 de milioane de utilizatori activi introduc mereu inovații, dezvoltă mediul de lucru, răspunzând la nevoile pieței, dar și testând soluțiile în diferite condiții și locuri din lume. Pentru utilizatori, aspecte importante sunt și lipsa taxelor pentru licența de utilizare și posibilitatea de utilizare a protocolului de comunicație.

În pofida surselor de programe deschise, general accesibile, dacă trebuie să „etanșăm” accesul la rețelele de comunicare sau senzori, putem folosi criptografia și mecanisme de identificare pentru autentificarea dispozitivelor și criptarea transferului de date. Lucru important, dacă avem nevoie, cu siguranță vom găsi soluții gata de utilizare în imensa bibliotecă de aplicații și module Arduino.

Arduino Pro – de ce merită să pariem pe această soluție?

Tot mai mult se vorbește despre două tehnologii revoluționare, care provoacă multă agitație pe piața componentelor electronice și a programelor informatice pentru analiza datelor. Este vorba despre Internetul Lucrurilor (Internet of Things, IoT) și Industria 4.0 (Industry 4.0). Prima dintre acestea va avea o influență enormă asupra vieții noastre per ansamblu, în schimb cea de-a doua va putea fi întâlnită, în primul rând, în întreprinderile industriale. Ambele necesită date obținute din rețeaua de senzori amplasați în punctele importante pentru aplicație și algoritmi extinși, care, tot mai des, implică și tehnologia inteligenței artificiale (AI) pentru prelucrarea, sinteza, analiza și tragerea de concluzii pe baza informațiilor de la senzori și alte surse. De exemplu, cu ajutorul tehnologiei IoT se pot realiza și conecta în rețea senzori de monitorizare permanentă a nivelului apei dintr-un râu și a condițiilor meteo de-a lungul întregului curs care ne interesează, pe teritoriul țării sau chiar în afara granițelor. În acest mod, folosind și AI, este posibilă nu doar monitorizarea nivelului apei din râul respectiv, dar și declanșarea alarmelor corespunzătoare, pregătind o localitate pentru secetă sau inundație. La fel în cazul unei rețele de energie electrică – datele de la senzori ar putea permite obținerea cu ușurință de informații privind sarcina sistemului, avariile din rețea, planificarea lucrărilor de service etc.

Kit de dezvoltare Arduino Pro: ABX00011

Fapt important, până în prezent asemenea aplicații puteau fi realizate doar de concernuri care dispun de enorme resurse financiare și de acces la tehnologii adesea confidențiale. Datorită platformelor precum Arduino Pro, a devenit posibilă realizarea de soluții asemănătoare și de către persoanele sau întreprinderile care dispun de resurse financiare mult mai modeste și, în plus, datorită open source, acestora li s-a oferit acces la o enormă bază de cunoștințe și soluții create de utilizatori din întreaga lume. Potrivit sloganului publicitar Arduino, nu contează cât de mare sau mică este firma voastră, Arduino Pro este gata să colaboreze pentru transformarea și dezvoltarea acesteia.

Arduino Pro – cui se adresează?

Deși în sloganul publicitar Arduino Pro este vorba de întreprindere, datorită disponibilității componentelor, software-ului și documentației, precum și ușurinței de utilizare a acestora, Arduino Pro poate fi utilizat de oricine are o idee sau nevoia de realizare a unei aplicații pe baza unei rețele de senzori conectați. Pentru analiza datelor nu trebuie exploatați de la bun început algoritmii AI – în multe situații este suficient ca acestea să fie prezentate în mod corespunzător operatorului sau utilizatorului. Însă cel mai mare potențial pentru utilizarea Arduino Pro îl vor avea:

  • Întreprinderi care transformă rețeaua de distribuție a produselor sau serviciilor din forma tradițională bazată pe cantitățile contractate într-un sistem de livrare la comandă asistat de IoT, în funcție de cerințele partenerului contractual.
  • Unitățile de producție care încearcă să crească eficiența producției prin monitorizare, control și analizarea stocurilor, liniilor de producție, mașinilor și echipamentelor, liniilor de livrare etc.
  • Startup-uri care încearcă să adauge transferul de date la soluțiile deja existente.
  • Utilizatorii soluțiilor propuse de Arduino, care doresc să probeze pe teren aplicațiile elaborate sau să realizeze serii scurte de produse.

Arduino Pro a fost realizat în primul rând pentru a-i susține pe profesioniștii care sunt motorul schimbării în întreprinderi și în lumea care ne înconjoară. Platforma cuprinde toate aspectele necesare de care aceștia pot avea nevoie: cloud pentru achiziția și stocarea de date, echipamente hardware, mediu de programare destinat creării de programe pentru platforme hardware, soluții de comunicare și marcare a poziției pe baza datelor din sistemele de geolocalizare, interfață de utilizator, vizualizare date, algoritmi și integrarea acestora în sistemul de management al întreprinderii deja existent. Fapt important, în multe situații aceste lucruri sunt posibile fără a fi necesare efectuarea de expertize costisitoare și angajarea unor consultanți scumpi, iar aceasta datorită politicii open source, pe baza căreia a fost creat Arduino Pro și datorită posibilității folosirii soluțiilor deja probate.

Platforma hardware Arduino Pro

Broșura Arduino Pro

Arduino Portenta

Kit de dezvoltare Arduino Pro: ABX00042

Ca bază pentru soluții mai avansate în cadrul platformei Arduino Pro este propusă placa de microcalculator Arduino Portenta H7, echipată cu procesorul cu 2 nuclee STM32H747 care conține unitățile: Cortex M7 tactată la frecvența de 480 MHz și Cortex M4 tactată la 240 MHz. Pentru utilizatorii obișnuiți cu plăcile cu procesoare AVR puterea mare de calcul poate părea inutilă, însă în unele utilizări, aceasta poate fi justificată prin consumul mediu de putere de alimentare.

Să ne imaginăm rețeaua de senzori pentru nivelul apei și condițiile de mediu, amintită mai sus, dispusă de-a lungul râului. Nu vom dispune de alimentare staționară, de rețea, în orice punct al acesteia. De asemenea, nu întotdeauna vom reuși să îndeplinim cerințele tehnice pentru a obține această alimentare. Așadar, în practică, alimentarea staționară este aplicată la nodurile/porțile rețelei de senzori, care se vor planifica în locurile unde aceasta este disponibilă. Senzorii în sine sunt alimentați cu putere de la baterii, acumulatoare sau surse de energie regenerabile. Din punctul de vedere al utilizatorului senzorilor, cu cât bateriile sau acumulatoarele vor necesita mai rar înlocuirea, cu atât mai bine. Frecvența de înlocuire a bateriilor este strict legată de durabilitatea acestor surse și de consumul de putere al echipamentului alimentat. Din acest motiv, procesorul din aplicația senzorului IoT funcționează, de obicei, în modul ‘sleep’, în care este consumată o putere infimă de la sursa de alimentare. Ulterior, este scos periodic din modul de economisire a energiei și efectuează operațiuni legate de achiziția de date și de codarea acestora în pachete comprehensibile pentru receptor. Bineînțeles, această sarcină îi va lua mult mai puțin timp unității rapide de procesare. Prin urmare, în pofida puterii enorme de calcul (sau, în primul rând, datorită acesteia), consumul mediu de energie de alimentare al procesorului rapid este cu mult mai mic decât în cazul celui lent, tactat la o frecvență de câțiva MHz, deși intuitiv ar putea părea invers.

Desigur, nu există niciun impediment ca potențialul din Arduino Portenta H7 să fie folosit și în aplicații în care procesorul este alimentat dintr-o sursă staționară și se ocupă, de exemplu, de un algoritm de prelucrare și evaluare a imaginilor, de condiționarea semnalelor etc.

Ambele nuclee ale procesorului microcalculatorului Arduino Portenta H7 partajează module periferice, cu ajutorul cărora comunică cu mediul și între ele. Microcalculatorul poate executa programe:

  • Scrise cu ajutorul Arduino Sketch – scripturi realizate sub controlul unui sistem de operare Mbed OS.
  • Aplicații native pentru Mbed OS.
  • Destinate interpretului integrat Micro Python/Java Script.
  • Realizate pe baza platformei TensorFlow Lite.

Modulul integrat pentru comunicație fără fir permite comunicarea simultană prin Wi-Fi și Bluetooth. Interfața Wi-Fi pentru platforma Arduino Pro poate funcționa ca punct de acces, stație sau în modul dublu (punct de acces/stație) și permite transmisia de date cu o viteză de până la 65 Mb/s. Interfața Bluetooth funcționează în modurile Bluetooth 2.0 și BLE. Placa microcalculatorului Arduino Portenta H7 este compatibilă cu formatul Arduino MKR, dar este prevăzută cu un conector cu 80 pini, de înaltă densitate.

Arduino MKR și Arduino Pro

Kit de dezvoltare Arduino Pro: ABX00023

Senzorii și modulele de comunicație pot fi utilizate cu ajutorul produselor din gama Arduino MKR. Printre acestea, se numără plăci echipate cu procesoare cu nucleu Cortex-M0+ și diverse interfețe de comunicație, datorită cărora aplicațiile realizate pot fi ușor scalabile. Să reținem că aceste module sunt binecunoscute și folosite și de proiectanții și producătorii altor echipamente, care nu sunt legate de IoT.

Atunci când își descrie modulele din gama Arduino MKR, producătorul sugerează și nivelul soluției la care pot fi utilizate acestea. Se pare că această sugestie este legată de puterea de calcul și de deținerea unor circuite de extindere a funcționalității procesorului. De exemplu, modulele propuse la nivelul ‘Beginner’ (începător) MKR WIFI 1010 sunt prevăzute cu interfețe Wi-Fi și Bluetooth LE, care au mai degrabă o rază mică de acțiune – conform documentației producătorului, permit realizarea de aplicații pentru automatizări de clădiri, care funcționează în interiorul încăperilor. Placa este bazată pe procesorul ATSAMD21 cu nucleu Cortex-M0+ și pe modulul de comunicație Wi-Fi/BLE de la u-blox NINA-W102. Modulele MKR propuse la nivelul ‘Intermediate’ (mediu avansat) permit deja construirea de rețele cu raza de acțiune de câțiva kilometri (Sigfox, LoRa, Narrowband IoT) sau chiar globală (GSM). Acestea sunt propuse pentru aplicații care includ agricultura, transportul, industria, monitorizarea mediului, orașe inteligente, tehnologia ‘wearables’ și altele.

Kit de dezvoltare Arduino Pro: ABX00022

Placa propusă la nivelul Advanced (avansat) MKR Vidor 4000, în afară de procesorul ATSAMD21, are montat și un circuit FPGA de tip 10LC016 din gama Cyclone. Întrucât Arduino propune această placă pentru aplicații care necesită prelucrarea imaginii și/sau a sunetului, aceasta a fost prevăzută cu interfețe Wi-Fi/BLE, care permit comunicarea, în primul rând, cu calculatorul local, tableta sau smartphone-ul, care vor îndeplini funcția de interfață pentru utilizator.

Arduino Nano 33

Pentru aplicațiile profesionale sunt propuse două plăci de bază: Arduino Nano 33 BLE și Arduino Nano 33 BLE Sense. Dotarea acestora a fost elaborată astfel încât să fie potrivite pentru utilizarea în dispozitive de tip ‘wearables’ sau pentru montarea pe drone sau în vehicule autonome. Dimensiunile miniaturale ale plăcilor (doar 45 mm×18 mm) permit amplasarea într-un spațiu mic a unui microcalculator foarte puternic, gata de utilizare și folosirea puterii de calcul a acestuia și a interfețelor care permit comunicarea cu mediul. Producătorul declară că acestea sunt cele mai mici produse ale sale cu o putere de calcul atât de mare, încât, datorită acestora, putem utiliza un software bazat pe AI.

Arduino Nano 33 BLE Sense

Cele două plăci folosesc puterea unui nucleu ARM Cortex-M4 tactat la frecvența de 64 MHz, integrat într-un circuit radio nRF52840. Arduino Nano 33 BLE este prevăzut cu un senzor IMU cu 9 axe, iar 33 BLE Sense are și senzori de temperatură, umiditate, presiune, microfon integrat, senzor de gesturi, de proximitate și intensitate luminoasă. Acestea sunt dotări impresionante pe o placă de dimensiuni atât de mici, care permit folosirea acesteia nu doar pentru construirea de dispozitive ‘wearables’, dar și de rețele de senzori utilizați în construcție sau în experimente științifice care necesită comunicarea pe o rază mică, locală.

Module de extensie pentru Arduino Portenta H7

Arduino Nano 33 BLE

Printre modulele de extensie mai avansate, compatibile cu Arduino Portenta H7, se numără și shield-ul Portenta Vision. Pe acesta este montată o cameră cu rezoluția 324×324 pixeli și un consum de putere foarte mic. Datorită necesarului redus de energie, acest modul poate fi folosit și în aplicații de prelucrare a imaginii care funcționează cu o alimentare neîntreruptă de la baterii. Senzorul de imagine de tip CMOS are o sensibilitate foarte mare și permite recunoașterea gesturilor, măsurarea nivelului luminii ambiante, evaluarea distanței și identificarea obiectelor. Modulul este prevăzut și cu două microfoane omnidirecționale cu interfață digitală. Imaginea și sunetul pot fi înregistrate pe un card MicroSD. Datele din modul pot fi transferate prin intefață Ethernet sau LoRa. Realizarea de aplicații pentru modul este facilitată datorită disponibilității unei biblioteci de funcții OpenMV, disponibilă pentru limbajul Python.

Familia de produse MKR conține un sortiment destul de mare de module care extind funcționalitatea plăcii de bază. Printre acestea se află nu doar plăci cu componente electronice suplimentare, dar și adaptoare necomplicate care permit introducerea de semnale din mediu cu ajutorul unor conectori industriali standard. Printre plăcile de extensie a funcționalității merită menționate numeroasele plăci de interfață (MKR 485 – RS485, MKR CAN – CAN Bus, MKR ETH – Ethernet), placa de relee, driverul pentru motoare cu 4 ieșiri de curent continuu și 4 intrări pentru senzori analogici, placa cu slot pentru memorie MicroSD, pe care poate fi stocată local o cantitate imensă de date, placa cu senzori de monitorizare a parametrilor de mediu, placa cu matrice de diode RGB, placa cu senzori de temperatură și cu giroscop/accelerometru cu 9 axe.

Software – Arduino IoT Cloud, Arduino IoT API, Arduino IDE Pro, Arduino CLI

Chiar și cel mai avansat computer este inutil dacă nu are instalat software-ul corespunzător. Creatorii Arduino Pro, atunci când oferă echipamente destinate dezvoltării de aplicații IoT, au introdus și un software potrivit, destinat nu doar creării de aplicații, dar care permite și achiziția, stocarea și prelucrarea în siguranță a datelor.

Arduino IoT Cloud

Arduino IoT Cloud este o modalitate ușoară și sigură de conectare a senzorilor, care funcționează la distanță, la aplicația care gestionează funcționarea întreprinderii sau la interfața care permite utilizarea datelor de către milioane de utilizatori, de exemplu sub formă de hartă, diagramă sau o altă reprezentare grafică. În plus, cloudul Arduino IoT Cloud permite adresarea și accesul din interfața de utilizator la o locație concretă care necesită, din orice motiv, inspecție sau service. Accesul este posibil din orice loc din lume în care dispunem de o conexiune la cloud, cu ajutorul fie al unui calculator, fie al unui dispozitiv mobil. Fapt important, cei interesați de dezvoltarea unor asemenea aplicații au acces la mii de linii de cod gata de utilizare în propria soluție, care demonstrează faptul că sunt suportate diferite tipuri de senzori și elemente de acționare.

Arduino IoT API

Așa cum s-a amintit deja, datele din senzori pot fi prezentate în timp real în format grafic sau pot fi trimise către o bază de date. Sunt disponibile numeroase exemple de utilizare a acestora cu ajutorul foilor de calcul Google, al asistentului Amazon Alexa și al altor producători de software. De asemenea, cu Arduino IoT API pot fi elaborate aplicații proprii, unicat. Software-ul cloudului poate fi testat în mod gratuit – funcționalitatea completă este disponibilă prin conectarea unei singure plăci MKR sau Portenta. Pentru conectarea unui număr mai mare de echipamente trebuie cumpărat un abonament. Însă aici este necesară o observație importantă. Varianta gratuită funcționează doar cu produse Arduino, în schimb varianta comercială oferă posibilitatea de conectare la cloud a altor microcalculatoare, precum Raspberry Pi, module cu ESP8266 etc.

Întreaga comunicație cu cloudul este criptată cu ajutorul protocolului SSL. Plăcile din gamele Arduino Portenta și Arduino MKR au integrate unități criptografice, care susțin comunicarea cu ajutorul acestui protocol în timp real. În plus, au fost prevăzute cu un mecanism de autentificare asistat cu ajutorul unui circuit suplimentar care conține o cheie compatibilă cu X.509.

O noutate în oferta Arduino este reprezentată de cartelele SIM. Utilizarea acestor cartele permite crearea de rețele de senzori care comunică cu cloudul cu ajutorul stațiilor de bază din rețeaua de telefonie mobilă, folosite în modul roaming în peste 100 de țări.

Arduino IDE Pro

Software-ul pentru dispozitivele de la „margine” poate fi realizat cu ajutorul Arduino IDE Pro. Acest mediu de programare moștenește caracteristicile binecunoscutului Arduino IDE, așadar utilizatorii acestuia nu trebuie să-și schimbe multe obiceiuri și să învețe din nou modul de lucru. Cea mai rapidă cale pentru a începe crearea unui software pentru o rețea de senzori constă în utilizarea unui editor Web. Este o soluție folosită în prezent de mulți producători de software. Avantajul acesteia este că, într-o anumită măsură, compilatorul devine independent de puterea de calcul și de tipul sistemului de operare al echipamentului pe care lucrăm. Ca utilizatori, beneficiem, de asemenea, de actualizări și corecții introduse în mod continuu și de acces la cele mai noi tutoriale și exemple. Codul sursă este păstrat într-o zonă de pe server care ne este alocată și, cu siguranță, este mai bine protejat decât pe laptopul nostru portabil sau chiar pe calculatorul desktop aflat în birou. Acest lucru are însă un dezavantaj, și anume faptul că necesită acces permanent la internet, ceea ce nu este întotdeauna posibil. De aceea o altă propunere pentru utilizatori este versiunea IDE, destinată instalării pe un calculator staționar. Aceasta – ca un adevărat program open source – este disponibilă pentru sisteme Windows, Linux (64 bit) și Mac OS X.

Arduino CLI

Pentru utilizatorii avansați este propus interpretul de comenzi Arduino CLI, care funcționează în modul consolă (linii de comenzi). Acesta conține un compilator, permite managementul plăcilor și bibliotecilor de funcții, programarea de dispozitive, cuplarea/decuplarea acestora și alte operațiuni. Arduino CLI poate fi folosit pe platforme construite pe baza procesoarelor produse de ARM sau Intel. Astfel, poate fi utilizat la fel de bine pe un computer PC ca și pe un microcalculator de tip Raspberry Pi.

Transfer Multisort Elektronik   |   https://www.tme.eu

 

 

 

Articol creat de TME

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