Indholdsfortegnelse:

Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino: 10 trin (med billeder)
Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino: 10 trin (med billeder)

Video: Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino: 10 trin (med billeder)

Video: Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino: 10 trin (med billeder)
Video: Sim7000A Demo, Part 1 2024, Juli
Anonim
Image
Image
Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino
Botletics LTE CAT-M/NB-IoT + GPS Shield til Arduino

Oversigt

Botletics SIM7000 LTE CAT-M/NB-IoT-skjoldet bruger den nye LTE CAT-M- og NB-IoT-teknologi og har også integreret GNSS (GPS, GLONASS og BeiDou/Compass, Galileo, QZSS-standarder) til lokaliseringssporing. Der er flere SIM7000-seriemoduler, der henvender sig til forskellige regioner rundt om i verden, og heldigvis har SIMCOM gjort det virkelig let at identificere: SIM7000A (amerikansk), SIM7000E (europæisk), SIM7000C (kinesisk) og SIM7000G (global). I øjeblikket understøttes NB-IoT i mange lande rundt om i verden, men desværre ikke i USA, selvom det er planlagt at være kommercielt tilgængeligt i den nærmeste fremtid (2019) og uanset hvad, kan vi stadig bruge LTE CAT-M-funktioner!

For at bruge skjoldet skal du blot tilslutte skjoldet til en Arduino, indsætte et kompatibelt SIM -kort, tilslutte LTE/GPS -antennen, og du er i gang!

Introduktion

Med fremkomsten af low-power IoT-enheder med mobilforbindelse og udfasning af 2G (med kun T-mobile, der understøtter 2G/GSM frem til 2020), bevæger alt sig mod LTE, og det har efterladt mange mennesker til at kæmpe for at finde bedre løsninger. Dette har imidlertid også efterladt mange hobbyister med at kalme op med ældre 2G-teknologi som SIM800-seriens moduler fra SIMCOM. Selvom disse 2G- og 3G-moduler er et godt udgangspunkt, er det tid til at komme videre, og SIMCOM annoncerede for nylig deres nye SIM7000A LTE CAT-M-modul på en udviklerkonference. Hvor spændende!:)

Den fantastiske del af alt dette er, at SIMCOM gjorde det ekstremt let at migrere fra deres 2G- og 3G -moduler til dette nye modul! SIM7000-serien bruger mange af de samme AT-kommandoer, hvilket minimerer softwareudviklingen i miles! Adafruit har også allerede et vidunderligt FONA -bibliotek på Github, der kan bruges til at introducere denne nye SIM7000 til festen!

Hvad er LTE CAT-M?

