Arduino Pro – nekonvencionalna, enostavna pot do uspeha aplikacij IoT
16.03.2021
Nove rešitve Arduino za aplikacije IoT in Industrijo 4.0.
- Arduino – zakaj je primeren ne samo za ljubitelje?
- Arduino Pro – zakaj velja izbrati to rešitev?
- Arduino Pro – komu je namenjen?
- Platforma strojne opreme Arduino Pro
- Arduino Portenta
- Arduino MKR in Arduino Pro
- Arduino Nano 33
- Razširitveni moduli za Arduino Portenta H7
- Programska oprema - Arduino IoT Cloud, Arduino IoT API, Arduino IDE Pro, Arduino CLI
- Arduino IoT Cloud
- Arduino IoT API
- Arduino IDE Pro
- Arduino IDE CLI
Arduino – zakaj je primeren ne samo za ljubitelje?
Platforma Arduino je postala zelo popularna na celem svetu. Na začetku se je asociirala z ljubiteljsko uporabo, ampak si je sčasoma zaslužila tudi priznanje strokovnjakov. Najpomembnejša prednost rešitev znamke Arduino je enostavni prehod od ideje do aplikacije, zato jih uporabljajo milijoni ljudi po celem svetu. Uporabljajo se ne samo za izdelavo prototipov ampak tudi gotovih izdelkov. Platforma Arduino svojo poupularnost izkorišča za vstop v svet naprav IoT in nudi enostavne za uporabo naprave in programsko opremo, ki omogočajo izdelavo aplikacij Interneta Stvari z uporabo gotovih rešitev, ne da bi bilo za to treba ideje razvijati od samega začetka in angažirati zunanje strokovnjake.
Uporaba Arduino v embedded aplikacijah
To potrjujejo številne embedded aplikacije, ki jih lahko najdemo na spletu. Za njihovo ustvarjanje se ne uporablja kompilator jezika C czy C++, temveč samo platforma Arduino in gotovi moduli zanjo, kot so npr. preprosti krmilniki svetlobnih oglasov in bolj zapleteni krmilniki za CNC stroje in aplikacije, ki podpirajo brezžične povezave.
Razvoj platforme je spodbudila objava njene celotne dokumentacije in številnih primerov uporabe. To je povzročilo nastanek številnih inovativnih rešitev, ki jih ustvarjalci platforme niso predvideli, ampak so jih drugi uporabniki izumili in objavili na spletu. Tako so nastali nešteti razširitveni moduli tako imenovanih shields (oziroma ščitov), ki nudijo raznovrstne koristne možnosti. Star kitajski rek pravi: »svet je tako velik, da ni ničesar, česar na njem ne bi bilo«. To velja tudi za ekosistem Arduino. Z uporabo razpoložljivih modulov strojne opreme, knjižnic in programov so nastali nešteti projekti, ki omogočajo ne samo, da spoznamo uporabljene rešitve, ampak tudi da jih izkoristimo sami.
Uporabniki, ki so svojo izkušnjo z elektroniko začeli prav s platformo Arduino, radi iste rešitve uporabljajo tudi za izdelavo strokovnih, bolj zapletenih aplikacij. K temu prispeva tudi to, da je Arduino dostopen kot open source in takšen ostaja še naprej kljub čedalje večji profesionalizaciji platforme. Zato več kot 30 milijonov aktivnih uporabnikov vanjo uvaja vedno več inovacij in tako jo razvija in preizkuša v različnih pogojih in krajih na svetu. Za uporabnike je zelo pomembno tudi, da je licenca za dajanje na razpolago in možnost uporabe komunikacijskega protokola brezplačna.
Kljub odprtim, splošno dostopnim virom programov lahko za avtentifikacijo naprav in šifriranje podatkov uporabimo kriptografijo in avtentifikacijske postopke in tako omejimo dostop do komunikacijskih omrežij ali tipal. Pomembno je tudi, da po potrebi brez težav v obsežni knjižnici aplikacij in modulov Arduino najdemo gotove rešitve.
Arduino Pro – zakaj velja izbrati to rešitev?
Vedno pogosteje govorimo o dveh revolucionarnih tehnologijah, ki dvigata precej prahu na trgu elektronskih komponent in programov za analizo podatkov. To sta Internet Stvari (IoT) in Industrija 4.0. Prva med njima bo imela ogromen vpliv na naše življenje, z drugo pa se srečujemo predvsem v industrijskih obratih. Obe zahtevata podatke, pridobljene s tipali, nameščenimi na točkah, pomembnih za aplikacijo, ter zapletenih algoritmov, ki vse pogosteje uporabljajo tudi tehnologijo umetne inteligence (AI) za obdelavo, sintezo, analizo in oblikovanje sklepov na podlagi podatkov iz tipal in drugih virov. S pomočjo tehnologije IoT lahko na primer izdelamo in povežemo v omrežje tipala, ki tekoče spremljajo nivo vode v reki in vremenske razmere vzdolž celotnega odseka, ki nas zanima, tudi preko državnih meja. Če dodatno uporabimo tudi umetno inteligenco, lahko ne samo spremljamo nivo vode v reki ampak tudi objavljamo alarme o poplavah in mesta pripravimo za sušo ali povodenj. Podobno velja za elektroenergetsko omrežje, kjer bi lahko podatki iz tipal omogočili enostavno pridobivanje informacij o obremenitvah in okvarah omrežja, načrtovanje servisnih del itn.
Do sedaj so lahko takšne aplikacije uporabljali samo koncerni, ki razpolagajo z velikimi finančnimi viri in zaupnimi tehnologijami. Zahvaljujoč platformam, kot je Arduino Pro, možnost uporabe zapletenih rešitev imajo tudi ljudje in podjetja s skromnejšimi finančnimi sredstvi, ki dodatno imajo na voljo ogromno zbirko znanja in rešitev, ki jih ustvarijo uporabniki na celem svetu, saj je Arduino Pro na voljo kot open source. Oglaševalski slogan Arduino se glasi: ne glede na to, kako veliko je vaše podjetje, je Arduino Pro pripravljen za njegovo preoblikovanje in razvoj.
Arduino Pro – komu je namenjen?
Kljub temu, da je v oglaševalskem geslu Arduino Pro govora o podjetju, lahko to platformo zaradi dostopnosti komponent, programske opreme in dokumentacije ter prijaznosti uporabniku uporabi vsakdo, kdor ima idejo ali potrebo po izdelavi aplikacije, temelječe na omrežju povezanih tipal. Za analizo podatkov ni vedno treba uporabiti umetne inteligence, saj v številnih primerih zadošča, da jih ustrezno predstavimo operaterju ali uporabniku. Najbolje pa lahko možnosti Arduino Pro izkoristijo:
- podjetja, ki tradicionalno omrežje za distribucijo izdelkov ali storitev, ki temelji na vnaprej naročenih količinah, preoblikujejo v omrežje, ki omogoča dostavo po naročilu, odvisno od trenutnih potreb,
- proizvodni obrati, ki iščejo možnosti za izboljšanje učinkovitosti proizvodnje s spremljanjem, nadzorom in analizo stanja zalog, proizvodnih linij, strojev in naprav, dobavne verige itn.,
- zagonska podjetja, ki iščejo možnosti za dodajanje prenosa podatkov že obstoječim rešitvam,
- uporabniki rešitev Arduino, ki želijo izvesti terenske preizkuse novih aplikacij ali izdelati majhne serije izdelkov.
Namen Arduino Pro je, da ponudi podporo strokovnjakom, ki spodbujajo spremembe v podjetjih in svetu okoli nas. Platforma obsega vse elemente, ki jih lahko ti potrebujejo: oblak za pridobivanje in shranjevanje podatkov, strojno opremo, programsko okolje za ustvarjanje programov za strojne platforme, rešitve za povezave in za določanje položaja z uporabo sistemov geolokalizacije, uporabniški vmesnik, grafični prikaz podatkov, algoritme in možnost njihove povezave z obstoječim sistemom upravljanja podjetja, ne da bi bilo za to treba naročiti draga strokovna mnenja ali zaposliti visoko plačane svetovalce. To je možno zaradi politike open source, na podlagi katere je bila ustvarjena platforma Arduino Pro, in možnosti uporabe že preizkušenih rešitev.
Platforma strojne opreme Arduino Pro Arduino Portenta
Platforma Arduino Pro kot osnovo za bolj napredne rešitve nudi ploščico mikroračunalnika Arduino Portenta H7, opremljeno z 2-jedrnim procesorjem STM32H747, ki vsebuje enoti: Cortex M7 s frekvenco 480 MHz in Cortex M4 s frekvenco 240 MHz. Tako velika računska moč se lahko uporabnikom, navajenim na ploščice s procesorji AVR, zdi odveč, ampak je lahko pri nekaterih uporabah utemeljena s povprečno porabo moči.
Predstavljajmo si prej omenjeno omrežje tipal nivoja vode in vremenskih razmer, nameščeno vzdolž reke. Na nekaterih točkah ne bomo imeli na voljo električnega omrežja za napajanje, ponekod ga zaradi nemožnosti izpolnitve tehničnih zahtev ne bomo mogli niti napeljati. Zato se v praksi napajanje napelje na vozlišča oz. vrata omrežja tipal, ki se namestijo tam, kjer je električno omrežje na voljo. Sama tipala pa se napajajo iz baterij, akumulatorjev ali obnovljivih virov energije. Z vidika uporabnika tipal je zaželeno, da se baterije oziroma akumulatorji kar najredkeje zamenjajo. Pogostnost menjave baterij je tesno povezana z njihovo življenjsko dobo in porabo energije s strani napajane naprave. Zato procesor v aplikaciji tipala IoT običajno dela v načinu pripravljenosti, v katerem porabi neznatno količino energije iz vira napajanja, in se iz varčnega načina zbudi le občasno, da pridobi podatke in jih kodira v pakete, razumljive za prejemnika. Seveda to traja manj časa, če imamo na voljo hiter procesor. Zato je povprečna poraba energije iz vira napajanja kljub ogromni računski moči (in hkrati zaradi nje) veliko manjša pri hitrem procesorju kot pa pri počasnem procesorju s frekvenco nekaj MHz, pa čeprav bi se lahko zdelo, da je obratno.
Seveda ni nobenih ovir, da možnosti Arduino Portenta H7 izkoristimo tudi v aplikacijah, v katerih se procesor napaja iz trajnega vira napajanja in se ukvarja npr. z algoritmom obdelave in ocene slike, pogojevanjem signalom ali podobno zahtevnimi nalogami.
Obe jedri procesorja mikroračunalnika Arduino Portenta H7 souporabljata periferne module, preko katerih se povezujeta z okoljem in med sabo. Mikroračunalnik lahko izvaja:
- programe, napisane s pomočjo Arduino Sketch oziroma skript, ki se izvajajo v operacijskem sistemu Mbed OS.
- lastne aplikacije Mbed OS.
- programe, namenjene za vgrajen tolmač Micro Python/Java Script.
- programe, ki temeljijo na platformi TensorFlow Lite.
Vgrajen modul za brezžično komunikacijo omogoča istočasne povezave preko Wi-Fi in Bluetooth. Vmesnik Wi-Fi za platformo Arduino Pro se lahko uporablja kot dostopna točka, postaja ali v dvojnem načinu (dostopna točka / postaja) in omogoča prenos podatkov s hitrostjo do 65 Mb/s. Vmesnik Bluetooth deluje v načinih Bluetooth 2.0 in BLE. Ploščica mikroračunalnika Arduino Portenta H7 je skladna s formatom Arduino MKR, ampak je opremljena z 80-pinskim priključkom z veliko gostoto.
Arduino MKR in Arduino Pro
Tipala in komunikacijski moduli se lahko izdelajo z uporabo izdelkov iz družine Arduino MKR. Med njimi so ploščice, opremljene s procesorji z jedrom Cortex-M0+ in različnimi komunikacijskimi vmesniki, s pomočjo katerih se aplikacije lahko enostavno prilagajajo. Te dobro poznane module pogosto uporabljajo tudi razvijalci in proizvajalci druge opreme, nepovezane z IoT.
Proizvajalec v opisu svojih izdelkov iz družine Arduino MKR priporoča tudi tako rekoč nivo rešitve, na katerem se lahko ti uporabljajo. Zdi se, da to priporočilo temelji na računski moči procesorja in razširitvenih vezjih zanj. Na moduli MKR WIFI 1010, ki se priporočajo za nivo Beginner (začetnik), so opremljeni z vmesnikoma Wi-Fi in Bluetooth LE, ki imata razmeroma majhen domet; po podatkih, vsebovanih v proizvajalčevih gradivih, ti moduli omogočajo izdelavo aplikacij za stavbno avtomatiko za uporabo v notranjih prostorih. Ploščica temelji na procesorju ATSAMD21 z jedrom Cortex-M0+ in na komunikacijskem modulu Wi-Fi/BLE znamke u-blox NINA-W102. Moduli MKR, ki se predlagajo na nivoju Intermediate (vmesnem), že omogočajo izdelavo omrežja z dometom več kilometrov (Sigfox, LoRa, Narrowband IoT) in celo z globalnim dometom (GSM). Priporočajo se za področja, kot so npr. kmetijstvo, prevozi, industrija, spremljanje okolijskih parametrov, pametna mesta, tehnologija wearables itn.
Na nivoju Advanced (naprednem) se predlaga ploščica MKR Vidor 4000, ki ima poleg procesorja ATSAMD21 nameščeno tudi vezje FPGA vrste 10LC016 iz družine Cyclone. Ker Arduino to ploščico priporoča za aplikacije, ki zahtevajo obdelavo slike in/ali zvoka, je opremljena tudi z vmesnikoma Wi-Fi/BLE, ki omogočata povezave predvsem z lokalnim PC računalnikom, tabličnim računalnikom ali pametnim telefonom, ki služijo kot uporabniški vmesnik.
Arduino Nano 33
Za strokovne aplikacije proizvajalec priporoča dve osnovni ploščici: Arduino Nano 33 BLE in Arduino Nano 33 BLE Sense. Njuna oprema je zasnovana tako, da sta primerni za uporabo v napravah vrste wearables in za namestitev v brezpilotnih letalih in avtonomnih vozilih. Miniaturne mere ploščic (samo 45 mm×18 mm) omogočajo, da v majhnem prostoru namestimo zelo zmogljiv mikroračunalnik, ki nudi veliko obračunsko moč in vmesnike za povezave z okoljem. Proizvajalec zagotavlja, da sta to njegova najmanjša izdelka, katerih računska moč je dovolj velika, da omogoča uporabo programov, temelječih na umetni inteligenci.
Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense
Obe ploščici uporabljajo moč jedra ARM Cortex-M4 s frekvenco 64 MHz, vgrajenega v radijsko vezje nRF52840. Arduino Nano 33 BLE je opremljena z 9-osnim senzorjem IMU, 33 BLE Sense pa ima dodatno tudi tipala temperature, vlažnosti, tlaka, vgrajen mikrofon, tipalo za zaznavanje gibov in jakosti svetlobe. Tako impozantna oprema majhne ploščice omogoča, da se ta uporabi ne samo za izdelavo naprav wearables ampak tudi v gradbeništvu in za znanstvene preizkuse, ki zahtevajo povezave z razmeroma majhnim, lokalnim dometom.
Razširitveni moduli za Arduino Portenta H7
Med najbolj napredne, skladne z Arduino Portenta H7 razširitvene module spada modul Portenta Vision. Opremljen je s kamero z ločljivostjo 324 × 324 pikslov in porabi zelo malo energije. Zaradi skromne potrebe po energiji se lahko uporablja tudi v aplikacijah za obdelavo slike, ki se neprekinjeno napajajo z baterijo. Senzor slike vrste CMOS je zelo občutljiv in omogoča zaznavanje gibov, merjenje jakosti svetlobe, oceno razdalje in identifikacijo objektov. Modul je opremljen tudi z večsmernima mikrofonoma z digitalnim vmesnikom. Slika in zvok se lahko shranita na kartico MicroSD. Podatki iz modula se lahko pošiljajo preko vmesnika Ethernet ali LoRa. Izdelava aplikacij za modul je enostavna zaradi razpoložljivih knjižnic funkcij OpenMV za jezik Python.Družina izdelkov MKR obsega precejšnjo izbiro razširitvenih modulov za osnovno ploščico. Med njimi najdemo ne samo ploščice, ki vsebujejo dodatne elektronske komponente, ampak tudi preproste priključke, ki omogočajo priključitev signalov iz okolja preko standardnih industrijskih priključkov. Med razširitvenimi ploščicami, ki nudijo dodatne možnosti, velja omeniti številne ploščice vmesnikov (MKR 485 – RS485, MKR CAN – CAN Bus, MKR ETH – Ethernet), ploščico relejev, gonilnik motorjev s štirimi izhodi na enosmerni tok in štirimi vhodi za analogna tipala, ploščico z režo za pomnilniško kartico MicroSD, na kateri lahko lokalno shranjujemo ogromno količino podatkov, ploščico s tipalom vremenskih razmer, ploščico z matico RGB diod, ploščico s tipalom temperature in z 9-osnim žiroskopom oz. tipalom pospeška.
Programska oprema - Arduino IoT Cloud, Arduino IoT API, Arduino IDE Pro, Arduino CLI
Celo najbolj napreden računalnik je neuporaben brez ustrezne programske opreme. Razvijalci Arduino Pro so za svoje naprave, namenjene za izdelavo aplikacij IoT, predvideli tudi ustrezne programe, ne samo za ustvarjanje aplikacij ampak tudi za varno pridobivanje, shranjevanje in obdelavo podatkov.
Arduino IoT Cloud
Arduino IoT Cloud je enostavna in varna rešitev za dodajanje daljinsko delujočih tipal aplikacijam za upravljanje podjetij ali vmesnikom, ki omogočajo uporabo podatkov milijonom uporabnikov npr. v obliki zemljevidov, diagramov in drugih grafičnih prikazov. Poleg tega oblak Arduino IoT Cloud omogoča, da določeni točki, ki zaradi nekega razloga zahteva nadzor ali popravilo, dodelimo naslov in omogočimo dostop do nje preko uporabniškega vmesnika. Dostop je možen z vsakega mesta na svetu, s katerega se lahko povežemo z oblakom, kar lahko naredimo preko PC računalnika ali mobilne naprave. Pomembno je tudi, da razvijalci tovrstnih aplikacij lahko v njih uporabijo na tisoče gotovih vrstic kode, ki omogoča upravljanje različnih tipal in izvršilnih naprav.
Arduino IoT API
Kot smo že omenili, se lahko podatki, pridobljeni iz tipal, v realnem času ponazorijo v grafični obliki ali pošljejo v podatkovno zbirko. Na voljo so številni primeri njihove uporabe s pomočjo preglednic Google, pripomočka Amazon Alexa in programske opreme drugih proizvajalcev. Z Arduino IoT API lahko tudi razvijamo lastne, edinstvene aplikacije. Programsko opremo oblaka lahko preizkusimo zastonj, vse njene možnosti so na voljo ob priključitvi ene ploščice MKR ali Portenta. Za priključitev večjega števila naprav je treba plačati naročnino. Upoštevati je treba, da domača izdaja sodeluje samo z izdelki znamke Arduino, poslovna izdaja pa omogoča, da z oblakom povežemo tudi druge mikroračunalnike, kot je npr. Raspberry Pi, module z ESP8266 itn.
Vse povezave z oblakom so šifrirane s protokolom SSL. Ploščice iz družin Arduino Portenta in Arduino MKR imajo vgrajene kriptografske enote, ki podpirajo povezave preko tega protokola v resničnem času. Poleg tega so opremljene z mehanizmom za avtentifikacijo z dodatnim vezjem, ki vsebuje ključ, skladen z X.509.
Novost v ponudbi Arduino so SIM kartice. Uporaba teh kartic omogoča izdelavo omrežja tipal, ki se z oblakom povežejo preko baznih postaj mobilne telefonije in se v okviru mobilnega gostovanja uporabljajo v več kot 100 državah.
Arduino IDE Pro
Programsko opremo za robne naprave lahko izdelamo s pomočjo Arduino IDE Pro. To programsko okolje ima značilnosti dobro poznanega Arduino IDE, zato njegovim uporabnikom ni treba, da se nanj navadijo in znova učijo, kako se uporablja. Najhitrejši način za ustvarjanje programov za omrežje tipal je uporaba spletnega urejevalnika. To rešitev danes uporabljajo številni proizvajalci programske opreme. Njena prednost je, da je kompilator v določeni meri neodvisen od računske moči in operacijskega sistema naprave, na kateri delamo. Posodobitve in popravki se uvajajo sproti, uporabniki pa imajo na voljo najnovejše izdaje navodil in predlog. Izvorna koda se shranjuje na ločenem območju strežnika in je zagotovo bolje zaščiten, kot bi bil na našem prenosnem ali celo namiznem računalniku. Slabost te rešitve je, da zahteva stalen dostop do spleta, kar ni vedno možno. Odgovor na ta izziv je različica IDE, namenjena za namestitev na namizni računalnik. Kot se spodobi za program vrste open source je ta različica na voljo za sisteme Windows, Linux (64 bit) in Mac OS X.
Arduino CLI
Naprednim uporabnikom je namenjen tolmač ukazov Arduino CLI, ki deluje v načinu konzole (vrstice ukazov). Vsebuje kompilator in omogoča upravljanje ploščic in knjižnic funkcij, programiranje naprav, njihov vklop in izklop in izvedbo drugih dejanj. Arduino CLI se lahko uporablja na platformah, ki temeljijo na procesorjih znamke ARM ali Inte, zato ga lahko uporabljamo tako na PC računalnikih kot tudi na mikroračunalnikih vrste Raspberry Pi.
Vir: www.tme.eu
Izvorno besedilo: https://www.tme.eu/si/en/news/library-articles/page/42846/arduino-pro-an-unconventional-easy-way-to-build-successful-iot-applications/