Návrh mobilního internetu věcí lze zjednodušit tím, že použijeme vývojové sady mobilních systémů, které využívají známé mikrokontrolery a jejich integrované návrhové prostředí (IDE). Tyto vývojové sady spolu se softwarovými knihovnami s otevřeným zdrojovým kódem a jednoduchým připojením senzorů usnadňují návrh celého projektu, a to od rozvržení hardware až po odesílání dat do cloudu. Tento článek uvede některé výhody mobilního internetu věcí a poté vysvětlí složitost návrhu. Bude se také věnovat vývojovými deskami s technologiemi od Microchipu, které značně celý návrh značně zjednoduší.
Co je mobilní IoT?
Mobilní IoT využívá technologii s nízkou spotřebou energie k připojení koncových zařízení IoT (jako jsou senzory a akční členy) ke cloudu. Jedná se o technologii LPWAN charakterizovanou kilometrovým dosahem a podporou koncových zařízení s vysokou hustotou. Existují i další technologie LPWAN jako je LoRaWAN (viz „Urychlete projekty LoRaWAN IoT pomocí End-to-End Starter Kit “) a Sigfox, ale mobilní IoT nabízí klíčové výhody:
- Future proofing: Tuto vlastnost lze přeložit jako předvídatelnost. Specifikace pro mobilní IoT se neustále přezkoumává a vyvíjí.
- Škálovatelnost: Mobilní IoT umožňuje rychlé nasazení internetu věcí prostřednictvím zavedené architektury.
- Quality of Service (QoS): Mobilní IoT nabízí vysokou spolehlivost, protože je založen na infrastruktuře, která je osvědčená i ve velkoobjemových komerčních aplikacích.
- IP interoperabilita: Koncová zařízení lze přímo připojit ke cloudu bez potřeby drahých a složitých bran.
S mobilním IoT jsou s přenosem dat spojeny také tzv. stálé náklady. To ale není případ technologie LoRaWAN, která využívá nelicencované frekvenční spektrum. Náklady na mobilní IoT data však klesají kvůli konkurenčnímu tlaku a zvýšenému používání edge computingu, čímž se snižuje objem dat odesílaných přes síť. Mobilní internet věcí se řídí telekomunikačním standardem 3GPP. Bezdrátové senzory vybavené mobilními IoT modemy mohou přímo posílat data do cloudu v zabezpečené formě, aniž by potřebovaly drahé a složité brány.
Rozdíl mezi LTE-M a NB-IoT
Mobilní IoT přichází ve dvou formách, LTE kategorie M1 (LTE-M) a úzkopásmový IoT (NB-IoT). Oba typy jsou navrženy pro použití v nízkoenergeticky náročných zařízeních, často napájenými bateriemi. Každé zařízení je vlastně modemem, který se připojuje k mobilní síti, a proto každý z nich vyžaduje svůj vlastní modul identity – SIM kartu.
LTE-M je založeno na technologii LTE („4G“). Nabízí bezpečnou komunikaci, všudypřítomné pokrytí a vysokou kapacitu systému. Schopnost fungovat jako plně duplexní systém v relativně široké šířce pásma (1,4 MHz) zlepšuje latenci a propustnost ve srovnání s NB-IoT. Propustnost dat se pohybuje okolo 300 Kbit/s downlink a 375 Kbit/s uplink. Tato technologie je vhodná pro zabezpečená end-to-end IP připojení. LTE-M je vhodná pro mobilní aplikace typu sledování majetku nebo domácí péči.
NB-IoT je primárně navržena pro energetickou účinnost a pro lepší pronikání do budov a dalších oblastí, kde se radiofrekvenční vlny moc nešíří. Na rozdíl od LTE-M není založena na fyzické vrstvě LTE (PHY). Složitost modemu je menší než u zařízení LTE-M, protože NB-IoT využívá šířku pásma 200 kHz. Zatímco propustnost dat je pouhých 60/30 Kbits/s (downlink/uplink), dosah je lepší než u LTE-M. NB-IoT je vhodná pro statické aplikace, jako jsou chytré měřiče, které mohou být zakryty stěnami.
Komerční mobilní IoT modemy
K dispozici je celá řada komerčních modemů LTE-M/NB-IoT. Jedním z příkladů je modul Monarch 2 GM02S od Sequans. Dodává se v kompaktním LGA modulu o rozměrech 16,3 x 17 x 1,85 mm. Modul splňuje požadavky 3GPP Release 14/15, je napájen z jediného zdroje 2,2 až 5,5 V a je schopen maximálního vysílacího výkonu +23 dBm.
GM02S podporuje externí SIM, eSIM i iSIM. Součástí je také anténní rozhraní přizpůsobené na hodnotu 50 Ω. Modem je dodáván se softwarovým stackem LTE-M/NB-IoT a softwarem Sequan's Cloud Connector pro snadné připojení ke komerčním cloudovým platformám (obrázek 1).
Obrázek 1: Modem GM02S LTE-M/NB-IoT od Sequans je dodáván v kompaktním LGA pouzdru a s bohatým softwarovým balíčkem. (Zdroj obrázku: Sequans)
Nástrahy návrhu mobilního internetu věcí
I když je modem GM02S vysoce integrovaný modul, je stále zapotřebí značného množství práce na vývoji než aplikace bude bezproblémově odesílat data do cloudu. Modem je určen výhradně k zajištění komunikace mezi koncovým zařízením a základnovou stanicí.
K ovládání modemu a zároveň ke spuštění aplikačního software inteligentního senzoru je zapotřebí samostatný dohlížecí a aplikační procesor. Kromě toho se musí modem doplnit o anténní obvod(y), napájecí zdroj a vybavení koncového zařízení SIM kartou, aby byla zajištěna bezproblémová konektivita s mobilní sítí (viz „How to Use Multiband Embedded Antennas to Save Space, Complexity, and Cost in IoT Designs“).
Kromě návrhu hardware je nutné mít zkušenosti v programování, aby se modul mohl připojit k síti a přijímat či vysílat data. Pokud návrh používá externí aplikační procesor, tak ten obvykle komunikuje s modulem pomocí sériové linky UART. Příkazy AT („attention“) jsou standardními prostředky k ovládání mobilního modemu. Příkazy se skládají z řady krátkých textových řetězců, které lze kombinovat a vytvářet operace, jako je vytáčení, ukončení komunikace nebo změna parametrů připojení.
Existují dva typy AT příkazů:
- Základní příkazy jsou ty, které nezačínají „+“. Příklady jsou „D“ (Dial - vytáčení), „A“ (Answer - odpověď), „H“ (Hook control - ovládání zavěšení) a „O“ (Return to online data state).
- Rozšířené příkazy jsou ty, které začínají znakem „+“. Například „+CMGS“ (Odeslat SMS zprávu), „+CMGL“ (Seznam SMS zpráv) a „+CMGR“ (Čtení SMS zpráv) (viz „ Use a Cellular Module to Connect a Maker Project to the IoT“).
Tyto hardwarové a softwarové překážky jsou odstraněny díky spojení výrobců aplikačních MCU a mobilních IoT modemů, aby nabídli komplexní návrhové nástroje, které usnadní cestu k finálnímu produktu.
Vývojová deska zjednodušuje návrh IoT zařízení
Návrh mobilního internetu věcí se zjednoduší použitím příslušné vývojové desky. Hardware vývojové desky obvykle zahrnuje anténu, zdroj napájení, SIM kartu s určitým volným objemem dat, aplikační procesor a ladící obvody pro zajištění dostatečného výkonu RF. Vývojová deska dává hardwarový základ pro daný projekt a vývojový team se může soustředit na aplikační část. Při správné volbě vývojové desky může být vývoj aplikací dokonce veden ve známém vývojovém prostředí IDE.
Jedním z příkladů populární vývojové desky pro mobilní IoT je EV70N78A AVR-IoT Cellular Mini Development Board od Microchipu. Jedná se o hardwarovou platformu založenou na mikrokontroleru AVR128DB48 a modulu Sequans Monarch 2 GM02S podrobně popsaném výše. 24 MHz mikrokontroler je 8bitový a obsahuje 128 kB flash paměti, 16 kB SRAM, 512 bajtů EEPROM a je umístěn v 48pinovém pouzdru.
Vývojová deska má integrovaný bezpečnostní prvek ATECC608B. Po připojení k síti LTE-M nebo NB-IoT se ATECC608B používá k autentizaci hardware v cloudu k jedinečné identifikaci každé desky. Aby začátky vývoje byly co nejjednodušší, vývojová deska obsahuje také SIM kartu Truphone se 150MB dat.
Vývojová deska dále nabízí pět uživatelských LED, dvě mechanická tlačítka, krystal 32,768 kHz, senzory barev a teploty, konektor kompatibilní s Adafruit Feather, konektor Qwiic I2C, debugging přímo na desce, USB port, baterii a nabíječku Li-ion/Li-Po baterií MCP73830 s LED stavu nabití (obrázek 2).
Obrázek 2: Vývojová deska AVR-IoT Cellular Mini je založena na MCU AVR128DB48 a je dodávána se SIM kartou a 150 MB dat. (Zdroj obrázku: Microchip Technology)
Jak začít ?
Účelem mobilního internetu věcí je bezdrátově propojit koncová zařízení do cloudu. Na vývojové desce od Microchipu je v mikrokontroleru předem nahrán firmware tvořící demo aplikaci, která uživatelům umožňuje rychle se připojit a odesílat data ze snímačů teploty a barev (součástí vývojové desky) do cloudového sandboxu (hostovaného společností AWS). Stačí aktivovat a vložit SIM kartu, připojit externí anténu k desce, připojit ladicí USB-C port na desce k PC, naskenovat QR kód na spodní straně desky nebo v souboru CLICK-ME.HTM najít webovou stránku a přejít na ni.
Microchip IoT Provisioning Tool, dostupný na Githubu, poskytuje snadné řešení pro konfiguraci AVR-IoT Cellular Mini. Konfigurovat lze poskytovatele cloudu, poskytovatele sítě a výběr frekvenčních pásem mobilních sítí. (Aby demo firmware sandboxu fungoval, musí být vývojová deska nakonfigurována pro sandbox AWS Microchip.)
Poté lze začít budovat svou vlastní aplikaci pomocí plné podpory Arduino IDE vývojové desky. Tato podpora je založena na AVR IoT buněčné knihovně Arduino hostované taktéž na Githubu. Knihovna je postavena na open-source DxCore (obrázek 3).
Obrázek 3: AVR IoT celulární IoT knihovna (oranžová) obsahuje softwarové moduly pro programování a ovládání vývojové desky (zobrazeno ve zjednodušené podobě zeleně). (Zdroj obrázku: Microchip Technology)
Vestavěný debugger (PKOB nano) poskytuje plnou podporu programování pro Arduino IDE. Nejsou nutné žádné externí nástroje a poskytuje také přístup k rozhraní sériového portu a dvěma kanálům logického analyzátoru (debug GPIO). Vestavěný ladicí program na desce AVR IoT Cellular Mini se objeví jako zařízení HID podsystému USB hostitelského počítače. K rozšíření desky lze využít konektory Qwiic a Feather a vybrat si z širokého portfolia přídavných desek Sparkfun a Adafruit (obrázek 4).
Obrázek 4: Blokové schéma vývojové desky AVR IoT ukazuje, že připojení k hostitelskému PC je přes USB link ladicího programu, programování aplikačního MCU je přes UART link ladicího programu. Spojení mezi aplikační MCU a mobilním modemem je také přes UART. (Zdroj obrázku: Microchip Technology)
Programování aplikací začíná stažením a instalací Arduino IDE a DxCore. Dále je nutné nakonfigurovat Arduino IDE, aby umožnilo spuštění AVR IoT celulární knihovny Arduino (Příklad 1).
Příklad 1: Konfigurace Arduino IDE umožňující spuštění AVR IoT celulární knihovny Arduino. (Zdroj kódu: Microchip Technology)
Jakmile je IDE nakonfigurováno, knihovna může být nainstalována. Pak lze získat přístup ke knihovně, kde jsou příklady pro tuto vývojovou desku. Tyto příklady lze otevřít ve Visual Studio Code IDE za předpokladu, že je nainstalován plugin Arduino. Aplikační kód Arduino vyvinutý v obou IDE je portován do MCU vývojové desky prostřednictvím vestavěného debuggeru.
Měření výkonu
Mobilní IoT je navržen tak, aby běžel s nízkou spotřebou energie a prodloužila se životnost baterie. Je proto důležité optimalizovat kód aplikace směrem k minimální spotřebě energie. Na vývojové desce je napájení všech částí desky připojeno pomocí pěti spojů, které lze jednoduše přerušit a zapojit ampérmetr (obrázek 5).
Obrázek 5: Spoje, které lze jednoduše přerušit a lze je využít k měření spotřeby energie klíčových prvků. (Zdroj obrázku: Microchip Technology)
Vývojová deska má také obvod pro měření systémového napětí pomocí přepínače MIC94163 a napěťového děliče připojeného k ADC pinu na MCU. To umožňuje měření na vyžádání a zabraňuje úniku energie přes dělič napětí. Chcete-li změřit napětí systému, je nutné postupovat následovně:
- Nakonfigurovat referenční napětí ADC.
- Nastavit pin MCU GPIO system voltage measurement enable (PB3) na vysokou hodnotu, aby se povolil dělič napětí.
- Nastavit pin MCU ADCO system voltage measurement (PE0) jako vstup pro ADC.
- Spustit analogově-digitální konverzi (ADC).
- Vypočítat napětí pomocí rovnice: V = výsledek ADC x V REF x 4/rozlišení ADC.
Napájecí napětí lze změřit podle následujících kroků:
- Nakonfigurovat referenční napětí pro ADC.
- Vybrat V DD nebo VDDIO2 jako kladný vstup do ADC. (V DD a V DDIO2 jsou dostupné interní vstupní kanály pro ADC MCU.)
- Spustit převod ADC.
- Vypočítat napětí pomocí rovnice: V = výsledek ADC x V REF x 10/rozlišení ADC.
Závěr
Návrh koncových zařízení s mobilním IoT vyžaduje jak hardwarové, tak softwarové znalosti. Vývojová deska EV70N78A AVR-IoT Cellular Mini Development Board zjednodušuje vývoj a urychluje stavbu prototypu. Vývojová deska využívá LTE-M/NB-IoT modem a mikrokontroler od Microchipu. Vývoj aplikačního kódu probíhá pomocí vývojového prostředí Arduino nebo Visual Studio Code IDE.
Článek vyšel v originále na webu DigiKey.com.