Arduino Uno Q / Arduino s čipom Qualcomm, Linuxom a obrazovým výstupom
UNO Q je vývojová doska navrhnutá pre riešenia využívajúce AI v cloude spolu s AI na okraji čiže v rámci takzvaného Edge Computingu, keď sa údaje spracovávajú a v reálnom čase analyzujú tam, kde vznikli. Na jednej doske kombinuje mikroprocesor (MPU) Qualcomm Dragonwing QRB 2210, ktorý je dostatočne výkonný na beh Linuxu (Debian), s mikrokontrolérom (MCU) STM 32U585 na riadenie s nízkou latenciou.
Aplikácie na MPU pod Linuxom zvládajú komplexné pracovné zaťaženia, siete a spracovanie údajov. MCU zabezpečuje riadenie senzorov, motorov, zber údajov a iné časovo citlivé operácie v reálnom čase. Architektúra zahŕňa middleware RPC, ktorý umožňuje bezproblémovú spoluprácu medzi dvoma „mozgami“, možno tak zladiť funkcie a umožniť použitie AI v reálnom čase. Arduino UNO Q nevyžaduje na tvorbu kódu hostiteľský počítač. Pridaním rozbočovača USB-C možno Q používať s bežnou klávesnicou, myšou a monitorom ako vlastný počítač založený na Debiane.
src="https://www.youtube.com/embed/bQ9MzsNYlVQ" frameborder="0"
allow="accelerometer; autoplay;
encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
Určite ste zachytili informáciu, že Arduino odkúpil známy výrobca čipov Qualcomm. Vývojová doska Arduino Uno Q je prvým Arduinom s čipom Qualcomm. Je to de facto mikropočítač v konštrukčnom formáte Arduino UNO s mnohými zlepšeniami vrátane pridaných konektorov na spodnej strane pre zariadenia vyžadujúce vysokú rýchlosť komunikácie, napríklad kamery, ktorá sa dá využívať na rozpoznávanie obrazu. Typický scenár nasadenia je robotika, kde sa dá využiť rozpoznávanie obrazu z kamery. Vďaka veľmi výhodnej cene sa však táto doska dá použiť aj na komplexnejšie hobby konštrukcie. Arduino aj po akvizícii spoločnosťou Qualcomm pokračuje v tradícii, že vývojové dosky sú open source. K dispozícii sú podrobné schémy dosiek, zdrojové kódy aj návody.

Srdcom dosky je čip Qualcomm Dragonwing QRB 2210. Na čipe sú štyri jadrá ARM Cortex A-53 taktované na 2 GHz a GPU Adreno. Procesor má k dispozícii 2 GB RAM a 16 GB úložný priestor eMMC. Keďže 2 GB RAM umožňuje spúšťanie len veľmi malých modelov LLM, pripravuje sa verzia so 4 GB RAM. Na riadenie vstupov, výstupov a maticového LED displeja slúži sekundárny 32-bitový mikrokontrolér STM 32 U585 s architektúrou ARM Cortex-M33 s maximálnou taktovacou frekvenciou 160 MHz. Má 786 kB SRAM a 2 MB flash pamäte. Tento mikrokontrolér ovláda zbernicu na konektoroch na hornej strane dosky. Rozmiestnenie pinov je kompatibilné so staršími verziami Arduina, takže môžete používať aj širokú paletu rozširujúcich dosiek. Signály na hornej strane dosky sú kompatibilné s 3,3 V logikou TTL. V dokumentácii sa píše, že sú tolerantné k 5 V TTL, takže sa budú dať využívať aj staršie periférie pre Arduino s napätím 5 V. Na doske je modul WCBN3536A od Qualcommu pre Wi-Fi 5 a Bluetooth 5.1. Ak aplikáciu využívate na hostiteľskom počítači, môžete sa k nemu pripojiť nielen cez USB, ale aj cez Wi-Fi. Doska podporuje obrazový výstup cez USB-C. Ak nemáte monitor so vstupom USB-C, potrebujete rozbočovač USB-C s HDMI, ktorý umožňuje externé napájanie cez USB-C.

