JavaScript is currently disabled.Please enable it for a better experience of Jumi. Arduino Pro: Okonventionell men enkel väg till fungerande IoT (2)
Guidelines for contributing Technical Papers: download PDF

Arduino – är det bara för amatörer? Nya Arduino-lösningar för IoT-applikationer och Industri 4.0.

ARDUINO PRO

Arduino-plattformen har vunnit en enorm popularitet i hela världen. I början associerades den främst med amatörs- och hobbytillämpningar men med tiden vann den erkännande även bland proffs. De viktigaste fördelen med lösningar som erbjuds av Arduino är enkelheten att avverka vägen från idé till applikation och därför har plattformen många miljoner användare i hela världen. Med hjälp av lösningarna byggs inte bara prototyper utan även färdiga varor. Baserat på sin popularitet träder Arduino-plattformen in i IoT-enheters värld och erbjuder utrustning och programvara som är enkla att använda. De gör det möjligt att bygga applikationer inom området Sakernas internet med användande av färdiga lösningar, utan att man behöver att ta fram idéer från grunden och i många fall utan att engagera externa experter.

Användning av Arduino i embedded-applikationer

Detta bekräftas av talrika embedded-applikationer som presenteras på nätet. De skapas utan användande av C eller C++ språkkompilator, endast baserat på Arduino-plattformen och färdiga moduler som finns tillgängliga för plattformen såsom enkla styrenheter för ljusreklam eller mera komplicerade - avsedda för CNC-styrda maskiner och applikationer som kommunicerar sig trådlöst.

Faktumet att hela dokumentationen och talrika användningsexempel finns tillgängliga har bidragit till plattformens utveckling och framtagande av ett otal innovativa lösningar. I fall plattformens skapare inte kommit på någon användning så var det någon annan som gjorde det och presenterade den på sin blogg eller webbsida. På det viset har man skapat ett otal expansionsmoduler så kallade shields (eller sköldar på svenska) som innehåller olika användbara optioner. Det finns ett kinesiskt ordspråk – ”världen är så stor att det inte finns något som inte finns”. Detta fungerar även för Arduinos ekosystem. Baserat på tillgängliga hårdvarumoduler, bibliotek och programvara som finns tillgängliga inom ramen för systemet har det tagits fram ett oberäkneligt antal projekt som ger möjligheten att inte bara tjuvtitta på lösningarna utan även att hämta från idébanken.

Användarna som introducerades till elektronikvärlden med hjälp av Arduino-plattformen använder sig gärna av samma lösningar vid framtagning av professionella och mera komplicerade projekt. Detta främjas av Arduinos open source karaktär som bevarats trots den ökande professionaliseringen av plattformen. Tack vare detta inför över 30 miljoner aktiva användare fortsatta innovationer, utvecklar miljön och svarar på marknadens behov samt testar lösningar i olika förhållanden och platser runt om i välden. För användarna är det viktigt att det inte finns några licensavgifter för möjligheten att använda kommunikationsprotokollet.

Trotts de öppna och allmänt tillgängliga programkällorna kan åtkomsten till kommunikationsnätverk eller sensorer ”tätas till” genom kryptering eller autentiseringsmekanismer för att autentisera och kryptera dataöverföringen. Det väsentliga är att om vi har något behov så hittar vi med säkerhet en färdig lösning i Arduinos app- och modulbibliotek.

Arduino Pro – Varför är det värt att satsa på denna lösning?

Allt oftare talas det om två revolutionerande tekniker som väcker uppståndelse på marknaden för elektroniska komponenter och programvaror för dataanalys. Vi talar om Sakernas internet (IoT) och Industri 4.0 (Industry 4.0). Den första kommer att påverka hela vårt liv och den andra används främst på industriella företag. Båda kräver data som samlas in från nätverk av sensorer som placeras i för applikationen viktiga punkter samt utbyggda algoritmer och allt oftare engagerar tekniken av artificiell intelligens (AI) för bearbetning, analys och slutsatser på basis av information från sensorer och andra källor. Med hjälp av IoT-tekniken skulle det exempelvis gå att utföra och ansluta i ett nätverk sensorer som övervakar vattennivå i en älv och väderförhållanden längs en aktuell sträcka även inom ett lands territorium eller över gränserna. På det sättet med hjälp av AI skulle man kunna övervaka vattennivån i älven och informera om översvämningslarm, förbereda orter för torka eller översvämning. Så är fallet också med kraftnätet - här kan data från sensorer hjälpa att på ett lätt sätt samla in information om nätets belastning, haverier, hjälpa att planera in servicearbeten osv. 

Dessutom, hittills kunde sådana applikationer utföras endast av storföretag med enorma ekonomiska resurser, ofta med tillgång till konfidentiell teknik. Tack vare plattformar som Arduino Pro har man skapat möjligheten att utföra liknande lösningar för personer eller företag med betydligt mindre ekonomiska resurser och dessutom tack vare open source har de fått tillgång till en enorm kunskaps- och lösningsbas som skapas av användare från hela världen. Arduinos slagord lyder – det har ingen betydelse hur pass stort eller litet ditt företag är, Arduino Pro är redo för ett gemensamt arbete för att omvandla det och utveckla.

Arduino Pro starterkit: ABX0001

Arduino Pro – vem riktas det till?

Trots att Arduino Pros slagord talar om ett företag så kan Arduino Pro tack vare lätt tillgänglighet av komponenter, programvaror och dokumentation användas av alla som har en idé eller ett behov att bygga en applikation som baseras på ett nätverk av anslutna sensorer. För dataanalys behöver man inte koppla in AI-algoritmer direkt - i många situationer räcker det att de visas för operatören eller användaren på ett lämpligt sätt. Den största potentialen för att utnyttja Arduino Pro har:

  • Företag som omvandlar sina distributionsnätverk för produkter eller tjänster från den traditionella formen som baseras på beställda kvantiteter till IoT-stödda leveranser på beställning beroende på kundens behov. 
  • Tillverkningsanläggningar som söker möjligheter att förbättra produktionens effektivitet genom uppföljning, kontroll och analys av lagerstatus, produktionsanläggningar, maskiner, anordningar, leveranskedjor osv.
  • Startup som söker möjligheten att lägga möjligheten av dataöverföring till befintliga lösningar.
  • Användare av lösningar som erbjuds av Arduino som vill genomföra fältförsök med applikationer som tagits fram på egen hand eller utföra korta produktserier. 

Arduino Pro har tagits fram framför allt för att stöda proffs som är drivkraften av förändringar på företag och i omvärlden. Plattformen täcker alla nödvändiga aspekter som de kan behöva: moln för dataarkivering och -lagring, hårdvara, programmeringsmiljö avsedd för att ta fram mjukvara för hårdvaruplattformar, lösningar för kommunikation och lägesbestämning på basis av data från geolokaliseringssystem, användargränssnitt, datavisualisering, algoritmer och deras uppkoppling mot befintligt företagsstyrningssystem. Dessutom, i flera situationer, kan detta lyckas utan att utföra kostsamma analyser och engagera dyra konsulter och detta tack vare open source policyn som Arduino Pro baseras på och möjligheten att utnyttja redan beprövade lösningar.

Arduino Pro hårdvaruplattform

Arduino Pro broschyr

Arduino Portenta

som bas för de mest avancerade lösningar inom ramen för Arduino Pro plattformen erbjuds mikrodatorkortet Arduino Portenta H7 som är utrustat med 2-kärnig STM32H747-processor innehållande: Cortex M7 med 480 MHz klockfrekvens samt Cortex M4 med 240 MHz klockfrekvens. Användare som är vana vid AVR-processorer kan tycka att den stora beräkningskapaciteten är onödig men i vissa appliceringar kan den vara berättigad genom en medelhög effektförbrukning från strömförsörjningen.

Arduino Pro starterkit: ABX00042

