Waarom en hoe u met het IoT-ontwikkelbord van Microchip een vliegende start kunt maken met cellulaire IoT-projecten
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2022-09-08
Cellular Internet of Things (IoT), een low power wide area network (LPWAN)-technologie, biedt een duidelijk en beproefd pad naar een veilig en robuust IoT voor toepassingen variërend van smart cities tot landbouw en bewaking van infrastructuur op afstand. Het cellulaire IoT is echter een complexe technologie, ontmoedigend voor onervaren ontwerpers die aan een project beginnen.
De uitdagingen op het gebied van cellulaire IoT-ontwerp kunnen echter worden verlicht door projecten te baseren op cellulaire ontwikkelingsborden die gebruik maken van vertrouwde universele microcontrollers (MCU) en geïntegreerde ontwerpomgevingen (IDE's). Ondersteund door bibliotheken van open-source software en eenvoudige aansluiting van sensoren, maken deze ontwikkelkaarten het eenvoudiger voor de ontwerper om aan de slag te gaan met cellulaire IoT-projecten, van hardware-layout tot en met het verzenden van gegevens naar de cloud.
Dit artikel schetst kort de voordelen van cellulaire IoT alvorens de ontwerpcomplexiteiten uit te leggen die de technologie kan introduceren. Het artikel beschrijft vervolgens hoe het gebruik van cellulaire IoT-ontwikkelingsborden veel van deze complexiteit kan wegnemen. Tenslotte beschrijft het artikel hoe een Microchip Technology-ontwikkelingsbord kan worden ingesteld om eenvoudige kleur- en temperatuurgegevens naar de cloud te sturen.
Wat is cellulaire IoT?
Cellulair IoT maakt gebruik van cellulaire technologie met laag stroomverbruik om IoT-eindapparaten (zoals sensoren en actuatoren) te verbinden met de cloud. Het is een LPWAN-technologie die wordt gekenmerkt door een bereik van meer dan een kilometer, ondersteuning van eindapparatuur met hoge dichtheid en lage verwerkingscapaciteit.
Hoewel er andere LPWAN-technologieën bestaan, met name LoRaWAN (zie "Versnel LoRaWAN IoT-projecten met een End-to-End Starter Kit") en Sigfox-cellulair IoT biedt een aantal belangrijke voordelen, waaronder:
- Klaar voor de toekomst: Als norm wordt de specificatie voor cellulaire IoT voortdurend herzien en verder ontwikkeld.
- Schaalbaarheid: Cellulair IoT kan de snelle uitrol van IoT ondersteunen via gevestigde cellulaire architectuur.
- Kwaliteit van de dienstverlening (QoS): Cellulaire IoT biedt een hoge betrouwbaarheid omdat het gebaseerd is op infrastructuur die zich heeft bewezen en volwassen is in commerciële toepassingen met grote volumes.
- IP-interoperabiliteit: Eindapparaten kunnen direct op de cloud worden aangesloten zonder dat dure en complexe gateways nodig zijn.
Ontwerpers moeten er rekening mee houden dat er bij cellulaire IoT voortdurend kosten verbonden zijn aan gegevensoverdracht. Dit is niet het geval bij concurrerende technologieën zoals LoRaWAN, die gebruik maken van het vergunningsvrije frequentiespectrum. De kosten van cellulaire IoT-gegevens vertonen echter een dalende trend als gevolg van de concurrentiedruk en het toegenomen gebruik van edge computing, waardoor de hoeveelheid onopvallende gegevens die over het netwerk wordt verzonden, afneemt.
Het cellulaire IoT valt onder een telecommunicatienorm die wordt gereguleerd en geactualiseerd door het Third Generation Partnership Project (3GPP). Bij versie 13 van de 3GPP-norm zijn de machine-to-machine (M2M)-modemcategorieën uitgebreid om goedkope modems met een laag vermogen en een lage doorvoer mogelijk te maken die geschikt zijn voor IoT-connectiviteit. Verdere versies van de norm hebben geleid tot verdere verbeteringen van deze IoT-modems.
Draadloze sensoren die zijn uitgerust met cellulaire IoT-modems kunnen gegevens over kilometers naar de cloud verzenden zonder dat daarvoor dure en complexe gateways nodig zijn, samen met de beveiliging en QoS waarvoor cellulair bekend staat.
Het verschil tussen LTE-M en NB-IoT
Cellulair IoT bestaat in twee vormen, LTE categorie M1 (LTE-M) en smalband IoT (NB-IoT). Beide types zijn ontworpen voor gebruik met apparaten die over beperkte hulpbronnen beschikken en vaak op batterijen werken, wat typisch is voor het IoT en het industriële IoT (IIoT). Omdat IoT-modems verbinding maken met gevestigde cellulaire infrastructuur, hebben ze elk een eigen abonnee-identiteitsmodule (sim) nodig.
LTE-M is gebaseerd op uitgeklede LTE-technologie ("4G"). Het ondersteunt veilige communicatie, alomtegenwoordige dekking en hoge systeemcapaciteit. De mogelijkheid om te werken als een full-duplex systeem over een relatief grote bandbreedte (1,4 megahertz (MHz)) verbetert de latentie en doorvoer in vergelijking met NB-IoT. De ruwe datadoorvoer bedraagt 300 kilobits per seconde (Kbits/s) downlink en 375 Kbits/s uplink. De technologie is geschikt voor veilige end-to-end IP-verbindingen, en de mobiliteit wordt ondersteund door LTE-celhandovertechnieken. LTE-M is geschikt voor mobiele toepassingen zoals het volgen van activa of gezondheidszorg.
NB-IoT is in de eerste plaats ontworpen voor energie-efficiëntie en voor een betere penetratie in gebouwen en andere RF-onvriendelijke gebieden. In tegenstelling tot LTE-M is het niet gebaseerd op de LTE-fysieke laag (PHY). De complexiteit van de modem is nog minder dan die van een LTE-M-apparaat, aangezien NB-IoT een bandbreedte van 200 kilohertz (kHz) gebruikt. Hoewel de ruwe datadoorvoer een bescheiden 60/30 Kbits/s is, is het bereik beter dan bij LTE-M. NB-IoT is geschikt voor statische toepassingen zoals slimme meters die aan het zicht worden onttrokken door muren.
Commerciële cellulaire IoT-modems
Een reeks commerciële LTE-M/NB-IoT-modems is nu beschikbaar. Een voorbeeld is de Monarch 2 GM02S module van Sequans. Het toestel ondersteunt een enkel stock keeping unit (SKU) RF front-end geschikt voor 20 van de wereldwijde LTE-banden. Hij wordt geleverd in een compacte LGA-module van 16,3 x 17 x 1,85 millimeter (mm). De module voldoet aan de eisen van 3GPP Release 14/15. De modem wordt gevoed door één enkele voeding van 2,2 tot 5,5 volt en kan een maximaal zendvermogen aan van +23 decibel, herleid tot 1 milliwatt (mW) (dBm).
De GM02S ondersteunt zowel een externe SIM en eSIM als geïntegreerde SIMs. Een 50 ohm (Ω) antenne-interface is bijgeleverd. Het apparaat wordt geleverd met een LTE-M/NB-IoT-softwarestack en Sequan's Cloud Connector software voor gemakkelijke aansluiting op commerciële cloud-platforms (Afbeelding 1).
Afbeelding 1: De GM02S LTE-M/NB-IoT-modem van Sequans wordt geleverd in een compact pakket en met een volwassen softwarestack. (Bron afbeelding: Sequans)
Cellulaire IoT-ontwerpuitdagingen
Hoewel de GM02S-modem een sterk geïntegreerd apparaat is dat wordt geleverd met een softwarestack en cloudconnectiviteit, zoals alle commerciële modems, is er nog heel wat ontwikkelingswerk vereist voordat een IoT-toepassing naadloos gegevens over kilometers naar de cloud kan verzenden.
De modem is uitsluitend ontworpen om te zorgen voor de communicatie tussen het eindapparaat en het basisstation. Er is een afzonderlijke toezicht- en toepassingsprocessor nodig om de modem te besturen en tevens de sensortoepassingssoftware uit te voeren. Daarnaast moet de ontwerper ook rekening houden met het (de) antennecircuit(s), de stroomvoorziening en het uitrusten van een eindapparaat met een SIM om naadloze connectiviteit met het cellulaire netwerk te verzekeren (zie "Hoe multiband ingebedde antennes gebruiken om ruimte, complexiteit en kosten te besparen in IoT-ontwerpen").
Afgezien van het hardwareontwerp zijn er enige coderingsvaardigheden nodig om een cellulaire module verbinding te laten maken met het netwerk en gegevens te laten ontvangen/zenden. Indien in het ontwerp gebruik wordt gemaakt van een externe applicatie-MCU, communiceert deze doorgaans met de cellulaire module via een seriële UART-verbinding (hoewel ook andere I/O-interfaces worden gebruikt). AT ("attention") commando's zijn de standaard manier om een cellulaire modem te besturen. De commando's bestaan uit een reeks korte tekstreeksen die kunnen worden gecombineerd om bewerkingen uit te voeren zoals kiezen, ophangen en het wijzigen van de parameters van de verbinding.
Er zijn twee soorten AT commando's: Basis commando's zijn diegene die niet beginnen met "+". "D" (Kiezen), "A" (Beantwoorden), "H" (Haakcontrole), en "O" (Terugkeren naar online datastatus) zijn voorbeelden. Uitgebreide commando's zijn commando's die wel met een "+" beginnen. Bijvoorbeeld "+CMGS" (SMS-bericht verzenden), "+CMGL" (SMS-berichten weergeven) en "+CMGR" (SMS-berichten lezen) (zie "Een cellulaire module gebruiken om een Maker-project met het IoT te verbinden").
Deze hardware- en softwareoverwegingen maken het cellulaire ivd zo complex dat de vooruitgang van minder ervaren ontwerpers erdoor kan worden afgeremd. Gelukkig hebben fabrikanten van applicatie-MCU's en cellulaire IoT-modems nu de handen ineengeslagen om hardware- en softwareontwerptools aan te bieden die het veel gemakkelijker maken om voordeel te halen uit deze belangrijke LPWAN-technologie.
Een einde maken aan complexiteit met IoT-ontwikkelingsborden
De uitdagingen van cellulair IoT-ontwerp worden aanzienlijk vergemakkelijkt door een prototype te baseren op een speciaal ontworpen ontwikkelbord. De hardware van het ontwikkelingsbord omvat gewoonlijk een antenne, een stroombron, een SIM met wat vrije data, een toepassingsprocessor, en afstemnetwerken om goede RF-prestaties te verzekeren. Dit geeft ontwerpers een solide hardware-voorsprong voor hun project en stelt hen in staat zich te concentreren op de ontwikkeling van toepassingen. Met de juiste keuze van het ontwikkelbord kan de applicatie-ontwikkeling zelfs in een vertrouwde IDE worden uitgevoerd.
Een voorbeeld van een populair cellulair IoT-ontwikkelbord is het EV70N78A AVR-IoT Cellular Mini-ontwikkelingsbord van Microchip. Dit is een hardwareplatform dat is gebaseerd op de populaire Microchip AVR128DB48 MCU, en de Sequans Monarch 2 GM02S cellulaire module, zoals hierboven beschreven. De MCU is een 8-bit, 24 MHz apparaat. Het heeft 128 kilobytes (Kbytes) flash, 16 Kbytes SRAM, 512 bytes EEPROM, en wordt geleverd in een 48-pins pakket.
Het ontwikkelingsbord integreert ook een ATECC608B beveiligd element; eenmaal verbonden met een LTE-M of NB-IoT netwerk, wordt de ATECC608B gebruikt om de hardware te authenticeren met de cloud om elk bord uniek te identificeren.
Om het de ontwerper nog gemakkelijker te maken, bevat het Microchip-ontwikkelingsbord ook een activeringsklare Truphone SIM-kaart met 150 megabytes (Mbytes) aan gegevens.
Het ontwikkelingsbord heeft vijf gebruikers-LED's, twee mechanische knoppen, een 32,768 kHz kristal, kleur- en temperatuursensoren, een Adafruit Feather compatibele edge-connector, een Qwiic I2C-connector, een on-board debugger, een USB-poort, batterij- en externe ingangsvoedingsopties, en een MCP73830 Li-ion/Li-po batterijlader met laadstatus LED (Afbeelding 2).
Afbeelding 2: De AVR-IoT Cellular Mini-ontwikkelingsbord is gebaseerd op de AVR128DB48 MCU en wordt compleet geleverd met een SIM-kaart en 150 Mbytes aan data. (Bron afbeelding: Microchip Technology)
Een cellulair IoT-project starten
Het doel van cellulaire IoT is IoT-eindapparaten zoals sensoren en actuatoren draadloos met elkaar te verbinden zodat hun gegevens over kilometers naar de cloud kunnen worden gestuurd. Op het Microchip-ontwikkelingsbord is de MCU vooraf geladen met een firmware-image dat een demo-applicatie vormt waarmee gebruikers snel gegevens van de ingebouwde temperatuur- en kleursensoren kunnen verbinden en verzenden naar een cloud-gebaseerde sandbox (gehost door AWS).
Om de hardware klaar te maken voor ontwikkeling, is het gewoon een kwestie van de SIM-kaart activeren en plaatsen, de externe antenne aansluiten op het bord, de debug USB-C poort op het bord aansluiten op de PC, de QR-code op de onderkant van het bord scannen of het massa-opslagapparaat openen, en de CLICK-ME.HTM volgen naar de webpagina van de kit.
Een Microchip IoT Provisioning Tool, beschikbaar via Github, biedt een eenvoudig te gebruiken oplossing voor het configureren van een AVR-IoT Cellular Mini naar de geselecteerde cloudprovider, het instellen van de netwerkprovider, en het selecteren van cellulaire frequentiebanden. (Om de sandbox demo firmware te laten werken, moet het ontwikkelbord voorzien zijn voor de AWS Microchip sandbox).
Zodra ontwikkelaars enig vertrouwen hebben gekregen in de demo-applicatie, kunnen ze beginnen met het bouwen van hun eigen applicatie met behulp van de volledige Arduino IDE-ondersteuning van het ontwikkelbord. Deze ondersteuning is gebaseerd op een AVR IoT cellulaire Arduino bibliotheek die gehost wordt op Github. De bibliotheek is gebouwd op de open-source DxCore (Afbeelding 3).
Afbeelding 3: De cellulaire IoT-bibliotheek van AVR (oranje) bevat softwaremodules voor het programmeren en besturen van het ontwikkelingsbord (in vereenvoudigde vorm weergegeven in groen). (Bron afbeelding: Microchip Technology)
De onboard debugger (PKOB nano) biedt volledige programmeerondersteuning voor de Arduino IDE. Er is geen extern gereedschap nodig, en het biedt ook toegang tot een seriële poort interface (serieel-naar-USB brug) en twee logic analyzer kanalen (debug GPIO). De debugger op het AVR IoT Cellular Mini-bord verschijnt als een human interface device (HID) op het USB subsysteem van de hostcomputer. Voor ambitieuzere projecten maken de Qwiic en Feather compatibele randconnectoren van het ontwikkelbord het mogelijk om gemakkelijk uit te breiden met een brede selectie van add-on borden van Sparkfun en Adafruit (Afbeelding 4).
Afbeelding 4: Het blokschema van dit AVR IoT-ontwikkelingsbord toont dat de verbinding met de host-pc verloopt via de USB-link van de debugger, terwijl het programmeren van de applicatie-MCU verloopt via de UART-link van de debugger. Merk op dat de verbinding tussen de applicatie-MCU en het cellulaire modem ook via UART verloopt. (Bron afbeelding: Microchip Technology)
Om te beginnen met het programmeren van toepassingen moet u de Arduino IDE en DxCore downloaden en installeren. Vervolgens moet de Arduino IDE worden geconfigureerd om de AVR IoT cellulaire Arduino-bibliotheek te laten lopen (Lijst 1).
Lijst 1: Configuratie van de Arduino IDE om de AVR IoT cellulaire Arduino-bibliotheek te laten draaien. (Bron code: Microchip Technology)
Zodra de IDE is geconfigureerd, kan de bibliotheek worden geïnstalleerd. Wanneer dit is gedaan, kunnen verschillende bibliotheekvoorbeelden voor het ontwikkelingsbord worden opgeroepen. Ontwerpers die vertrouwd zijn met de Visual Studio Code IDE kunnen deze gebruiken voor AVR IoT-ontwikkeling, op voorwaarde dat zij de Arduino-plugin installeren. Arduino applicatiecode ontwikkeld in een van beide IDE's wordt overgezet naar de MCU van het ontwikkelbord via de on-board debugger.
Vermogensmetingen
Cellulaire IoT is ontworpen om met een laag stroomverbruik te werken om de levensduur van batterijgevoede IoT-eindapparaten te verlengen. Daarom is het belangrijk om de applicatiecode te optimaliseren voor een minimaal stroomverbruik.
Op het Microchip-ontwikkelbord is de voeding van alle onderdelen van het bord aangesloten via vijf snoerstrips. Deze zijn ook bedoeld voor stroommetingen. Om het vermogen op de gewenste stroomkring te meten, moet de band worden doorgeknipt en een ampèremeter over de gaten worden aangesloten (Afbeelding 5).
Afbeelding 5: Cut-straps op het AVR IoT-ontwikkelingsbord kunnen worden gebruikt om het stroomverbruik van belangrijke circuits te meten. (Bron afbeelding: Microchip Technology)
Het ontwikkelingsbord heeft ook een systeemspanningsmeetcircuit dat gebruik maakt van de MIC94163 schakelaar en een spanningsdeler die is aangesloten op een ADC-pen op de MCU, waardoor on-demand metingen mogelijk zijn en stroomlekkage via de spanningsdeler wordt voorkomen. Om de systeemspanning te meten, volgt u deze stappen:
- Configureer de spanningsreferentie voor de ADC.
- Zet de MCU GPIO-systeemspanningsmeetpen (PB3) hoog om de spanningsdeler in te schakelen.
- Stel de MCU ADCO-meetpen voor systeemspanning (PE0) in als ingang voor de ADC.
- Voer een single-ended analoog-digitaal conversie (ADC) uit.
- Bereken de spanning met behulp van de vergelijking: V = ADC resultaat x VREF x 4/ADC resolutie.
Tenslotte is het ook eenvoudig om de voedingsspanning te meten door de volgende stappen te volgen:
- Configureer de spanningsreferentie voor de ADC.
- Selecteer VDD of VDDIO2 als de positieve ingang voor de ADC. (VDD en VDDIO2 zijn beschikbare interne ingangskanalen voor de ADC van de MCU).
- Voer een single-ended ADC conversie uit.
- Bereken de spanning met behulp van de vergelijking: V = ADC resultaat x VREF x 10/ADC resolutie.
Conclusie
Cellulaire IoT is een populair LPWAN met toenemend commercieel potentieel. Het ontwerpen van cellulaire IoT-gevoede eindapparatuur vereist echter zowel hardware- als software-expertise. Om ontwerpers in staat te stellen, bieden nieuwe cellulaire IoT-ontwikkelingsborden, zoals Microchip's EV70N78A AVR-IoT Cellular Mini-ontwikkelingsbord, een snelle prototyping-route.
Het ontwikkelingsbord maakt gebruik van een high-end LTE-M/NB-IoT-modem en een populaire Microchip MCU. De ontwikkeling van toepassingscode wordt vereenvoudigd door gebruik te maken van de Arduino of Visual Studio Code IDE.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




