Slik kommer du i gang med IoT-prosjekter for mobiltelefoni ved å bruke Microchip sitt IoT-utviklingskort
Bidrag fra DigiKeys nordamerikanske redaktører
2022-09-08
Tingenes Internett (IoT) for mobiltelefoni, som er en LPWAN-teknologi (LPWAN – low power wide area network), tilbyr en klar og utprøvd fremgangsmåte for sikker og robust IoT for konstruksjoner som spenner fra smartbyer til landbruk, samt fjernovervåking av infrastruktur. IoT for mobiltelefoni er imidlertid en kompleks teknologi, noe som kan være skremmende for uerfarne konstruktører som begir seg ut på et prosjekt.
Utfordringer relatert til IoT-konstruksjoner for mobiltelefoni kan imidlertid forenkles ved å basere prosjekter på utviklingskort for mobiltelefoni som bruker kjente generelle mikrokontrollere (MCU-er) og integrerte designmiljøer (IDE – integrated design environment). Disse utviklingskortene, som er støttet av biblioteker med åpen programvare og enkel sensortilkobling, gjør det enklere for konstruktører å komme i gang med IoT-prosjekter for mobiltelefoni – fra maskinvarelayout til sending av data til skyen.
Denne artikkelen skisserer kort fordelene med IoT for mobiltelefoni og forklarer konstruksjonskompleksitetene som teknologien kan introdusere. Artikkelen beskriver deretter hvordan bruken av IoT-utviklingskort for mobiltelefoni kan eliminere mye av denne kompleksiteten. Til slutt beskriver artikkelen hvordan du konfigurerer et Microchip Technology-utviklingskort til å sende enkle farge- og temperaturdata til skyen.
Hva er IoT for mobiltelefoni?
IoT for mobiltelefoni bruker mobilteknologi med lavt strømforbruk til å koble IoT-endeenheter (f.eks. sensorer og aktuatorer) til skyen. Det er en LPWAN-teknologi som kjennetegnes av rekkevidder på flere kilometer (kilometer-pluss), støtte for endeenheter med høy tetthet og lav gjennomstrømning.
Selv om andre LPWAN-teknologier finnes – spesielt LoRaWAN (se, «Fremskynd LoRaWAN IoT-prosjekter med et ende-til-ende-startsett») og Sigfox – tilbyr IoT for mobiltelefoni noen viktige fordeler, deriblant:
- Fremtidssikring: Som standard er spesifikasjonen for IoT for mobiltelefoni kontinuerlig under gjennomgang og utvikling.
- Skalerbarhet: IoT for mobiltelefoni kan støtte rask distribusjon av IoT gjennom etablert mobiltelefoni-arkitektur.
- Quality of Service (QoS): IoT for mobiltelefoni tilbyr høy pålitelighet fordi det er basert på utprøvd og moden infrastruktur i kommersielle konstruksjoner med høyt volum.
- IP-driftskompatibilitet: Endeenheter kan kobles direkte til skyen, og de trenger ikke dyre og komplekse gatewayer.
Konstruktører må være oppmerksomme på at IoT for mobiltelefoni innebærer en løpende utgift forbundet med dataoverføring. Dette er ikke tilfelle med konkurrerende teknologier som LoRaWAN, som bruker det ulisensierte frekvensspekteret. Kostnadene for IoT-mobildata er imidlertid nedadgående takket være konkurransepress og økt bruk av datamaskiner på kanten, noe som reduserer volumet av upåfallende data som sendes på tvers av nettverket.
IoT for mobiltelefoni er underlagt en telekommunikasjonsstandard regulert og oppdatert av 3GPP (Third Generation Partnership Project). Utgivelse 13 av 3GPP-standarden utvidet sine M2M-modemkategorier (M2M – maskin-til-maskin) for å muliggjøre prisgunstige modemer med lavt strømforbruk og lav gjennomstrømning som er egnet for IoT-konnektivitet. Ytterligere utgivelser av standarden har resultert i flere forbedringer av disse IoT-modemene.
Trådløse sensorer utstyrt med IoT-modemer for mobiltelefoni kan sende data over flere kilometer til skyen, uten at det er behov for dyre og komplekse gatewayer. De kommer også med sikkerheten og QoS-teknologien som mobiltelefoni er kjent for.
Hva er forskjellen på LTE-M og NB-IoT?
IoT for mobiltelefoni er tilgjengelig i to typer: LTE kategori M1 (LTE-M) og smalbånd-IoT (NB-IoT). Begge typene er konstruert for bruk med ressursbegrensede, ofte batteridrevne enheter som er vanlig for IoT og industriell IoT (IIoT). Fordi IoT-modemer kobles til etablert mobilinfrastruktur, krever hver modem sin egen abonnentidentitetsmodul (SIM – subscriber identity module).
LTE-M er basert på nedstrippet LTE-teknologi («4G»). Den støtter sikker kommunikasjon, allment utbredt dekning og høy systemkapasitet. Med muligheten til å fungere som et full-dupleks-system over en relativt bred båndbredde (1,4 megahertz (MHz)), forbedres latens og gjennomstrømning sammenlignet med NB-IoT. Gjennomstrømningen av rå data er 300 kilobit per sekund (kb/s) nedlink og 375 kb/s opplink. Teknologien er egnet for sikre ende-til-ende-IP-tilkoblinger, og mobilitet støttes av overleveringsteknikker for LTE-celler. LTE-M er egnet for mobile konstruksjoner, for eksempel sporing av ressurser eller helsetjenester.
NB-IoT er hovedsakelig utviklet for energieffektivitet og bedre inntrengning i bygninger og andre områder som ikke er egnet for RF. I motsetning til LTE-M, er den ikke basert på det fysiske LTE-laget (PHY – physical layer). Modemkompleksiteten er enda mindre enn for en LTE-M-enhet, ettersom NB-IoT bruker en båndbredde på 200 kilohertz (kHz). Gjennomstrømningen av rå data er bare 60/30 kb/s, men rekkevidden er bedre enn LTE-M. NB-IoT er egnet for statiske konstruksjoner, for eksempel smartmålere, som kan være blokkert av vegger.
Kommersielle IoT-modemer for mobiltelefoni
Et sortiment av kommersielle LTE-M/NB-IoT-modemer er nå tilgjengelige. Ett eksempel er Monarch 2 GM02S-modulen fra Sequans. Enheten støtter en enkel SKU (stock keeping unit) RF-inngang egnet for 20 av de globale LTE-båndene. Den leveres i en kompakt LGA-modul som måler 16,3 x 17 x 1,85 millimeter (mm). Modulen oppfyller kravene i 3GPP, utgivelse 14/15. Modemet drives fra én enkel strømforsyning på 2,2 til 5,5 volt, og det har en maksimal sendereffekt på +23 desibel, som refereres til som 1 milliwatt (mW) (dBm).
GM02S støtter en eksternt SIM og eSIM, samt integrert SIM. Et antennegrensesnitt på 50 ohm (Ω) er inkludert. Enheten leveres med en LTE-M/NB-IoT-programvarestakk og Sequan Cloud Connector-programvare som gir enkel tilkobling til kommersielle skyplattformer (figur 1).
Figur 1: Sequan GM02S LTE-M/NB-IoT-modemet leveres i en kompakt kapsling og med en moden programvarestakk. (Bildekilde: Sequans)
Utfordringer knyttet til IoT-utforming for mobiltelefoni
Selv om GM02S-modemet er en svært integrert enhet som leveres med en programvarestakk og funksjonalitet for skytilkobling, i likhet med andre kommersielle modemer, gjenstår det fortsatt betydelig utviklingsarbeid før en IoT-applikasjonsutrustning kan sende data sømløst over flere kilometer til skyen.
Modemet er konstruert utelukkende for å ta vare på kommunikasjonen mellom endeenheten og basestasjonen. En separat overvåkings- og bruksprosessor (application processor) er nødvendig for å styre modemet og samtidig kjøre sensorprogramvaren. I tillegg må konstruktøren også ta i betraktning antennekretsen(e) og strømforsyningen, samt utstyre en sluttenhet med et SIM-kort for å sikre sømløs tilkobling til cellenettverket (se «Slik kan integrerte flerbåndsantenner brukes til å redusere plass, kompleksitet og kostnader i IoT-konstruksjoner»).
I tillegg til maskinvarekonstruksjonen, er det nødvendig med noen kodeferdigheter for å få en mobilmodul koblet til nettverket og motta/sende data. Hvis konstruksjonen bruker en ekstern mikrokontroller-utrustninger, kommuniserer den vanligvis med cellemodulen ved å bruke en seriell UART-kobling (selv om andre I/O-grensesnitt også brukes). AT-kommandoer (AT – attention) er en standard måte å styre et mobiltelefoni-modem på. Kommandoene består av en rekke korte tekststrenger som kan kombineres for å produsere handlinger som å ringe opp, legge på og endre parametrene til tilkoblingen.
Det er to typer AT-kommandoer: Grunnleggende kommandoer er de som ikke starter med «+». «D» (Dial – ring), «A» (Answer – svare), «H» (Hook control - gaffelstyring) og «O» (returnere til Online datatilstand) er eksempler. Utvidede kommandoer er de som starter med «+». For eksempel, «+CMGS» (sende SMS-melding), «+CMGL» (liste opp SMS-meldinger) og «+CMGR» (lese SMS-meldinger) (se «Bruke en mobiltelefoni-modul til å koble et Maker-prosjekt til IoT»).
Disse maskinvare- og programvarefaktorene gir kompleksitet til IoT for mobiltelefoni, noe som kan bremse fremgangen til mindre erfarne konstruktører. Heldigvis har produsenter av mikrokontroller-utrustninger (application MCU) og IoT-mobiltelefoni-modemer nå slått seg sammen for å tilby designverktøy for maskinvare og programvare, noe som gjør det mye enklere å dra nytte av denne viktige LPWAN-teknologien.
Eliminere kompleksitet forbundet med IoT-utviklingskort
Det er mye enklere å takle utfordringene til IoT-konstruksjoner for mobiltelefoni ved å basere en prototype på et spesialkonstruert utviklingskort. Maskinvaren til utviklingskortet inkluderer vanligvis en antenne, en strømkilde, et SIM-kort med noe gratis datatillatelse, en bruksprosessor og et innstillingsnettverk (tuning network) for å sikre god RF-ytelse. Dette gir konstruktører et solid maskinvareforsprang for prosjektet sitt og gjør det mulig for dem å fokusere på programutvikling. Med riktig valg av utviklingskort kan utviklingen til og med utføres i en kjent IDE.
Et eksempel på et populært IoT-utviklingskort for mobiltelefoni er EV70N78AT AVR-IoT Cellular Mini fra Microchip. Dette er en maskinvareplattform basert på den populære Microchip AVR128DB48-mikrokontrolleren og Sequans Monarch 2 GM02S-modulen for mobiltelefoni beskrevet ovenfor. Mikrokontrolleren er en enhet på 8 bits og 24 MHz. Den har 128 kilobyte (kb) flash, 16 kb SRAM, 512 byte EEPROM og kommer i en 48-pinners kapsling.
Utviklingskortet integrerer også et ATECC608B Secure Element. Når det er koblet til et LTE-M- eller NB-IoT-nettverk, brukes ATECC608B til å autentisere maskinvaren med skyen for å identifisere hvert kort på en unik måte.
For å gjøre ting enda enklere for konstruktøren, inkluderer Microchip sitt utviklingskort også et aktiveringsklart Truphone SIM-kort med 150 megabyte (Mb) data.
Utviklingskortet har fem bruker-lysdioder, to mekaniske knapper, en 32,768 kHz krystallsensor, fargesensor og temperatursensor, en Adafruit Feather-kompatibel kantkontakt, en Qwiic I2C-kontakt, en integrert feilsøker, en USB-port, batteri og eksterne inngangsstrømalternativer, samt en MCP73830 Li-ion/Li-po-batterilader med ladestatuslysdioder (figur 2).
Figur 2: AVR-IoT Cellular Mini-utviklingskortet for mobiltelefoni er basert på AVR128DB48-mikrokontrolleren og kommer med et SIM-kort og 150 Mb data. (Bildekilde: Microchip Technology)
Starte et IoT-prosjekt for mobiltelefoni
Hensikten med IoT for mobiltelefoni er å trådløst koble til IoT-endeenheter som sensorer og aktuatorer slik at dataene kan sendes over flere kilometer til skyen. På Microchip-utviklingskortet er mikrokontrolleren forhåndslastet med et fastvareimage som omfatter et demoprogram, noe som gjør det mulig for brukere å raskt koble seg til og sende data fra integrerte temperatur- og fargesensorer til en skybasert sandkasse (sandbox), der AWS er vert.
For å klargjøre maskinvaren for utvikling, er det bare å aktivere og sette inn SIM-kortet, koble den eksterne antennen til kortet, koble kortets USB-C-port for feilsøking til datamaskinen, skanne QR-koden nederst på kortet eller åpne masselagringsenheten, og følge CLICK-ME.HTM til settets nettside.
Et Microchip IoT-klargjøringsverktøy, som er tilgjengelig fra Github, gir en brukervennlig løsning for å konfigurere en AVR-IoT Cellular Mini til den valgte skyleverandøren, angi nettverksleverandøren og velge frekvensbånd for mobiltelefoni. (For at sandkassens demofastvare skal fungere, må utviklingskortet være klargjort for AWS Microchip-sandkassen.)
Når utviklerne har blitt komfortable med demoutrustningen, kan de begynne å bygge sin egen utrustning ved å bruke utviklingskortets fulle Arduino IDE-støtte. Denne støtten er basert på et AVR IoT Arduino-bibliotek for mobiltelefoni lagret på Github. Biblioteket er bygget på DxCore med åpen kildekode (figur 3).
Figur 3: AVR IoT sitt IoT-bibliotek for mobiltelefoni (oransje) inkluderer programvaremoduler for programmering og styring av utviklingskortet (vist forenklet i grønt). (Bildekilde: Microchip Technology)
Den innebygde feilsøkingsenheten (PKOB nano) leverer full programmeringsstøtte for Arduino IDE. Det er ikke nødvendig med eksterne verktøy, og den gir også tilgang til et serieportgrensesnitt (serie-til-USB-bro) og to logiske analysatorkanaler (feilsøkings-GPIO). Den innebygde feilsøkeren på AVR IoT Cellular Mini-kortet vises som en HID-enhet (HID – human interface device) på vertsdatamaskinens USB-undersystem. For mer ambisiøse prosjekter, muliggjør utviklingskortets Qwiic- og Feather-kompatible kantkontakter enkel utvidelse fra et bredt utvalg av tilleggskort fra Sparkfun og Adafruit (figur 4).
Figur 4: Dette blokkskjemaet for AVR IoT-utviklingskortet viser at tilkoblingen til vertsdatamaskinen skjer via feilsøkerens USB-lenke, mens programmering av utrustningens mikrokontroller skjer via feilsøkerens UART-lenke. Vær oppmerksom på at tilkoblingen mellom utrustningens mikrokontroller og mobiltelefonimodemet også skjer via UART. (Bildekilde: Microchip Technology)
Nedlasting og installasjon av Arduino IDE og DxCore er nødvendig for å komme i gang med programmering av utrustninger. Deretter må Arduino IDE-en konfigureres slik at AVR IoT Arduino-biblioteket for mobiltelefoni skal kunne kjøres (liste 1).
Liste 1: Konfigurasjon av Arduino IDE-en for å muliggjøre kjøring av AVR IoT Arduino-biblioteket for mobiltelefoni. (Bildekilde: Microchip Technology)
Biblioteket kan installeres når IDE-en er konfigurert. Når dette er gjort, er tilgang til flere bibliotekeksempler for utviklingskortet mulig. Konstruktører som er kjent med Visual Studio Code IDE, kan bruke den til AVR IoT-utvikling, forutsatt at de installerer Arduino-tillegget. Arduino-utrustningsskoden som er utviklet i en av IDE-ene, porteres til utviklingskortets mikrokontroller via den integrerte feilsøkeren.
Foreta effektmålinger
IoT for mobiltelefoni er utviklet for å kjøre med lavt strømforbruk for å forlenge levetiden til batteridrevne IoT-sluttenheter. Derfor er det viktig å optimalisere utrustningens kode for minimalt strømforbruk.
På Microchip-utviklingskortet er strømmen til alle kortdelene koblet til gjennom fem stropper (cut-straps). Disse er også beregnet for strømmålingsformål. For å måle effekt på den aktuelle kretsen, må stroppen kuttes og et amperemeter må kobles til på tvers av hullene (figur 5).
Figur 5: Stropper på AVR IoT-utviklingskortet kan brukes til å måle strømforbruk på de viktigste kretsene. (Bildekilde: Microchip Technology)
Utviklingskortet har også en målingskrets for systemspenning som bruker MIC94163-svitsjen og en spenningsdeler koblet til en A-D-omformer-pinne på mikrokontrolleren, noe som muliggjør måling på etterspørsel og hindrer strømlekkasje gjennom spenningsdeleren. Følg disse trinnene for å måle systemspenningen:
- Konfigurer spenningsreferansen for A-D-omformeren.
- Still inn aktiveringspinnen (PB3) for systemspenningsmåling for mikrokontrollerens GPIO til høy for å aktivere spenningsdeleren.
- Angi pinnen (PE0) for systemspenningsmåling for mikrokontrollerens ADCO som inngang for A-D-omformeren.
- Kjør en ensidig jordet analog-til-digital-omformer (ADC).
- Beregn spenningen ved å bruke ligningen: V = ADC-resultat x VREF x 4/ADC-oppløsning.
Til slutt er det også enkelt å måle forsyningsspenningen ved å følge disse trinnene:
- Konfigurer spenningsreferansen for A-D-omformeren.
- Velg VDD eller VDDIO2 som positiv inngang til A-D-omformeren (ADC). (VDD og VDDIO2 er tilgjengelige for interne inngangskanaler til mikrokontrollerens A-D-omformer.)
- Kjør en ensidig jordet A-D-omforming.
- Beregn spenningen ved å bruke ligningen: V = ADC-resultat x VREF x 10/ADC-oppløsning.
Konklusjon
IoT for mobiltelefoni er et populært LPWAN med økende kommersielt potensial. Konstruksjon av IoT-drevne sluttenheter for mobiltelefoni krever imidlertid både maskinvare- og programvarekompetanse. For å hjelpe konstruktører tilbyr nye IoT-utviklingskort for mobiltelefoni, for eksempel Microchip sitt EV70N78A AVR-IoT Cellular Mini-utviklingskort for mobiltelefoni, en rask prototypingsrute.
Utviklingskortet bruker et LTE-M/NB-IoT-modem av høy kvalitet og en populær Microchip-mikrokontroller. Utviklingen av kode for utrustninger, forenkles ved å bruke Arduino eller 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.