Podľa benchmarkov je výkon tejto dosky porovnateľný s Raspberry Pi 4. Spotreba 2 – 5 W aj pri plnom výkone svedčí o energetickej úspornosti čipovej súpravy, čipy na doske na rozdiel od Raspberry Pi 5 netreba chladiť. Ak je mikrokontrolér STM 32 dobre naprogramovaný, má zanedbateľnú spotrebu, zatiaľ som však nenašiel spôsob, ako vypnúť alebo uspať čipovú súpravu Qualcomm. STM 32 využíva operačné prostredie Zephyr RTOS RTOS (Real-Time Operating System).
Na spodnej strane dosky sú dva konektory na pripojenie príslušenstva, ktoré vyžaduje vysokú rýchlosť komunikácie: konektor označený JMISC na vysokorýchlostný digitálny prenos a konektor JMEDIA pre kamery. Tieto porty umožňujú priame prepojenie QRB2210 s inými perifériami. Je však potrebné postupovať s mimoriadnou opatrnosťou, pretože tento čip používa 1,8 V logiku. Zatiaľ nie sú k dispozícii žiadne dosky, ktoré by tieto konektory využívali.
Arduino UNO Q podporuje tri režimy použitia:
- Režim SBC (Single Board Computer) – použitie dosky ako samostatného počítača s Debian Linuxom podobne ako pri Raspberry Pi. K doske pripojíte klávesnicu, myš a monitor. Rozdiel je v tom, že Raspberry Pi má samostatné porty USB a HDMI, ale Arduino UNO Q má iba jeden port USB-C. To si vyžaduje externý rozbočovač USB-C so samostatným napájacím vstupom.
- Režim PC – pripojenie k počítaču cez port USB-C podobne ako bežná doska Arduino. Na PC treba mať nainštalovanú aplikáciu Arduino App Lab.
- Sieťový režim – pripojenie cez Wi-Fi po nastavení v režime SBC alebo PC.
Na doske je predinštalovaný operačný systém Debian Linux s aplikáciou Arduino App Lab, ktorá slúži ako vývojové prostredie a takisto na správu a spúšťanie programov. K dispozícii je interpreter Pythonu a programovať môžete aj v C++. Arduino App Lab zjednocuje využite Arduina naprieč operačnými systémami v reálnom čase – Linuxom, Pythonom a AI. App Lab zjednodušuje vytváranie, testovanie a nasadzovanie hybridných aplikácií. Obsahuje predinštalované vzorové aplikácie, modely umelej inteligencie a „bricks“ čiže modulárne stavebné bloky, ktoré umožňujú rýchlo experimentovať a vytvárať riešenia. Nie sú to jednoduché knižnice na ovládanie hardvéru, ako sme boli zvyknutí pri klasickom Arduine, ale komplexné moduly. Niektoré majú integrované webové servery spolu s predtrénovanými modelmi umelej inteligencie a databázami SQL na ukladanie údajov.
Hlavný procesor Qualcomm dokáže spolupracovať s mikrokontrolérom STM 32 prostredníctvom nástroja Bridge, ktorý umožňuje spúšťanie funkcií a výmenu údajov prostredníctvom vzdialených volaní procedúr (RPC). To využívajú hybridné aplikácie Python/C++. Takto môžete vytvárať rôzne scenáre, napríklad použitie strojového učenia a USB kamery na detekciu nálady človeka pred kamerou a jej následné zobrazenie ako emoji na LED matici 8 × 13. Prvá vzorová aplikácia, ktorú si môžete vyskúšať, je Blink LED, pretože nevyžaduje žiadny ďalší hardvér. Po zostavení a spustení aplikácie sa rozbliká RGB LED na doske. Preskúmanie súborov main.py a sketch.ino ukazuje, že časovanie zapnutia/vypnutia je riadené príkazom time.sleep(1) v Pythone. Kód Arduina priamo nevolá digitalWrite() na ovládanie LED diódy, funkcia loop() je prázdna. Namiesto toho je vo funkcii setup() deklarovaná funkcia set_led_state(), ktorá povoľuje vzdialené vykonávanie príkazov pomocou mechanizmu RPC prostredníctvom Bridge.provide() a Bridge.call().
Arduino UNO Q posúva možnosti platformy UNO, ktorú využíva obrovská komunita nadšencov, študentov a, samozrejme, aj inžinierov na novú úroveň. Kombinuje vysokovýkonné výpočty s riadením v reálnom čase a otvára dvere pokročilým aplikáciám, ako je rozpoznávanie objektov, hlasová interakcia a detekcia pohybu.
Zobrazit Galériu