LTE CAT-M1 betragtes som anden generations LTE-teknologi og er lavere effekt og mere velegnet til IoT-enheder. NarrowBand IoT (NB-IoT) eller "CAT-M2" teknologi er en Low-Power Wide Area Network (LPWAN) teknologi, der er specielt designet til IoT-enheder med lav effekt. Det er en relativt ny teknologi, der desværre endnu ikke er tilgængelig i USA, selvom virksomheder arbejder på at teste og bygge infrastrukturen. For IoT -enheder, der bruger radioteknologi (RF), er der flere ting at huske på: Strømforbrug BandwidthRangePacket størrelse (send masser af dataCost Hver af disse har afvejninger (og jeg vil ikke rigtig forklare dem alle); for eksempel stor båndbredde gør det muligt for enheder at send masser af data (f.eks. din telefon, som kan streame YouTube!), men det betyder også, at den er meget strømhungrig. Forøgelse af rækkevidden ("området" på netværket) øger også strømforbruget. I tilfælde af NB-IoT, at reducere båndbredden betyder, at du ikke vil være i stand til at sende meget data, men for IoT-enheder, der skyder små data til skyen, er dette perfekt! Derfor er "smal" -båndsteknologi, ideel til strømforbrugende enheder med små mængder data, men stadig med lang rækkevidde (stort område)!

Botletics SIM7000 Shield til Arduino

Det skjold, jeg har designet, bruger SIM7000-serien til at give brugerne mulighed for at have ekstremt lav effekt LTE CAT-M-teknologi og GPS på spidsen af deres fingre! Skjoldet har også en MCP9808 I2C temperatursensor, fantastisk til i det mindste at måle noget og sende det via en mobilforbindelse.

  • Skjoldet er open source! Yay!
  • Al dokumentation (EAGLE PCB -filer, Arduino -kode og detaljeret wiki) findes her på Github.
  • For at se hvilken SIM7000 -version, der er bedst egnet til dig, kan du se denne wiki -side.
  • Botletics SIM7000 -skærmsættet kan købes her på Amazon.com

Trin 1: Saml dele

Saml dele
Saml dele
Saml dele
Saml dele
Saml dele
Saml dele
Saml dele
Saml dele

Nedenfor er en liste over alle de dele, du skal bruge:

  • Arduino eller Arduino -kompatibelt bord - Arduino Uno er det mest almindelige valg til dette! Hvis du vil bruge LTE -skjoldet som virkelig et "skjold", skal du bruge et Arduino -kort med Arduino -formfaktoren. Med det indlysende skal du også bruge et programmeringskabel til at uploade Arduino -skitser til tavlen! Hvis du ikke bruger et Arduino-form-faktor bord, er det også fint! Der er oplysninger om, hvilke forbindelser der skal foretages på denne wiki -side og forskellige mikrokontroller er blevet testet, herunder ESP8266, ESP32, ATmega32u4, ATmega2560 og ATSAMD21.
  • Botletics SIM7000 Shield Kit - Skjoldet leveres med en dobbelt LTE/GPS uFL -antenne og stabling af kvindelige headers! Tavlen findes i tre forskellige versioner (SIM7000A/C/E/G), og afhængigt af hvilket land du bor i, skal du vælge den rigtige version. Jeg har oprettet denne side på Github wiki, der viser dig, hvordan du finder ud af, hvilken version der er bedst for dig!
  • LTE CAT-M eller NB-IoT SIM-kort-Selvom sættet ikke længere indeholder et gratis SIM-kort, kan du hente et Hologram SIM-kort, der giver dig 1 MB gratis om måneden og fungerer praktisk talt overalt i verden, fordi Hologram har indgået et samarbejde med over 500 transportører! De har også pay-as-you-go og månedlige planer og har et fantastisk fællesskabsforum for teknisk support om aktivering af SIM-kort, Hologram API'er og mere! Det fungerer godt med dette skjold landsdækkende i USA til AT&T og Verizons LTE CAT-M1-netværk, men bemærk, at du i andre lande muligvis skal få dit eget SIM-kort fra en lokal udbyder, da Hologram samarbejder med luftfartsselskaber og CAT-M og NB-IoT er relativt nyt.
  • 3,7V LiPo -batteri (1000mAH+): Når du søger efter netværk eller sender data, kan skjoldet trække betydelige mængder strøm, og du kan ikke stole på direkte strøm fra Arduino 5V -skinnen. Sæt et 3,7V LiPo -batteri i JST -stikket på kortet, og sørg for, at batteriet er forbundet med den positive ledning til venstre (som dem, der findes på Sparkfun eller Adafruit). Det er også vigtigt at sikre, at batteriet skal have en kapacitet på mindst 500 mAH (minimum) for at kunne levere nok strøm og forhindre modulet i at genstarte under aktuelle pigge. 1000mAH eller mere anbefales for stabilitet. Årsagen til denne minimale kapacitet er, fordi LiPo -batteriets opladningskredsløb er indstillet til 500mA, så du bør sikre dig, at batteriet har mindst 500mAH kapacitet for at forhindre beskadigelse af batteriet.

Trin 2: Saml skjoldet

Saml skjoldet
Saml skjoldet
Saml skjoldet
Saml skjoldet
Saml skjoldet
Saml skjoldet

For at bruge skjoldet skal du lodde overskrifter på det, medmindre du ikke planlægger at bruge dette bord som et "skjold" og mere af et selvstændigt modul i stedet, hvilket også er helt OK! Et eksempel på at gøre dette er at bruge en Arduino Micro som controller og tilslutte den separat til skærmen.

Det mest almindelige valg til brug af brættet som et Arduino -skjold er stabling af hunhoveder, der følger med skjoldet. Efter lodning af overskrifterne skal du fortsætte og placere skjoldet oven på Arduino -kortet (medmindre du bruger det som et selvstændigt bord), og du er klar til det næste trin!

Bemærk: For tips om, hvordan man lodder stifterne, kan du besøge denne side i Github -wikien.

Trin 3: Skjold Pinouts

Skjold Pinouts
Skjold Pinouts
Skjold Pinouts
Skjold Pinouts
Skjold Pinouts
Skjold Pinouts

Skjoldet bruger simpelthen Arduino's pinout, men forbinder visse stifter til bestemte formål. Disse stifter kan opsummeres herunder:

Power Pins

  • GND - Fælles grundlag for al logik og magt
  • 3.3V - 3.3V fra Arduino's regulator. Brug dette på samme måde som på Arduino!
  • 5V / LOGIC - Denne 5V -skinne fra Arduino oplader LiPo -batteriet, der driver SIM7000 og indstiller også logisk spænding for I2C og niveauforskydning. Hvis du bruger en 3.3V mikrokontroller, skal du slutte 3.3V til skærmets "5V" pin (se afsnittet herunder).
  • VBAT - Dette giver adgang til LiPo batterispænding og er normalt ikke forbundet til noget på Arduino, så du er fri til at bruge det som du vil! Det er også det samme som indgangsspændingen på SIM7000 -modulet. Hvis du tænker på at måle og overvåge denne spænding, skal du tjekke kommandoen "b" i demo -tutorialen, der måler spændingen og viser batteriprocenten! Husk, LiPo -batteriet er påkrævet!
  • VIN - Denne pin er simpelthen forbundet til VIN -pin på Arduino. Du kan drive Arduino som du normalt ville med 7-12V på denne pin.

Andre pins

  • D6 - Tilsluttet SIM7000's PWRKEY -pin
  • D7 - SIM7000s nulstillingsnål (brug denne kun i tilfælde af nødnulstilling!)
  • D8 - UART Data Terminal Ready (DTR) pin. Dette kan bruges til at vække modulet fra dvalen, når du bruger kommandoen "AT+CSCLK"
  • D9 - Ringindikator (RI) pin
  • D10 - UART Transmit (TX) pin på SIM7000 (det betyder, at du skal slutte Arduino's TX til dette!)
  • D11 - UART Modtag (RX) pin på SIM7000 (forbind til Arduinos TX pin)
  • D12 - God 'ole D12 på Arduino, MEN du kan tilslutte den til ALERT -afbrydelsestappen på temperatursensoren ved at lodde en jumper
  • SDA/SCL - Temperatursensoren er forbundet til skærmen via I2C

Hvis du bruger tavlen som et selvstændigt modul og ikke som et "skjold", eller hvis du bruger 3.3V logik i stedet for 5V, skal du foretage de nødvendige tilslutninger som beskrevet i afsnittet "Ekstern værtskortledning" i denne Github -wiki -side.

Men hvis alt du behøver er at teste AT -kommandoer, skal du kun tilslutte LiPo -batteriet og mikro -USB -kablet, og følg derefter disse procedurer for at teste AT -kommandoer via USB. Bemærk, at du også kan teste AT -kommandoer via Arduino IDE, men det ville kræve forbindelsesstifter D10/D11 til UART.

For detaljerede oplysninger om skjoldets pinouts og hvad hver pin gør, besøg denne Github wiki -side.

Trin 4: Tænd for skjoldet

Tænder på skjoldet
Tænder på skjoldet

For at drive skjoldet skal du blot tilslutte Arduino og tilslutte et 3,7V LiPo -batteri (1000mAH eller større kapacitet) som dem, der sælges på Adafruit eller Sparkfun. Uden batteriet vil du sandsynligvis se modulet starte op og derefter gå ned kort tid derefter. Du kan stadig forsyne Arduino, som du normalt ville via USB-kablet eller eksternt med en 7-12V strømkilde på VIN-stiften, og 5V-skinnen på Arduino oplader LiPo-batteriet. Bemærk, at hvis du bruger et standard Arduino-kort, kan du sikkert drive det via en ekstern strømkilde, samtidig med at programmeringskablet er tilsluttet, fordi det har spændingsvalgskredsløb.

LED -indikation

Først tænker du måske på, om tavlen overhovedet er i live, fordi der måske ikke er nogen LED'er, der tænder. Dette skyldes, at "PWR" LED'en er en strømindikator for selve SIM7000 -modulet, og selvom du leverer strøm, har du ikke tændt modulet endnu! Dette gøres ved at pulsere PWRKEY lavt i mindst 72 ms, hvilket jeg forklarer senere. Hvis du har et batteri tilsluttet, og det ikke er fuldt opladet, vil den grønne "DONE" -diode ikke tænde, men hvis du ikke har et batteri tilsluttet, skal denne LED tænde (og kan blinke lejlighedsvis, når den bliver narret ind tænker, at det ikke-eksisterende batteri ikke er fuldt opladet på grund af små spændingsfald).

Nu hvor du ved, hvordan du styrer alt, lad os gå videre til de mobile ting!

Trin 5: SIM -kort og antenne

SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne
SIM -kort og antenne

Valg af SIM -kort

Igen skal dit SIM-kort være i stand til at understøtte LTE CAT-M (ikke kun traditionel LTE som hvad der sandsynligvis findes i din telefon) eller NB-IoT, og det skal være en "mikro" SIM-størrelse. Den bedste løsning, jeg har fundet til dette skjold, er Hologram Developer SIM -kort, som giver 1MB/måned gratis og adgang til Holograms API'er og ressourcer til det første SIM -kort! Log blot på dit Hologram.io -instrumentbræt, og indtast SIM -kortets CCID -nummer for at aktivere det, og indstil derefter APN -indstillingerne i koden (allerede angivet som standard). Det er problemfrit og fungerer overalt i verden, fordi Hologram understøtter over 200 transportører globalt!

Det skal bemærkes, at SIM7000C/E/G-versionerne også understøtter 2G fallback, så hvis du virkelig vil teste og ikke har et LTE CAT-M eller NB-IoT SIM-kort, kan du stadig teste modulet på 2G.

Isætning af SIM -kortet

Først og fremmest skal du bryde mikro-SIM'et ud af SIM-kortholderen i normal størrelse. På LTE -skjoldet skal du finde SIM -kortholderen på venstre side af kortet nær batteristikket. SIM -kortet indsættes i denne holder med SIM -metalets kontakter vendt nedad og den lille hak på den ene kant mod SIM -kortholderen.

Antenne godhed

Skjoldkittet leveres med en virkelig praktisk dobbelt LTE/GPS -antenne! Det er også fleksibelt (selvom du ikke bør prøve at vride og bøje det meget, fordi du kan bryde antenneledningerne af antennen, hvis du ikke er forsigtig) og har et afskalbart klæbemiddel i bunden. Tilslutning af ledningerne er superenkelt: Bare tag ledningerne og klik dem på de matchende uFL -stik på skærmens højre kant. BEMÆRK: Sørg for, at du matcher LTE-ledningen på antennen med LTE-stikket på skjoldet, og det samme med GPS-ledningen, fordi de krydser hinanden!

Trin 6: Opsætning af Arduino IDE

Opsætning af Arduino IDE
Opsætning af Arduino IDE

Dette SIM7000 -skjold er baseret på Adafruit FONA -kortene og bruger det samme bibliotek, men forbedret med ekstra modemunderstøttelse. Du kan læse alle instruktioner om, hvordan du installerer mit reviderede FONA -bibliotek her på min Github -side.

Du kan også se, hvordan du tester temperatursensoren MCP9808 ved at følge disse instruktioner, men her vil jeg hovedsageligt fokusere på cellulære ting!

Trin 7: Arduino -eksempel

Arduino eksempel
Arduino eksempel
Arduino eksempel
Arduino eksempel
Arduino eksempel
Arduino eksempel

Opsætning af baudhastighed

Som standard kører SIM7000 med 115200 baud, men dette er for hurtigt til, at software seriel fungerer pålideligt, og tegn kan tilfældigt vises som firkantede bokse eller andre ulige symboler (f.eks. Et "A" kan vises som "@"). Det er derfor, hvis du kigger godt efter, konfigurerer Arduino modulet til en langsommere baudhastighed på 9600, hver gang det initialiseres. Heldigvis varetages skiftet automatisk af koden, så du behøver ikke gøre noget særligt for at konfigurere den!

LTE Shield Demo

Følg derefter disse instruktioner for at åbne skitsen "LTE_Demo" (eller hvilken variant af skitsen, afhængigt af hvilken mikrokontroller du bruger). Hvis du ruller ned til slutningen af funktionen "setup ()", vil du se en linje "fona.setGPRSNetworkSettings (F (" hologram "));" som angiver APN for Hologram SIM -kortet. Dette er absolut nødvendigt, og hvis du bruger et andet SIM -kort, skal du først se kortets dokumentation om, hvad APN er. Bemærk, at du kun behøver at ændre denne linje, hvis du ikke bruger et Hologram -SIM -kort.

Når koden kører, vil Arduino forsøge at kommunikere med SIM7000 via UART (TX/RX) ved hjælp af SoftwareSerial. For at gøre dette skal SIM7000 naturligvis tændes, så mens det forsøger at etablere en forbindelse, skal du kontrollere, om "PWR" LED er tændt! (Bemærk: den skal tænde cirka 4 sekunder efter koden kører). Efter at Arduino med succes har etableret kommunikation med modulet, skal du se en stor menu med en masse handlinger, modulet kan udføre! Bemærk dog, at nogle af disse er til SIMComs andre 2G- eller 3G -moduler, så ikke alle kommandoer er gældende for SIM7000, men mange af dem er! Indtast blot det bogstav, der svarer til en handling, du vil udføre, og klik på "Send" øverst til højre på den serielle skærm, eller tryk blot på Enter -tasten. Se forbløffet, da skjoldet spytter et svar tilbage!

Demokommandoer

Nedenfor er nogle kommandoer, du skal køre for at sikre, at dit modul er konfigureret, før du fortsætter:

  • Skriv "n", og tryk på enter for at kontrollere netværksregistreringen. Du skal se "Registreret (hjem)". Hvis ikke, skal du kontrollere, om din antenne er tilsluttet, og du skal muligvis også køre kommandoen "G" (forklaret nedenfor) først!
  • Kontroller netværkets signalstyrke ved at indtaste "i". Du bør få en RSSI -værdi; jo højere denne værdi jo bedre! Min var 31, hvilket angiver den bedste signalstyrke beslag!
  • Indtast kommandoen "1" for at tjekke nogle virkelig fede netværksoplysninger. Du kan få den aktuelle forbindelsestilstand, transportørnavn, bånd osv.
  • Hvis du har tilsluttet et batteri, kan du prøve kommandoen "b" for at aflæse batterispændingen og procentdelen. Hvis du ikke bruger et batteri, vil denne kommando altid læse omkring 4200mV og derfor sige, at den er 100% opladet.
  • Indtast nu "G" for at aktivere mobildata. Dette indstiller APN og er afgørende for at få din enhed tilsluttet internettet! Hvis du ser "FEJL", kan du prøve at slukke data ved at bruge "g", og prøv derefter igen.
  • For at teste, om du faktisk kan gøre noget med dit modul, skal du indtaste "w". Det vil bede dig om at indtaste webadressen til den webside, du vil læse, og kopiere/indsætte eksempeladressen "https://dweet.io/get/latest/dweet/for/sim7000test123" og trykke enter. Kort tid derefter skulle det give dig en besked som "{" dette ":" mislykkedes "," med ": 404," fordi ":" vi kunne ikke finde dette "}" (forudsat at ingen lagde data til "sim7000test123")
  • Lad os nu teste at sende dummy -data til dweet.io, en gratis cloud -API ved at indtaste "2" i den serielle skærm. Du bør se det køre gennem nogle AT -kommandoer.
  • For at teste, om dataene virkelig kom igennem, skal du prøve "w" igen og denne gang indtaste "https://dweet.io/get/latest/dweet/for/{deviceID}" uden parenteser, hvor enheds -id'et er IMEI nummer på din enhed, som skal udskrives øverst på den serielle skærm fra modulets initialisering. Du skulle se "lykkedes" og et JSON -svar indeholdende de data, du lige havde sendt! (Bemærk, at 87% batteri bare er et dummy -nummer, der er angivet i koden og muligvis ikke er dit faktiske batteriniveau)
  • Nu er det tid til at teste GPS'en! Aktiver strøm til GPS'en ved hjælp af "O"
  • Indtast "L" for at forespørge om placeringsdata. Bemærk, at du muligvis skal vente omkring 7-10 sekunder, før det får en løsning på placeringen. Du kan blive ved med at indtaste "L", indtil det viser dig nogle data!
  • Når det giver dig data, skal du kopiere og indsætte det i Microsoft Word eller et tekstredigeringsprogram, så det er lettere at læse. Du vil se, at det tredje tal (tallene adskilles med kommaer) er dato og klokkeslæt, og de næste tre tal er breddegrad, længdegrad og højde (i meter) for din placering! For at kontrollere, om det var korrekt, skal du gå til dette onlineværktøj og søge din aktuelle placering. Det skal give dig lat/long og højde og sammenligne disse værdier med den, din GPS gav!
  • Hvis du ikke har brug for GPS, kan du slukke den ved hjælp af "o"
  • God fornøjelse med de andre kommandoer, og tjek eksemplet "IoT_Example" -skitse for et godt eksempel på, hvordan man sender data til en gratis cloud -API via LTE!

Send og modtag tekster

For at se, hvordan du sender tekster fra skjoldet direkte til en hvilken som helst telefon og sender tekster til skjoldet via Holograms Dashboard eller API, kan du læse denne Github -wikiside.

IoT -eksempel: GPS -sporing

Når du har kontrolleret, at alt fungerer som forventet, skal du åbne skitsen "IoT_Example". Denne eksempelkode sender GPS -placering og bæringsdata, temperatur og batteriniveau til skyen! Upload koden og se forbløffet, da skjoldet gør sin magi! For at kontrollere, om dataene virkelig blev sendt til skyen, skal du gå til "https://dweet.io/get/latest/dweet/for/{IMEI}" i en hvilken som helst browser (udfyld IMEI -nummeret, der findes øverst i seriel skærm efter modulinitialisering eller udskrives på dit SIMCOM -modul), og du skulle se de data, som din enhed sendte!

Med dette eksempel kan du også fjerne kommentaren til linjen med "#define samplingRate 30" for at sende data gentagne gange i stedet for kun at køre én gang. Dette gør din enhed i det væsentlige til en GPS -sporingsenhed!

For flere detaljer, besøg de selvstudier, jeg lavede til GPS-sporing i realtid:

  • GPS tracker tutorial del 1
  • GPS tracker tutorial del 2

Fejlfinding

For almindelige spørgsmål og fejlfinding, besøg FAQ på Github.

Trin 8: Test med AT -kommandoer

Test med AT -kommandoer
Test med AT -kommandoer

Test fra Arduino IDE

Hvis du vil sende AT -kommandoer til modulet via den serielle skærm, skal du bruge kommandoen "S" fra menuen til at gå til seriel rørtilstand. Dette vil gøre det sådan, at alt, hvad du skriver i den serielle skærm, sendes til modulet. Når det er sagt, skal du sørge for at aktivere "Både NL & CR" i bunden af den serielle skærm, ellers ser du ikke noget svar på dine kommandoer, fordi modulet ikke ved, at du er færdig med at skrive!

For at forlade denne tilstand skal du blot trykke på nulstillingsknappen på din Arduino. Bemærk, at hvis du bruger ATmega32u4 eller ATSAMD21-baserede kort, skal du også genstarte den serielle skærm.

For mere information om at sende AT -kommandoer fra Arduino IDE, se venligst denne wiki -side.

Test direkte via USB

Måske er en lettere metode (til Windows -brugere) at installere Windows -driverne, der er beskrevet i denne vejledning og teste AT -kommandoer ved at bruge skjoldets mikro -USB -port i stedet!

Hvis du stadig vil eksperimentere med AT -kommandoerne, men vil køre dem i en sekvens og ikke vil rode med at ændre FONA -biblioteket, kan du gøre det med et simpelt lille bibliotek, jeg skrev, kaldet "AT Command Library", som du kan findes her på Github. Alt du skal gøre er at downloade ZIP fra lageret og udtrække det til din Arduino biblioteksmappe og en eksempelskitse (kaldet "AT_Command_Test.ino") til SIM7000 kan findes her i LTE -skjoldet Github repo. Dette bibliotek giver dig mulighed for at sende AT -kommandoer via Software Serial med timeouts, tjekker efter et specifikt svar fra modulet, hverken eller begge dele!

Trin 9: Aktuelt forbrug

For IoT -enheder vil du gerne se, at disse tal går helt ned, så lad os se på nogle af de tekniske specifikationer! For en detaljeret rapport om aktuelle forbrugsmålinger, se denne Github -side.

Her er et hurtigt resumé:

  • SIM7000 -modul slukket: hele skjoldet trækker <8uA på 3,7V LiPo -batteri
  • Dvaletilstand trækker omkring 1,5mA (inklusive den grønne PWR LED, så sandsynligvis ~ 1mA uden den) og forbliver forbundet til netværket
  • E-DRX-indstillingerne kan konfigurere cyklustiden for netværksforhandlingen og spare energi, men vil også forsinke ting som indgående tekstbeskeder afhængigt af, hvad cyklustiden er indstillet til
  • Tilsluttet LTE CAT-M1-netværk, inaktiv: ~ 12mA
  • GPS tilføjer ~ 32mA
  • Tilslutning af USB tilføjer ~ 20mA
  • Datatransmission over LTE CAT-M1 er ~ 96mA for ~ 12s
  • At sende SMS trækker ~ 96mA i ~ 10s
  • Modtagelse af SMS trækker ~ 89mA i ~ 10s
  • PSM lyder som en vidunderlig funktion, men mangler endnu at fungere

Og her er lidt mere forklaring:

  • Sluk -tilstand: Du kan bruge funktionen "fona.powerDown ()" til at slukke SIM7000 helt. I denne tilstand trækker modulet kun omkring 7,5uA, og kort tid efter at du har slukket for modulet, skal "PWR" LED'en også slukke.
  • Strømbesparende tilstand (PSM): Denne tilstand ligner strømtilstanden, men modemet forbliver registreret på netværket, mens det kun tegner 9uA, mens modulet stadig er tændt. I denne tilstand vil kun RTC -strømmen være aktiv. For de ESP8266 -fans derude er det dybest set "ESP.deepSleep ()", og RTC -timeren kan vække modulet, men du kan gøre nogle ret fede ting som at vække modemet ved at sende det en SMS. Men desværre kunne jeg ikke få denne funktion til at fungere. Lad mig helt sikkert vide det, hvis du gør det!
  • Flytilstand: I denne tilstand leveres der stadig strøm til modulet, men RF er fuldstændigt deaktiveret, men SIM -kortet er stadig aktivt samt UART og USB -interface. Du kan gå ind i denne tilstand ved hjælp af "AT+CFUN = 4", men jeg så heller ikke, at dette trådte i kraft.
  • Minimum funktionalitetstilstand: Denne tilstand er den samme som flyvetilstand, undtagen SIM -kortets grænseflade er utilgængelig. Du kan gå ind i denne tilstand ved hjælp af "AT+CFUN = 0", men du kan også gå ind i denne tilstand ved hjælp af "AT+CSCLK = 1", hvorefter SIM7000 trækker DTR -stiften op, når modulet er i inaktiv tilstand. I denne dvaletilstand vågner modulet ved at trække DTR lavt. Dette kan være praktisk, fordi det kan være meget hurtigere at vække det end at tænde det fra bunden!
  • Diskontinuerlig modtagelse/transmission (DRX/DTX) -tilstand: Du kan så at sige konfigurere modulets "samplingshastighed", så modulet kun søger efter tekstbeskeder eller sender data med en hurtigere eller langsommere hastighed, alt imens det forbliver forbundet til netværket. Dette reducerer det nuværende forbrug betydeligt!
  • Deaktiver "PWR" -LED: For at spare et par øre kan du deaktivere modulets strøm-LED ved at skære den normalt lukkede loddejumper ved siden af. Hvis du senere ombestemmer dig og vil have det tilbage, skal du bare lodde jumperen!
  • "NETLIGHT" LED On/Off: Du kan også bruge "AT+CNETLIGHT = 0" til at slukke den blå netværksstatus -LED helt, hvis du ikke har brug for det!
  • GNSS On/Off: Du kan spare 30mA ved at slukke GPS ved hjælp af kommandoen "fona.enableGPS ()" med true eller false som inputparameter. Hvis du ikke bruger det, vil jeg foreslå dig at slukke det! Jeg fandt også ud af, at det kun tager omkring 20'erne at få en løsning på placeringen fra en kold start og kun omkring 2'er, når enheden allerede har været tændt (f.eks. Hvis du slukker for GPS og derefter tænder igen og spørger igen), hvilket er ret hurtigt ! Du kan også eksperimentere med varm/varm start og assisteret GPS.

Trin 10: Konklusioner

Samlet set er SIM7000 superhurtig og bruger avanceret teknologi med integreret GPS og er fyldt med fede funktioner! Desværre for os i USA er NB-IoT ikke fuldt implementeret her, så vi bliver nødt til at vente lidt, indtil det kommer ud, men med dette LTE-skjold kan vi stadig bruge LTE CAT-M1 på AT&T og Verizons netværk. Dette skjold er fantastisk til at eksperimentere med lavt strømforbrugende mobilenheder som GPS-trackere, eksterne datalogger og meget mere! Ved at inkludere andre skjolde og moduler til ting som SD -kortlagring, solpaneler, sensorer og anden trådløs forbindelse, er mulighederne næsten uendelige!

  • Hvis du kunne lide dette projekt, bedes du give det et hjerte og stemme på det!
  • Hvis du har kommentarer, forslag eller spørgsmål, er du velkommen til at skrive det herunder!
  • For at bestille dit eget skjold, kan du besøge mit websted for info eller bestille det på Amazon.com
  • Som altid, vær venlig at dele dette projekt!

Med det sagt, glad DIY'ing og sørg for at dele dine projekter og forbedringer med alle!

~ Tim

Anbefalede: