Jste zde

Arduino Pro – nekonvenční a snadná cesta k úspěchu aplikace IoT

Platforma Arduino získala ve světě obrovskou popularitu. Zpočátku byla spojována především s amatérskými a zájmovými aplikacemi, ale postupem času si také získala uznání profesionálů. Nejdůležitější předností řešení, které Arduino, je to, jak snadné je přejít od nápadu k aplikaci.

A právě toto je důvod, proč je používán miliony uživatelů po celém světě. S jejich pomocí se stavějí nejen prototypy, ale také hotové výrobky. Na základě své popularity vstupuje Arduino do světa zařízení IoT a nabízí snadno použitelný hardware a software. Právě ty umožňují vytvářet aplikace internetu věcí pomocí hotových řešení, bez nutnosti vytváření nápadu od nuly, a v mnoha případech i bez nutnosti zapojování externích odborníků.

Využití Arduino v embedded aplikacích

Potvrzuje to řada případů embeddes aplikací prezentovaných na internetu. Vznikají bez použití kompilátoru jazyka C nebo C++, pouze pomocí platformy Arduino a hotových modulů, které jsou pro ni k dispozici, jako jsou například jednoduché ovladače světelných reklam, nebo složitější - určené pro CNC stroje a aplikace, které komunikují bezdrátově.

Vývoj platformy byl podpořen zpřístupněním kompletní dokumentace a četných příkladů použití, což vedlo k záplavě inovativních řešení. Pokud tvůrci platformy nevymysleli nějakou aplikaci sami, udělal to někdo jiný, a představil tuto aplikaci na svém vlastním blogu nebo na webové stránce. Tímto způsobem byly vytvořeny nesčetné rozšiřující moduly nazývané shields (nebo česky štíty), které obsahují různé užitečné možnosti. Existuje čínské přísloví – „tento svět je tak velký, že není nic, co by nebylo“. Platí to také ve vztahu k ekosystému Arduino. Na základě jeho v rámci dostupných hardwarových modulů, knihoven a softwaru byly vytvořeny nesčetné projekty, které umožňují nejen prohlížet řešení, ale také čerpat z databáze nápady.

Uživatelé, kteří vstupovali do světa elektroniky prostřednictvím platformy Arduino, při vývoji profesionálních a složitějších projektů rádi využívají stejná řešení. Napomáhá tomu open source Arduino, který byl zachován navzdory rostoucí profesionalizaci platformy. Díky tomu více než 30 milionů aktivních uživatelů zavádí další inovace, rozvíjí prostředí, reaguje na potřeby trhu a testuje řešení v různých podmínkách a místech po celém světě. Pro uživatele je také důležité to, že nejsou žádné licenční poplatky za zpřístupnění a možnost využití komunikačního protokolu.

Navzdory otevřeným, obecně dostupným zdrojům programů, je-li třeba „utěsnit“ přístup ke komunikačním sítím nebo senzorům, je možné využít kryptografii a ověřovací mechanismy pro autentizaci zařízení a šifrování přenosu dat. Důležité je, že pokud to budeme potřebovat, zcela určitě najdeme v rozsáhlé knihovně aplikací a modulů Arduino hotová řešení.

Arduino Pro – proč bychom měli vsadit právě na toto řešení?

Stále více se hovoří o dvou revolučních technologiích, které způsobují mnoho zmatků na trhu elektronických součástek a softwaru pro analýzu dat. Jedná se o internet věcí (IoT) a Průmysl 4.0 (Industry 4.0). První bude mít obrovský dopad na celý náš život, zatímco s tím druhým se setkáme především v průmyslových podnicích. Oba vyžadují data získávaná ze sítě senzorů umístěných v důležitých bodech pro aplikaci a rozsáhlých algoritmů a stále častěji zapojujících technologii umělé inteligence (AI) pro zpracování, syntézu, analýzu a vyvození závěrů na základě informací ze senzorů a jiných zdrojů. Technologie IoT by například mohla být použita k vytvoření a propojení do sítě senzorů průběžně monitorujících hladinu vody v řece a povětrnostní podmínky podél celého toku, který nás zajímá, a to i na území státu nebo mimo jeho hranice. Tímto způsobem, a navíc s využitím AI, by bylo možné nejen sledovat hladinu vody v této řece, ale také vydávat příslušná varování před povodněmi, připravovat města na stav sucha nebo na záplavy. Obdobně je to s energetickou sítí – zde by data ze senzorů umožnila snadné získání informací o zatížení sítě, její poruše, plánování servisních prací atd.

Důležité je, že až dosud mohly být tyto aplikace realizovány pouze koncerny se značnými finančními zdroji, často také s přístupem k utajeným technologiím. A právě takové platformy jako je Arduino Pro poskytly možnost zavést podobná řešení i pro osoby nebo společnosti s mnohem skromnějšími finančními zdroji. Navíc díky open source jim byl umožněn přístup k obrovské znalostní databázi a k řešením vytvořeným uživateli po celém světě. V souladu s reklamním sloganem Arduino – nezáleží na tom, jak velký nebo malý je váš podnik, Arduino Pro je připraveno spolupracovat na jeho transformaci a vývoji.

Vývojová sada Arduino Pro: ABX00011

Arduino Pro – komu je určeno?

Ačkoli se v reklamním sloganu Arduino Pro hovoří o podniku, může díky dostupnosti komponentů, softwaru a dokumentace a jejich snadnému použití Arduino Pro použít kdokoliv, kdo má nápad, nebo i ten, kdo potřebuje vytvořit aplikaci založenou na síti propojených senzorů. K analýze dat nemusíte hned zapojovat algoritmy AI. V mnoha případech stačí, když je vhodným způsobem ukážete operátorovi nebo uživateli. Nicméně největší potenciál využití Arduino Pro budou mít:

  • Společnosti, které provádějí transformaci distribuční sítě výrobků nebo služeb z klasické formy založené na nasmlouvaném množství na podporovanou IoT dodávku na objednávku, a to v závislosti na potřebách obchodního partnera.
  • Výrobní závody, které hledají možnosti, jak zlepšit efektivitu výroby sledováním, kontrolou a analýzou stavu zásob, výrobních linek, strojů a zařízení, zásobovacích tras atd.
  • Start-upy, které hledají možnosti přidání přenosu dat pro již existující řešení.
  • Uživatelé řešení navržených Arduino, kteří chtějí provést terénní zkoušky aplikací, které vyvinuli, nebo vyrobit malou sérii produktů.

Arduino Pro bylo primárně navrženo pro podporu profesionálů, kteří jsou hnací sílou změn ve firmách a ve světě kolem nás. Platforma zahrnuje všechny nezbytné aspekty, které mohou potřebovat: cloud pro sběr a ukládání dat, hardware, vývojové prostředí určené pro vývoj programů pro hardwarové platformy, řešení konektivity a určení polohy v databázi geolokačních systémů, uživatelské rozhraní, vizualizace dat, algoritmy a jejich propojení s již existujícím systémem řízení podniku. Důležité je, že v mnoha situacích se to povede bez nutnosti provádění nákladných znaleckých posudků a zapojení drahých konzultantů, a to díky politice open source, na jejímž základě bylo Arduino Pro vytvořeno, jakož i možnosti využití již vyzkoušených řešení.

Hardwarová platforma Arduino Pro

Stáhněte si brožuru Arduino Pro

Arduino Portenta

Jako základ pro pokročilejší řešení v rámci platformy Arduino Pro je navrhovaná deska mikropočítače Arduino Portenta H7, která je vybavena dvoujádrovým procesorem STM32H747 obsahujícím jednotky: Cortex M7 taktovanou kmitočtem na 480 MHz a Cortex M4 taktovanou na 240 MHz. Uživatelům, kteří jsou zvyklí na desky s procesory AVR, se vysoký výpočetní výkon může zdát zbytečný, ale v některých aplikacích může mít své opodstatnění při odebíraném z napájení středním výkonu.

Vývojová sada Arduino Pro: ABX00042

Představte si výše uvedenou síť vodních a environmentálních senzorů rozmístěných podél řeky. Ne všude budeme mít k dispozici síťové, stacionární napájení. Ne vždy bude také možné splnit technické požadavky pro jejich získání. V praxi je tedy stacionární napájení přiváděno do uzlů / bran senzorové sítě, které jsou plánovány na místech, kde je napájení k dispozici. Samotné senzory jsou naproti tomu napájeny energií získávanou z baterií, akumulátorů nebo obnovitelných zdrojů energie. Z pohledu uživatele senzorů: čím méně často bude třeba měnit baterie nebo akumulátory, tím lépe. Četnost výměny baterií úzce souvisí se životností těchto zdrojů a s odběrem energie napájeným zařízením. Z tohoto důvodu pracuje procesor v aplikaci senzoru IoT obvykle v režimu spánku, kdy je z napájecího zdroje odebíráno zanedbatelné množství energie. Poté je pravidelně probouzen z úsporného režimu a provádí práci související se získáváním dat a jejich kódováním do paketů, které jsou pro příjemce srozumitelné. Tento úkol samozřejmě zabere rychlé procesorové jednotce mnohem méně času. Takže navzdory obrovskému výpočetnímu výkonu (a především díky němu) je průměrný odběr energie z napájení vysokorychlostního procesoru mnohem menší než pomalého, taktovaného kmitočtem řadově na několik MHz, i když by se intuitivně mohlo zdát, že je to opačně.

Samozřejmě nic také nebrání tomu, aby byl využít potenciál spočívající v Arduino Portenta H7 i v aplikacích, ve kterých je procesor napájen ze stacionárního zdroje napájení a provádí např. algoritmus zpracování a vyhodnocování obrazu, kondiciování signálů a další.

Obě jádra procesoru mikropočítače Arduino Portenta H7 sdílejí periferní moduly, kterými komunikují s prostředím a mezi sebou. Mikropočítač může provádět programy:

  • Napsané pomocí Arduino Sketch – skriptů prováděných pod kontrolou operačního systému Mbed OS.
  • Nativní aplikace pro Mbed OS.
  • Navržené pro vestavěný interpret Micro Python/Java Script.
  • Prováděné na základě platformy TensorFlow Lite.

Vestavěný modul pro bezdrátovou komunikaci umožňuje současné připojení přes Wi-Fi a Bluetooth. Wi-Fi rozhraní pro platformu Arduino Pro může fungovat jako přístupový bod, stanice nebo v duálním režimu (přístupový bod / stanice) a umožňovat přenos dat s rychlostí až 65 Mbps. Bluetooth rozhraní funguje v režimech Bluetooth 2.0 a BLE. Deska mikropočítače Arduino Portenta H7 je kompatibilní s formátem Arduino MKR, ale je vybavena 80/pinovým konektorem s vysokou hustotou.

Arduino MKR i Arduino Pro

Komunikační senzory a moduly mohou být prováděny při použití produktů řady Arduino MKR. Patří mezi ně desky vybavené procesory s jádrem Cortex-M0+ a různá komunikační rozhraní, díky kterým jsou zhotovené aplikace snadno škálovatelné. Za zmínku stojí, že tyto moduly jsou dobře známé a používají je také konstruktéři a výrobci jiných zařízení, která nesouvisejí s IoT.

Výrobce v popisu svých modulů řady Arduino MKR tak trochu naznačuje úroveň řešení, na které mohou být použity. Tato nápověda se zdá být spojena s výpočetním výkonem a vybavením systémy, které rozšiřují funkčnost procesoru. Kupříkladu navrhované na úrovní Beginner (začátečník) moduly MKR WIFI 1010 jsou vybaveny Wi-Fi a Bluetooth LE rozhraními, které mají poměrně malý dosah. Podle materiálů výrobce umožňují vytvořit aplikace pro automatizaci budov fungující uvnitř místností. Deska je založena na procesoru ATSAMD21 s jádrem Cortex-M0+ a na komunikačním modulu Wi-Fi/BLE firmy u-blox NINA-W102. Moduly MKR navrhované na úrovní Intermediate (středně pokročilé) již umožňují budování sítí s dosahem mnoha kilometrů (Sigfox, LoRa, Narrowband IoT) nebo dokonce i s globálním dosahem (GSM). Jsou navrhovány pro aplikace zaměřené na zemědělství, dopravu, průmysl, monitorování životního prostředí, inteligentní města, technologii wearables a další.

Vývojová sada Arduino Pro: ABX00023

Navrhovaná na úrovní Advanced (pokročilé) deska MKR Vidor 4000 má kromě procesoru ATSAMD21 také namontovaný systém FPGA typ 10LC016 řady Cyclone. Vzhledem k tomu, že Arduino navrhuje tuto desku pro aplikace, které vyžadují zpracování obrazu a/nebo zvuku, byla deska vybavena Wi-Fi / BLE rozhraním, které umožňuje komunikaci především s místním PC, tabletem nebo smartphonem, jež budou zcela jistě fungovat jako uživatelské rozhraní.

Vývojová sada Arduino Pro: ABX00022

Arduino Nano 33

Pro profesionální aplikace jsou navrhovány dvě základní desky: Arduino Nano 33 BLE a Arduino Nano 33 BLE Sense. Jejich vybavení bylo navrženo tak, aby byly vhodné pro použití v zařízeních typu wearables anebo pro montáž na dronech či v autonomních vozidlech. Miniaturní rozměry desek (pouhých 45 mm × 18 mm) umožňují umístit hotový, velmi silný mikropočítač v malém prostoru a využít jeho výpočetní výkon a rozhraní umožňující komunikaci s okolím. Výrobce deklaruje, že se jedná o jeho nejmenší výrobky s tak velkým výpočetním výkonem, že díky ním lze používat software založený na AI.

Arduino Nano 33 BLE                         Arduino Nano 33 BLE Sense

Obě desky využívají výkon jádra ARM Cortex-M4 taktovaného kmitočtem na 64 MHz, vestavěného do rádiové soustavy nRF52840. Arduino Nano 33 BLE je vybaveno 9-osým snímačem IMU, zatímco 33 BLE Sense má navíc také senzory teploty, vlhkosti, tlaku, vestavěný mikrofon, snímač gest, snímač přiblížení a intenzity osvětlení. U tak malé desky je to působivé vybavení, které ji umožňuje její použití nejen ke stavbě zařízení wearables, ale také sítě senzorů používaných ve stavebnictví nebo vědeckých experimentech vyžadujících komunikaci s malým místním dosahem.

Rozšiřující moduly pro Arduino Portenta H7

Mezi nejpokročilejší rozšiřující moduly kompatibilní s Arduino Portenta H7 patří štít Portenta Vision. Je na něm namontována kamera s rozlišením 324×324 pixelů a s velmi nízkým odběrem energie. Díky nízkému odběru energie může být tento modul také použit v aplikacích pro zpracování obrazu pracujících s nepřetržitým napájením z baterie. Senzor obrazu CMOS má velmi vysokou citlivost a umožňuje rozpoznat gesta, měřit okolní světlo, posoudit vzdálenost a identifikovat objekty. Modul je také vybaven dvěma všesměrovými mikrofony s digitálním rozhraním. Obraz a zvuk lze zaznamenávat na kartu MicroSD. Data z modulu lze přenášet přes rozhraní Ethernet nebo LoRa. Vytvoření aplikace pro modul je usnadněno dostupností knihovny funkcí OpenMV, která je k dispozici pro jazyk Python.

Produktová řada MKR obsahuje poměrně velký výběr modulů, které rozšiřují funkčnost základní desky. Patří mezi ně nejen desky s dalšími elektronickými komponenty, ale také jednoduché adaptéry, které umožňují přivádět signály z okolí pomocí standardních průmyslových konektorů. Z desek, které rozšiřují funkčnost, stojí za zmínku četné desky rozhraní (MKR 485 – RS485, MKR CAN – CAN Bus, MKR ETH – Ethernet), reléová deska, ovladač motorů se 4 stejnosměrnými výstupy a 4 vstupy pro analogové senzory, deska s paměťovým portem MicroSD, na které lze místně uložit obrovské množství dat, deska s čidly parametrů prostředí, deska s matricí diod RGB, deska teplotních čidel a s 9-osým gyroskopem/měřičem zrychlení.

Software – Arduino IOT Cloud, Arduino IOT API, Arduino IDE PRO, Arduino CLI

I ten nejpokročilejší počítač bude k ničemu, pokud k němu nebudete mít příslušný software. Vývojáři Arduino Pro, nabízející vybavení určené k vytváření aplikací IoT, zavedli také vhodný software, který nejen umožňuje vytváření aplikací, ale také umožňuje bezpečné získávání, ukládání a zpracování dat.

Arduino IoT Cloud