Låt oss föreställa oss det tidigare nämnda nätverket av sensorer för vattennivå och väderförhållanden som placeras ut längs en älv. Vi kommer inte att ha tillgång till stationär strömförsörjning från elnätet på alla platser. De tekniska kraven för att få tag på den kommer inte alltid att uppfyllas. I praktiken dras stationär strömförsörjning till knutar/grindar av sensornätverket som planeras i platser där den finns tillgänglig. Själva sensorer strömförsörjs med energi från batterier, ackumulatorer eller förnybara energikällor. Ur sensoranvändarens synpunkt, ju mera sällan batterier eller ackumulatorer måste bytas desto bättre. Intervallen för batteribyten är direkt beroende av dessa källors hållbarhet och den matade enhetens energiförbrukning. Av denna anledning arbetar processor i en IoT-sensors applikation i viloläge där energiuttaget från strömförsörjningskällan är minimalt.  Sedan lämnar den tillfälligt energisparläget och utför arbete i samband med datainsamling och deras kodning i paket som är förståeliga för mottagaren. Självklart tar en sådan uppgift mycket mindre tid för en snabb processorenhet. Alltså, trots den enorma beräkningskapaciteten (och framför allt tack vare den) är det genomsnittliga energiuttaget från strömförsörjningen mycket mindre vid en snabb processor än vid en långsam processor med en klockfrekvens som uppgår till några MHz trots att intuitivt skulle det kunna te sig att det är annorlunda.

Självklart är det ingenting som hindrar att utnyttja potentialen i Arduino Portenta H7 även i applikationer där processorn strömförsörjs från en stationär strömförsörjningskälla där den tar hand om ex. algoritmen för bildbehandling och -bedömning, signalkonditionering med flera.

Båda kärnor av Arduino Portenta H7 mikrodator delar periferimoduler med vilka de kommunicerar med omgivningen och med varandra. Mikrodatorn kan verkställa program:

  • Som skrivits med Arduino Sketch – skript som utförs under kontroll av operativsystemet Mbed OS.
  • Nativa applikationer för Mbed OS.
  • Avsedda för den inbyggda interpretatorn av Micro Python/Java Script.
  • Utförs med hjälp av TensorFlow Lite plattformen.

Den inbyggda modulen för trådlös kommunikation medger samtidig kommunikation över Wi-Fi och Bluetooth. Wi-Fi-gränssnittet för Arduino Pro plattformen kan fungera som åtkomstpunkt, station eller i dubbelt läge (åtkomstpunkt/station) och möjliggör dataöverföring med upp till 65 Mb/s hastighet. Bluetooth-gränssnittet arbetar i Bluetooth 2.0 och BLE-lägen. Arduino Portenta H7 mikrodators kort stämmer överens med formatet Arduino MKR men det är utrustat med 80-pin kontaktdon med en hög täthet.

 

Arduino MKR och Arduino Pro

Sensorer och kommunikationsmoduler kan utföras med hjälp av produkter i Arduino MKR familjen. Bland dessa finns kort utrustade med processorer med Cortex-M0+ kärna samt olika kommunikationsgränssnitt varför de framtagna applikationerna är lätt skalbara. Det är värt att nämna att modulerna är välkända och används av konstruktörer och tillverkare av andra enheter som inte har något med IoT att göra. 

Tillverkaren i sina beskrivningar av modulerna i Arduino MKR familjen rekommenderar också lösningsnivå som modulerna kan användas för. Det verkar som att rekommendationen hänger ihop med beräkningskapaciteten och expansionskretsar som utökar processorns funktionalitet. Exempelvis på Beginner nivå (nybörjare) föreslås modulerna MKR WIFI 1010 som är utrustade med Wi-Fi och Bluetooth LE gränssnitt som har en mindre räckvidd och enligt tillverkarens informationsmaterial lämpar sig för utförande av applikationer för byggnadsautomation som arbetar inomhus. Kortet baseras på ATSAMD21-processor med Cortex-M0+ kärna samt kommunikationsmodulen Wi-Fi/BLE av fabrikatet u-blox NINA-W102. MKR-moduler som föreslås på Intermediate (medelavancerad) nivå gör det möjligt att bygga upp nätverk med flera kilometers räckvidd (Sigfox, LoRa, Narrowband IoT) eller till och med global räckvidd (GSM). De rekommenderas för applikationer som omfattar lantbruk, transport, miljöövervakning, intelligenta städer wearables teknik med flera.

Arduino Pro starterkit: ABX00023

MKR Vidor 4000 kortet som rekommenderas för Advanced (avancerad) nivå har förutom ATSAMD21-processorn också en FPGA-krets av typen 10LC016 i Cyclone-familjen. I och med att Arduino erbjuder kortet för applikationer som kräver bild- och/eller ljudbehandling så är det utrustat med Wi-Fi/BLE-gränssnittet för anslutning framför allt med lokal PC, surfplatta eller smartphone som troligtvis kommer att tjäna som användargränssnitt.

Arduino Pro starterkit: ABX00022

Arduino Nano 33

För professionella applikationer erbjuds två baskort: Arduino Nano 33 BLE och Arduino Nano 33 BLE Sense. Deras utrustning är tänkt så att de ska lämpa sig för användning i wearables enheter eller montering i drönare eller i autonomiska fordon. Kortens miniatyrmått (endast 45 mm×18 mm) gör det möjligt att placera en färdig, mycket stark dator i ett litet utrymme och använda dess beräkningskapacitet och gränssnitt för kommunikation med omgivningen. Tillverkaren deklarerar att det är dennes minsta produkter med en beräkningskapacitet som är så pass hög att AI-baserad mjukvara kan användas med dem.

Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense

Båda korten utnyttjar den kraftfulla ARM Cortex-M4 kärnan som 64 MHz klockfrekvens som är inbyggd i nRF52840-radiokrets. Arduino Nano 33 BLE är utrustad med 9-axlig IMU-sensor medan 33 BLE Sense har dessutom temperatur-, fuktighets-, tryckgivare, inbyggd mikrofon, gest-, närhets- och ljusstyrkesensor. Det är en imponerande utrustning för ett så pass litet kort som gör det möjligt att använda det inte bara för uppbyggnad av wearables enheter men även för sensornätverk som används inom byggande eller vetenskapliga experiment som kräver kommunikation med en liten, lokal räckvidd. 

Expansionsmoduler för Arduino Portenta H7

Till de mest avancerade expansionsmodulerna som är kompatibla med Arduino Portenta H7 hör skölden Portenta Vision. Den är utrustad med en kamera med upplösning på 324×324 pixlar och ett mycket litet effektuttag. Tack vare det lilla energibehovet kan modulen användas även för applikationer för bildbehandling som arbetar vid oavbruten strömförsörjning från ett batteri. Sensor av typen CMOS har en mycket hög känslighet och möjliggör igenkänning av gester, mätning av omgivningsljus, bedömning av avstånd och identifiering av föremål. Modulen är också utrustad med två rundstrålande mikrofoner med digitalt gränssnitt. Bild och ljud kan registreras på ett MicroSD-kort. Data från modulen kan överföras med hjälp av Ethernet- eller LoRa-gränssnittet. Utförande av applikationer för modulen är underlättat tack vare tillgängligt OpenMV-funktionsbibliotek för Python-språket.

MKR produktfamiljen innehållet ett ganska stort urval av expansionsmoduler för basplattans funktionalitet. Bland dessa finns inte bara extra elektroniska komponenter men även okomplicerade adaptrar som inmatning av signaler från omgivningen med hjälp av standard industriella kontaktdon. Bland korten som utökar funktionaliteten är det värt att nämna talrika gränssnittskort (MKR 485 – RS485, MKR CAN – CAN Bus, MKR ETH – Ethernet), reläkort, motorstyrning med 4 likströmsutgångar och 4 ingångar för analoga sensorer, kort med MicroSD-kortfack där en stor datamängd kan lagras lokalt, kort med miljösensorer, kort med RGB-diodmatrix, kort med temperatursensorer och 9-axlig gyroskop/accelerationsmätare.

Mjukvara - Arduino IoT Cloud, Arduino IoT API, Arduino IDE Pro, Arduino CLI

Även den mest avancerade datorn är oanvändbar om den saknar lämplig programvara. Skaparna av Arduino Pro som erbjuder utrustning avsedd för att skapa IoT-applikationer har också infört en lämplig programvara som används inte bara för att skapa applikationer utan även möjliggör en säker datainsamling, -lagring och -behandling.

Arduino IoT Cloud

Arduino IoT Cloud är ett lätt och säkert sätt att ansluta medlemmar som arbetar på distans till en applikation som styr företagets arbete eller till ett gränssnitt som gör det möjligt för miljoner av användare att nyttja data till exempel i form av karta, diagram eller en annan grafisk presentation. Dessutom medger Arduino IoT Cloud molnet adressering och åtkomst från användargränssnittet till en konkret lokalisering som av någon anledning kräver inspektion eller service. Åtkomsten är möjlig från valfri plats på jorden där vi har anslutning till molnet eller med hjälp av PC eller mobil enhet. Personer som är intresserade att utveckla sådana applikationer har tillgång till tusentals linjer av koden som är färdig att användas i den egna lösningen och som demonstrerar handhavandet av olika typer av sensorer eller verkställande enheter.

Arduino IoT API

Som det redan nämnts kan data från sensorer presenteras i realtid i grafisk form eller överföras till en databas. Det finns talrika exempel på hur de används med hjälp av Google-kalkylark, Amazon Alexa assistent och andra mjukvarutillverkare. Med hjälp av Arduino IoT API kan man ta fram egna, unika applikationer. Molnets mjukvara kan provas fritt  – full funktionalitet är tillgänglig vid anslutning av singel MKR- eller Portenta-kort. För att ansluta ett större antal enheter ska abonnemang tecknas. En viktig anmärkning. Hemvarianten samarbetar endast med Arduinos produkter medan den kommersiella varianten ger möjlighet att ansluta andra mikrodatorer till molnet såsom Raspberry Pi, moduler med ESP8266 osv.

Hela kommunikationen med molnet är krypterad med hjälp av SSL-protokollet. Korten i Arduino Portenta och Arduino MKR familjerna har inbyggda krypteringsenheter som stöder kommunikationen med hjälp av detta protokoll i realtid. Förutom det är de utrustade med en autentiseringsmekanism som stöds med hjälp av en extra krets som innehåller en X.509-kompatibel nyckel.

En nyhet i Arduinos erbjudande utgörs av ett SIM-kortsutbud. Användande av dessa kort för det möjligt att bygga upp sensornätverk som kommunicerar med molnet med hjälp av mobiltelefonins basstationer som i roaming-läget används i över 100 länder.

Arduino IDE Pro

Programvaran för periferiutrustning kan utföras med hjälp av Arduino IDE Pro. Denna programmeringsmiljö ärver egenskaperna av det kända Arduino IDE så dess användare behöver inte ändra många vanor och på nytt lära sig handhavande. Den snabbaste vägen att börja skapa programvaran för ett sensornätverk är att använda en Web-redigeringsprogram. Det är en lösning som nu för tiden används av flera programvarutillverkare. Den har den fördelen att den gör kompilatorn oberoende av beräkningskapaciteten och hårdvarans operativsystem som vi arbetar med. Som användare får vi också löpande uppdateringar och förbättringar som tillgång till nyaste läroböcker och exempel. Källkoden förvaras på en för oss avsett område på servern och skyddas säkert bättre än på vår bärbara eller stationära dator. Det har dock den nackdelen att det krävs en permanent internetuppkoppling vilket inte alltid är möjligt. Av denna anledning erbjuds användarna IDE-versionen som är avsedd för installation på en stationär dator. Den är som open source program tillgänglig för operativsystemen Windows, Linux (64 bit) och Mac OS X.

 

Arduino IDE CLI

För avancerade användare rekommenderas Arduino CLI interpretator som arbetar i konsolläge (kommandorad). Den innehåller en kompilator, medger styrning av korten och funktionsbiblioteken, programmering av enheter, deras på-/frånslagning och andra åtgärder. Arduino CLI kan användas på plattformar som är uppbyggda baserat på ARM- eller Intel-processorer. Tack vare detta kan det användas lika väl på en PC eller mikrodator av typen Raspberry Pi. 

Originaltexten producerad av tme.eu

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)