Arduino IoT Cloud je snadný a bezpečný způsob, jak připojit vzdáleně pracující senzory k řídící aplikaci pro správu provozu podniku nebo k rozhraní, které umožňuje milionům uživatelů používat data, například v podobě mapy, grafu nebo jiné grafické prezentace. Arduino IoT Cloud navíc umožňuje adresování a přistup z uživatelského rozhraní ke konkrétnímu umístění, které z nějakého důvodu vyžaduje kontrolu nebo servis. Přístup je možný odkudkoli na světě, kde je k dispozici připojení ke cloudu, ať už prostřednictvím počítače či mobilního zařízení. Důležité je, že zájemci o vývoj takových aplikací mají přístup k tisícům řádků kódu připraveného k použití v jejich vlastním řešení, které představují podporu pro různé typy senzorů a akčních členů.

Arduino IoT API

Jak již bylo zmíněno, data ze senzorů mohou být prezentována v reálném čase v grafické podobě, nebo mohou být zasílána do databáze. Existuje mnoho příkladů jejich použití pomocí tabulek Google, asistenta Amazon Alexa a dalších výrobců softwaru. Pomocí rozhraní Arduino IoT API můžete také vyvíjet vlastní, jedinečné aplikace. Cloudový software lze vyzkoušet zdarma – plná funkčnost je dostupná po přidání jediné desky MKR nebo Portenta. Pro připojení více zařízení je třeba zakoupit předplatné. Zde máme jednu důležitou poznámku. Bezplatná varianta spolupracuje pouze s produkty Arduino, zatímco komerční varianta poskytuje možnost připojení ke cloudu i jiných mikropočítačů, jako je například Raspberry Pi, moduly s ESP8266 atd.

Veškerá komunikace s cloudem je šifrována pomocí SSL protokolu. Desky řad Arduino Portenta a Arduino MKR mají vestavěné kryptografické jednotky, které podporují komunikaci pomocí tohoto protokolu v reálném čase. Kromě toho jsou vybaveny mechanismem autentizace, který je podporován přídavným systémem obsahujícím klíč kompatibilní s X.509.

Novinkou v nabídce Arduina je nabídka SIM karet. Pomocí těchto karet můžete vytvořit síť senzorů, které komunikují s cloudem pomocí základnových stanic mobilních sítích využívaných v roamingovém režimu ve více než 100 zemích.

Arduino IDE Pro

Software pro okrajová zařízení může být vytvořen pomocí Arduino IDE Pro. Toto vývojové prostředí zdědilo vlastnosti dobře známého Arduino IDE, takže jeho uživatelé nemusí měnit mnoho návyků a znovu s ním učit pracovat. Nejrychlejší způsob, jak začít vyvíjet software pro síť senzorů, je použít webový editor. Jedná se o řešení, které dnes používá mnoho výrobců softwaru. Má tu výhodu, že do jisté míry činí kompilátor nezávislým na výpočetním výkonu a typu operačního systému hardwaru, na kterém pracujeme. Jako uživatelé máme také přístup k průběžně zaváděným aktualizacím a opravám, ale také k nejnovějším výukovým materiálům a příkladům. Zdrojový kód je uložen v prostoru vyčleněném pro nás na serveru a určitě je lépe zabezpečený než na námi přenášeném notebooku, nebo dokonce ve volně stojícím stolním počítači v kanceláři. Nevýhodou je, že vyžaduje neustálý přístup k internetu, což není vždy možné. Dalším návrhem pro uživatele je proto verze IDE, která je určena k instalaci na stolním počítači. Tato je – jak už to bývá u programu open source – dostupná pro systémy Windows, Linux (64 bit) a Mac OS X.

Arduino CLI

Pokročilým uživatelům je nabízeno Arduino CLI shell, pracující v režimu konzoly (s příkazovým řádkem). Obsahuje kompilátor, umožňuje spravovat desky a knihovny funkcí, programovat zařízení, zapínat a vypínat je a také jiné činnosti. Arduino CLI lze použít na platformách postavených na procesorech vytvořených společnostmi ARM nebo Intel. Díky tomu jej lze používat stejně dobře na vašem PC, jak i na mikropočítači typu Raspberry Pi.

Článek byl vydán v originále na webu TME.eu.
https://www.tme.eu/cz/news/library-articles/page/42846/42947/arduino-pro-nekonvencni-a-snadna-cesta-k-uspechu-aplikace-iot/

Hodnocení článku: