Inhoudsopgave:

Botletics LTE CAT-M/NB-IoT + GPS Shield voor Arduino - Ajarnpa
Botletics LTE CAT-M/NB-IoT + GPS Shield voor Arduino - Ajarnpa

Video: Botletics LTE CAT-M/NB-IoT + GPS Shield voor Arduino - Ajarnpa

Video: Botletics LTE CAT-M/NB-IoT + GPS Shield voor Arduino - Ajarnpa
Video: #9 SIM7000 LTE CAT-M/NB-IoT Shield Demo 2024, Juli-
Anonim
Image
Image
Botletics LTE CAT-M/NB-IoT + GPS-schild voor Arduino
Botletics LTE CAT-M/NB-IoT + GPS-schild voor Arduino

Overzicht

Het Botletics SIM7000 LTE CAT-M/NB-IoT-schild maakt gebruik van de nieuwe LTE CAT-M- en NB-IoT-technologie en heeft ook geïntegreerde GNSS (GPS, GLONASS en BeiDou/Compass, Galileo, QZSS-standaarden) voor het volgen van locaties. Er zijn meerdere modules uit de SIM7000-serie die geschikt zijn voor verschillende regio's over de hele wereld, en gelukkig heeft SIMCOM het heel gemakkelijk gemaakt om te identificeren: SIM7000A (Amerikaans), SIM7000E (Europees), SIM7000C (Chinees) en SIM7000G (Globaal). Momenteel wordt NB-IoT in veel landen over de hele wereld ondersteund, maar helaas niet in de VS, hoewel het volgens de planning in de nabije toekomst (2019) commercieel beschikbaar zal zijn en hoe dan ook, we kunnen nog steeds de LTE CAT-M-functionaliteiten gebruiken!

Om het schild te gebruiken, sluit u het schild gewoon aan op een Arduino, plaatst u een compatibele simkaart, bevestigt u de LTE/GPS-antenne en u bent klaar om te gaan!

Invoering

Met de opkomst van low-power IoT-apparaten met mobiele connectiviteit en de uitfasering van 2G (met alleen T-mobile die 2G/GSM ondersteunt tot 2020), gaat alles in de richting van LTE en dit heeft ertoe geleid dat veel mensen op zoek zijn naar betere oplossingen. Dit heeft er echter ook voor gezorgd dat veel hobbyisten geconfronteerd worden met legacy 2G-technologie zoals de SIM800-serie modules van SIMCOM. Hoewel deze 2G- en 3G-modules een prima startpunt zijn, is het tijd om verder te gaan en SIMCOM heeft onlangs hun nieuwe SIM7000A LTE CAT-M-module aangekondigd op een ontwikkelaarsconferentie. Wat spannend!:)

Het verbazingwekkende van dit alles is dat SIMCOM het extreem eenvoudig heeft gemaakt om van hun 2G- en 3G-modules naar deze nieuwe module te migreren! De SIM7000-serie gebruikt veel van dezelfde AT-commando's waardoor de softwareontwikkeling mijlenver wordt geminimaliseerd! Adafruit heeft ook al een prachtige FONA-bibliotheek op Github die kan worden gebruikt om deze nieuwe SIM7000 in het feest te introduceren!

Wat is LTE CAT-M?

LTE CAT-M1 wordt beschouwd als de LTE-technologie van de tweede generatie en is energiezuiniger en meer geschikt voor IoT-apparaten. NarrowBand IoT (NB-IoT) of "CAT-M2"-technologie is een Low-Power Wide Area Network (LPWAN)-technologie die speciaal is ontworpen voor IoT-apparaten met een laag vermogen. Het is een relatief nieuwe technologie die helaas nog niet beschikbaar is in de VS, al werken bedrijven wel aan het testen en bouwen van de infrastructuur. Voor IoT-apparaten die radiotechnologie (RF) gebruiken, zijn er verschillende dingen om in gedachten te houden: StroomverbruikBandbreedteBereikPakketgrootte (verstuur veel dataKostenElk van deze heeft nadelen (en ik zal ze niet allemaal uitleggen); grote bandbreedte stelt apparaten bijvoorbeeld in staat om veel data verzenden (zoals je telefoon, die YouTube kan streamen!) maar dit betekent ook dat het erg veel energie verbruikt. Door het bereik (het "gebied" van het netwerk) te vergroten, neemt ook het stroomverbruik toe. In het geval van NB-IoT, het verminderen van de bandbreedte betekent dat u niet veel gegevens kunt verzenden, maar voor IoT-apparaten die stukjes gegevens naar de cloud schieten, is dit perfect!Daarom "narrow"-band technologie, ideaal voor apparaten met een laag stroomverbruik met kleine hoeveelheden van data maar nog steeds met een groot bereik (wide area)!

Het Botletics SIM7000 Shield voor Arduino

Het schild dat ik heb ontworpen, maakt gebruik van de SIM7000-serie, zodat gebruikers extreem energiezuinige LTE CAT-M-technologie en GPS binnen handbereik hebben! Het schild heeft ook een MCP9808 I2C-temperatuursensor, ideaal om op zijn minst iets te meten en het via een mobiele verbinding te verzenden.

  • Het schild is open source! Hoera!
  • Alle documentatie (EAGLE PCB-bestanden, Arduino-code en gedetailleerde wiki) is hier te vinden op Github.
  • Om te zien welke SIM7000-versie voor u het meest geschikt is, kunt u deze wikipagina raadplegen.
  • De Botletics SIM7000-schildkit kan hier worden gekocht op Amazon.com

Stap 1: Verzamel onderdelen

Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen
Onderdelen verzamelen

Hieronder vind je een lijst met alle onderdelen die je nodig hebt:

  • Arduino of Arduino-compatibel bord - De Arduino Uno is hiervoor de meest voorkomende keuze! Als je het LTE-schild echt als een "schild" wilt gebruiken, moet je een Arduino-bord met de Arduino-vormfactor gebruiken. Voor de hand liggend, je hebt ook een programmeerkabel nodig om Arduino-schetsen naar het bord te uploaden! Als je geen Arduino-vormfactorbord gebruikt, is dat ook goed! Op deze wikipagina vindt u informatie over welke verbindingen u moet maken en verschillende microcontrollers zijn getest, waaronder ESP8266, ESP32, ATmega32u4, ATmega2560 en ATSAMD21.
  • Botletics SIM7000 Shield Kit - Het schild wordt geleverd met een dubbele LTE/GPS uFL-antenne en stapelbare vrouwelijke headers! Het bord is er in drie verschillende versies (SIM7000A/C/E/G) en afhankelijk van het land waarin je woont, moet je de juiste versie selecteren. Ik heb deze pagina op de Github-wiki gemaakt die je laat zien hoe je erachter kunt komen welke versie het beste voor jou is!
  • LTE CAT-M- of NB-IoT-simkaart - Hoewel de kit geen gratis simkaart meer bevat, kunt u een Hologram-simkaart kopen die u 1 MB per maand gratis geeft en praktisch overal ter wereld werkt omdat Hologram een partnerschap is aangegaan met meer dan 500 vervoerders! Ze hebben ook pay-as-you-go en maandelijkse abonnementen en hebben een geweldig communityforum voor technische ondersteuning bij het activeren van simkaarten, Hologram API's en meer! Het werkt geweldig met dit schild in het hele land in de VS voor AT&T en Verizon's LTE CAT-M1-netwerken, maar houd er rekening mee dat u in andere landen mogelijk uw eigen simkaart van een lokale provider moet krijgen, aangezien Hologram samenwerkt met providers en CAT-M en NB-IoT is relatief nieuw.
  • 3.7V LiPo-batterij (1000mAH+): Tijdens het zoeken naar netwerken of het verzenden van gegevens kan het schild aanzienlijke hoeveelheden stroom trekken en kunt u niet vertrouwen op directe stroom van de Arduino 5V-rail. Sluit een 3.7V LiPo-batterij aan op de JST-connector op het bord en zorg ervoor dat de batterij is bedraad met de positieve draad aan de linkerkant (zoals die te vinden is bij Sparkfun of Adafruit). Het is ook belangrijk om ervoor te zorgen dat de batterij minimaal 500 mAh capaciteit (absoluut minimum) moet hebben om voldoende stroom te kunnen leveren en te voorkomen dat de module opnieuw opstart tijdens stroompieken. 1000mAH of meer wordt aanbevolen voor stabiliteit. De reden voor deze absolute minimumcapaciteit is dat het oplaadcircuit van de LiPo-batterij is ingesteld op 500 mA, dus u moet ervoor zorgen dat de batterij een capaciteit heeft van ten minste 500 mAH om schade aan de batterij te voorkomen.

Stap 2: Monteer het schild

Monteer het schild
Monteer het schild
Monteer het schild
Monteer het schild
Monteer het schild
Monteer het schild

Om het schild te gebruiken, moet je er headers op solderen, tenzij je niet van plan bent dit bord als een "schild" en meer als een op zichzelf staande module te gebruiken, wat ook perfect in orde is! Een voorbeeld hiervan is het gebruik van een Arduino Micro als controller en deze afzonderlijk op het schild aansluiten.

De meest gebruikelijke keuze om het bord als Arduino-schild te gebruiken, zijn het stapelen van vrouwelijke headers, die bij het schild worden meegeleverd. Na het solderen van de headers, ga je gang en plaats je het schild bovenop het Arduino-bord (tenzij je het als een zelfstandig bord gebruikt) en je bent klaar voor de volgende stap!

Opmerking: voor tips over het solderen van de pinnen kunt u deze pagina van de Github-wiki bezoeken.

Stap 3: Pin-outs afschermen

Shield pinouts
Shield pinouts
Shield pinouts
Shield pinouts
Shield pinouts
Shield pinouts

Het schild gebruikt gewoon de pinout van de Arduino, maar verbindt bepaalde pinnen voor specifieke doeleinden. Deze pinnen kunnen hieronder worden samengevat:

Stroompinnen

  • GND - Gemeenschappelijke basis voor alle logica en kracht
  • 3.3V - 3.3V van de Arduino-regelaar. Gebruik dit net zoals je zou doen op de Arduino!
  • 5V / LOGIC - Deze 5V-rail van de Arduino laadt de LiPo-batterij op die de SIM7000 van stroom voorziet en stelt ook de logische spanning in voor de I2C en niveauverschuiving. Als u een microcontroller van 3,3 V gebruikt, sluit u 3,3 V aan op de "5V"-pin van het schild (zie het gedeelte hieronder).
  • VBAT - Dit geeft toegang tot de LiPo-batterijspanning en is normaal gesproken niet aangesloten op iets op de Arduino, dus je bent vrij om het te gebruiken zoals je wilt! Het is ook hetzelfde als de ingangsspanning van de SIM7000-module. Als je erover nadenkt om deze spanning te meten en te bewaken, bekijk dan de "b"-opdracht in de demo-tutorial die de spanning meet en het batterijpercentage weergeeft! Denk eraan, de LiPo-batterij is vereist!
  • VIN - Deze pin is eenvoudig verbonden met de VIN-pin op de Arduino. Je kunt de Arduino van stroom voorzien zoals je normaal zou doen met 7-12V op deze pin.

Andere pinnen

  • D6 - Verbonden met de PWRKEY-pin van de SIM7000
  • D7 - Reset pin SIM7000 (gebruik deze alleen in geval van noodreset!)
  • D8 - UART Data Terminal Ready (DTR) pin. Dit kan worden gebruikt om de module uit de slaapstand te halen bij gebruik van het "AT+CSCLK"-commando
  • D9 - Ringindicator (RI) pin
  • D10 - UART Transmit (TX) pin van de SIM7000 (dit betekent dat je de Arduino's TX hierop moet aansluiten!)
  • D11 - UART Receive (RX) pin van de SIM7000 (verbind met Arduino's TX pin)
  • D12 - Goede 'ole D12 op de Arduino, MAAR je kunt hem aansluiten op de ALERT-interrupt-pin van de temperatuursensor door een jumper te solderen
  • SDA/SCL - De temperatuursensor is via I2C. op de afscherming aangesloten

Als u de kaart als een zelfstandige module gebruikt en niet als een "afscherming", of als u 3.3V-logica gebruikt in plaats van 5V, moet u de nodige verbindingen maken zoals beschreven in de sectie "Externe hostkaartbedrading" van deze Github-wikipagina.

Als u echter alleen AT-opdrachten hoeft te testen, hoeft u alleen de LiPo-batterij en de micro-USB-kabel aan te sluiten en volgt u deze procedures om AT-opdrachten via USB te testen. Merk op dat je ook AT-commando's kunt testen via de Arduino IDE, maar daarvoor zijn pinnen D10/D11 voor UART nodig.

Bezoek deze Github-wikipagina voor gedetailleerde informatie over de pin-outs van het schild en wat elke pin doet.

Stap 4: Het schild van stroom voorzien

Het schild van stroom voorzien
Het schild van stroom voorzien

Om het schild van stroom te voorzien, sluit je gewoon de Arduino aan en sluit je een 3.7V LiPo-batterij (1000 mAh of meer capaciteit) aan zoals die worden verkocht bij Adafruit of Sparkfun. Zonder de batterij ziet u waarschijnlijk de module opstarten en kort daarna crashen. Je kunt de Arduino nog steeds van stroom voorzien zoals je normaal zou doen via de USB-kabel of extern door een 7-12V-voedingsbron op de VIN-pin en de 5V-rail op de Arduino laadt de LiPo-batterij op. Merk op dat als je een standaard Arduino-bord gebruikt, je het veilig kunt voeden via een externe voedingsbron terwijl je ook de programmeerkabel aangesloten houdt omdat het spanningsselectiecircuits heeft.

LED-indicatie:

In het begin vraag je je misschien af of het bord nog leeft, omdat er misschien geen LED's branden. Dit komt omdat de "PWR" LED een power indicator is voor de SIM7000 module zelf, en hoewel je stroom levert, heb je de module nog niet aangezet! Dit wordt gedaan door de PWRKEY minimaal 72 ms laag te houden, wat ik later zal uitleggen. Als u een batterij hebt aangesloten en deze niet volledig is opgeladen, gaat de groene LED "KLAAR" niet branden, maar als u geen batterij hebt aangesloten, moet deze LED gaan branden (en kan af en toe knipperen wanneer deze wordt misleid denken dat de niet-bestaande batterij niet volledig is opgeladen vanwege lichte spanningsdalingen).

Nu je weet hoe je alles van stroom moet voorzien, gaan we verder met de mobiele dingen!

Stap 5: SIM-kaart en antenne

Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne
Simkaart & Antenne

Een simkaart kiezen

Nogmaals, je simkaart moet LTE CAT-M (niet alleen traditionele LTE zoals wat waarschijnlijk in je telefoon zit) of NB-IoT kunnen ondersteunen, en het moet een "micro" SIM-formaat zijn. De beste optie die ik voor dit schild heb gevonden, is de Hologram Developer-simkaart die 1 MB / maand gratis biedt en toegang tot de API's en bronnen van Hologram voor de eerste simkaart! Log gewoon in op uw Hologram.io-dashboard en voer het CCID-nummer van de simkaart in om het te activeren, en stel vervolgens de APN-instellingen in de code in (reeds standaard ingesteld). Het is probleemloos en werkt overal ter wereld omdat Hologram wereldwijd meer dan 200 providers ondersteunt!

Opgemerkt moet worden dat de SIM7000C/E/G-versies ook 2G fallback ondersteunen, dus als je echt wilt testen en geen LTE CAT-M of NB-IoT simkaart hebt, kun je de module nog steeds testen op 2G.

De simkaart plaatsen

Allereerst moet u de micro-simkaart uit de simkaarthouder van normaal formaat halen. Zoek op het LTE-schild de SIM-kaarthouder aan de linkerkant van het bord in de buurt van de batterijconnector. De simkaart wordt in deze houder geplaatst met de metalen contacten van de simkaart naar beneden gericht en de kleine inkeping aan een rand naar de simkaarthouder gericht.

Antenne goedheid

De schildkit wordt geleverd met een erg handige dubbele LTE/GPS-antenne! Het is ook flexibel (hoewel je niet moet proberen het veel te draaien en te buigen omdat je de antennedraden van de antenne zou kunnen breken als je niet voorzichtig bent) en heeft een verwijderbare lijm aan de onderkant. Het aansluiten van de draden is supereenvoudig: pak de draden en klik ze op de bijpassende uFL-connectoren aan de rechterkant van het schild. OPMERKING: Zorg ervoor dat u de LTE-draad op de antenne aansluit op de LTE-connector op het schild, en hetzelfde met de GPS-draad, want ze zijn gekruist!

Stap 6: Arduino IDE-installatie

Arduino IDE-configuratie
Arduino IDE-configuratie

Dit SIM7000-schild is gebaseerd op de Adafruit FONA-kaarten en gebruikt dezelfde bibliotheek, maar verbeterd met toegevoegde modemondersteuning. Je kunt volledige instructies lezen over het installeren van mijn herziene FONA-bibliotheek hier op mijn Github-pagina.

Je kunt ook zien hoe je de MCP9808-temperatuursensor kunt testen door deze instructies te volgen, maar hier zal ik me vooral concentreren op de mobiele dingen!

Stap 7: Arduino-voorbeeld

Arduino Voorbeeld
Arduino Voorbeeld
Arduino Voorbeeld
Arduino Voorbeeld
Arduino Voorbeeld
Arduino Voorbeeld

Baudrate instellen

Standaard draait de SIM7000 op 115200 baud, maar dit is te snel voor softwareserieel om betrouwbaar te werken en karakters kunnen willekeurig verschijnen als vierkante vakjes of andere vreemde symbolen (een "A" kan bijvoorbeeld worden weergegeven als "@"). Dit is de reden waarom, als je goed kijkt, de Arduino de module elke keer dat deze wordt geïnitialiseerd, configureert naar een langzamere baudrate van 9600. Gelukkig wordt het omschakelen automatisch geregeld door de code, dus je hoeft niets speciaals te doen om het in te stellen!

LTE Shield-demo

Volg vervolgens deze instructies om de "LTE_Demo"-schets te openen (of welke variant van die schets dan ook, afhankelijk van welke microcontroller u gebruikt). Als u naar het einde van de functie "setup()" scrolt, ziet u een regel "fona.setGPRSNetworkSettings(F("hologram"));" waarmee de APN voor de Hologram-simkaart wordt ingesteld. Dit is absoluut nodig en als u een andere simkaart gebruikt, moet u eerst de documentatie van de kaart raadplegen over wat de APN is. Houd er rekening mee dat u deze regel alleen hoeft te wijzigen als u geen Hologram-simkaart gebruikt.

Wanneer de code wordt uitgevoerd, probeert de Arduino te communiceren met de SIM7000 via UART (TX/RX) met behulp van SoftwareSerial. Om dit te doen, moet de SIM7000 natuurlijk zijn ingeschakeld, dus terwijl hij probeert een verbinding tot stand te brengen, moet u controleren of de "PWR"-LED aan gaat! (Opmerking: het zou ongeveer 4 seconden moeten worden ingeschakeld nadat de code is uitgevoerd). Nadat de Arduino met succes communicatie met de module tot stand heeft gebracht, zou je een groot menu moeten zien met een aantal acties die de module kan uitvoeren! Merk echter op dat sommige van deze voor SIMCom's andere 2G- of 3G-modules zijn, dus niet alle opdrachten zijn van toepassing op de SIM7000, maar veel wel! Typ gewoon de letter die overeenkomt met een actie die u wilt uitvoeren en klik op "Verzenden" in de rechterbovenhoek van de seriële monitor of druk eenvoudig op de Enter-toets. Kijk met verbazing toe hoe het schild een antwoord terugspuugt!

Demo-opdrachten

Hieronder staan enkele opdrachten die u moet uitvoeren om ervoor te zorgen dat uw module is ingesteld voordat u doorgaat:

  • Typ "n" en druk op enter om de netwerkregistratie te controleren. U zou "Geregistreerd (thuis)" moeten zien. Zo niet, controleer dan of je antenne is aangesloten en misschien moet je ook eerst het commando "G" (hieronder uitgelegd) uitvoeren!
  • Controleer de sterkte van het netwerksignaal door "i" in te voeren. U zou een RSSI-waarde moeten krijgen; hoe hoger deze waarde, hoe beter! De mijne was 31, wat de beste signaalsterkte aangeeft!
  • Voer de opdracht "1" in om wat echt coole netwerkinformatie te bekijken. U kunt de huidige verbindingsmodus, naam van de provider, band, enz.
  • Als je een batterij hebt aangesloten, probeer dan het "b"-commando om de batterijspanning en het percentage af te lezen. Als u geen batterij gebruikt, zal dit commando altijd ongeveer 4200mV aangeven en daarom zeggen dat het 100% is opgeladen.
  • Voer nu "G" in om mobiele gegevens in te schakelen. Dit stelt de APN in en is cruciaal om uw apparaat met internet te verbinden! Als u "ERROR" ziet, probeer dan de gegevens uit te schakelen met "g" en probeer het opnieuw.
  • Om te testen of u daadwerkelijk iets met uw module kunt doen, voert u "w" in. Het zal u vragen om de URL in te voeren van de webpagina die u wilt lezen, en kopieer/plak de voorbeeld-URL "https://dweet.io/get/latest/dweet/for/sim7000test123" en druk op enter. Kort daarna zou het u een bericht moeten geven als "{"this":"mislukt", "with":404, "because":"we konden dit niet vinden"}" (ervan uitgaande dat niemand gegevens heeft gepost voor "sim7000test123")
  • Laten we nu testen om dummy-gegevens naar dweet.io, een gratis cloud-API, te verzenden door "2" in te voeren in de seriële monitor. Je zou het door een aantal AT-opdrachten moeten zien lopen.
  • Om te testen of de gegevens echt zijn doorgekomen, probeert u "w" opnieuw en voert u deze keer "https://dweet.io/get/latest/dweet/for/{deviceID}" in zonder de haakjes, waarbij de apparaat-ID de IMEI is nummer van uw apparaat dat vanaf de module-initialisatie helemaal bovenaan de seriële monitor moet worden afgedrukt. U zou "geslaagd" moeten zien en een JSON-antwoord met de gegevens die u zojuist had verzonden! (Merk op dat de batterij van 87% slechts een dummy-nummer is dat in de code is ingesteld en mogelijk niet uw werkelijke batterijniveau is)
  • Nu is het tijd om de GPS te testen! Schakel stroom naar de GPS in met "O"
  • Voer "L" in om de locatiegegevens op te vragen. Houd er rekening mee dat u mogelijk ongeveer 7-10 seconden moet wachten voordat de locatie wordt opgelost. U kunt "L" blijven invoeren totdat u enkele gegevens ziet!
  • Zodra het u gegevens geeft, kopieert en plakt u het in Microsoft Word of een teksteditor zodat het gemakkelijker te lezen is. U zult zien dat het derde cijfer (de cijfers zijn gescheiden door komma's) de datum en tijd is, en de volgende drie cijfers de breedtegraad, lengtegraad en hoogte (in meters) van uw locatie! Om te controleren of het juist was, gaat u naar deze online tool en zoekt u naar uw huidige locatie. Het zou u de lat/long en hoogte moeten geven en deze waarden moeten vergelijken met die van uw GPS!
  • Als u geen GPS nodig heeft, kunt u deze uitschakelen met "o"
  • Veel plezier met de andere opdrachten en bekijk de voorbeeldschets "IoT_Example" voor een cool voorbeeld van hoe je gegevens via LTE naar een gratis cloud-API kunt sturen!

Verstuur en ontvang teksten

Lees deze Github-wikipagina om te zien hoe u teksten van het schild rechtstreeks naar een telefoon kunt verzenden en teksten naar het schild kunt verzenden via het dashboard of de API van Hologram.

IoT-voorbeeld: GPS-tracking

Zodra u hebt gecontroleerd of alles werkt zoals verwacht, opent u de schets "IoT_Example". Deze voorbeeldcode stuurt GPS-locatie- en peilingsgegevens, temperatuur en batterijniveau naar de cloud! Upload de code en kijk met verbazing toe hoe het schild zijn magie doet! Om te controleren of de gegevens echt naar de cloud zijn verzonden, gaat u naar "https://dweet.io/get/latest/dweet/for/{IMEI}" in een willekeurige browser (vul het IMEI-nummer in dat u bovenaan het seriële monitor na module-initialisatie of afgedrukt op uw SIMCOM-module) en u zou de gegevens moeten zien die uw apparaat heeft verzonden!

Met dit voorbeeld kunt u de regel ook verwijderen met "#define samplingRate 30" om gegevens herhaaldelijk te verzenden in plaats van slechts één keer te worden uitgevoerd. Dit maakt uw apparaat in wezen een GPS-volgapparaat!

Ga voor meer informatie naar de tutorials die ik heb gemaakt voor realtime GPS-tracking:

  • GPS-tracker-zelfstudie deel 1
  • GPS-tracker-zelfstudie deel 2

Probleemoplossen

Ga voor veelgestelde vragen en probleemoplossing naar de FAQ op Github.

Stap 8: Testen met AT-opdrachten

Testen met AT-opdrachten
Testen met AT-opdrachten

Testen vanuit Arduino IDE

Als u AT-commando's naar de module wilt sturen via de seriële monitor, gebruik dan de "S"-opdracht uit het menu om naar de seriële buismodus te gaan. Dit zorgt ervoor dat alles wat u typt in de seriële monitor naar de module wordt verzonden. Dat gezegd hebbende, zorg ervoor dat u "Beide NL & CR" onderaan de seriële monitor inschakelt, anders ziet u geen reactie op uw opdrachten omdat de module niet weet dat u klaar bent met typen!

Om deze modus te verlaten, drukt u eenvoudig op de resetknop op uw Arduino. Houd er rekening mee dat als u op ATmega32u4 of ATSAMD21 gebaseerde kaarten gebruikt, u ook de seriële monitor opnieuw moet opstarten.

Zie deze wiki-pagina voor meer informatie over het verzenden van AT-commando's vanuit de Arduino IDE.

Direct testen via USB

Misschien is een eenvoudigere methode (voor Windows-gebruikers) om de Windows-stuurprogramma's te installeren die in deze tutorial worden beschreven en AT-commando's te testen door in plaats daarvan de micro-USB-poort van het schild te gebruiken!

Als je nog steeds wilt experimenteren met de AT-commando's, maar ze in een volgorde wilt uitvoeren en niet wilt rotzooien met het wijzigen van de FONA-bibliotheek, dan kun je dat doen met een eenvoudige kleine bibliotheek die ik heb geschreven, de "AT Command Library", die je vind je hier op Github. Het enige dat u hoeft te doen, is de ZIP downloaden van de repository en deze uitpakken in uw Arduino-bibliothekenmap en een voorbeeldschets (genaamd "AT_Command_Test.ino") voor de SIM7000 is hier te vinden in de LTE-shield Github-repo. Met deze bibliotheek kunt u AT-commando's verzenden via Software Serial met time-outs, controles op een specifiek antwoord van de module, geen van beide, of beide!

Stap 9: Huidig verbruik

Voor IoT-apparaten wil je dat deze cijfers ver naar beneden gaan, dus laten we eens kijken naar enkele technische specificaties! Voor een gedetailleerd rapport van de huidige verbruiksmetingen, zie deze Github-pagina.

Hier is een korte samenvatting:

  • SIM7000-module uitgeschakeld: hele schild trekt < 8uA op 3.7V LiPo-batterij
  • Slaapstand verbruikt ongeveer 1,5 mA (inclusief de groene PWR-led, dus waarschijnlijk ~1 mA zonder) en blijft verbonden met het netwerk
  • De e-DRX-instellingen kunnen de cyclustijd van de netwerkonderhandeling configureren en energie besparen, maar zullen ook zaken als inkomende sms-berichten vertragen, afhankelijk van wat de cyclustijd is ingesteld
  • Verbonden met LTE CAT-M1-netwerk, inactief: ~12mA
  • GPS voegt ~32mA toe
  • USB aansluiten voegt ~20mA toe
  • Gegevensoverdracht via LTE CAT-M1 is ~96mA voor ~12s
  • Het verzenden van SMS trekt ~96mA voor ~10s
  • SMS ontvangen trekt ~89mA voor ~10s
  • PSM klinkt als een geweldige functie, maar moet nog werken

En hier is een beetje meer uitleg:

  • Uitschakelmodus: U kunt de functie "fona.powerDown()" gebruiken om de SIM7000 volledig uit te schakelen. In deze toestand trekt de module slechts ongeveer 7,5uA, en kort nadat u de module uitschakelt, moet ook de "PWR"-LED uitgaan.
  • Energiebesparende modus (PSM): Deze modus is vergelijkbaar met de uitschakelmodus, maar de modem blijft geregistreerd bij het netwerk terwijl er slechts 9uA wordt verbruikt, terwijl de module nog steeds wordt ingeschakeld. In deze modus is alleen de voeding van de RTC actief. Voor die ESP8266-fans die er zijn, is het eigenlijk "ESP.deepSleep()" en de RTC-timer kan de module wekken, maar je kunt een aantal coole dingen doen, zoals het modem wakker maken door het een sms te sturen. Helaas kreeg ik deze functie echter niet werkend. Laat me zeker iets weten als je dat doet!
  • Vluchtmodus: in deze modus wordt de module nog steeds van stroom voorzien, maar is RF volledig uitgeschakeld, maar de simkaart is nog steeds actief, evenals de UART- en USB-interface. U kunt deze modus openen met "AT+CFUN=4", maar ik heb dit ook niet zien werken.
  • Minimale functionaliteitsmodus: deze modus is hetzelfde als de vliegtuigmodus, behalve dat de SIM-kaartinterface niet toegankelijk is. U kunt deze modus openen met "AT+CFUN=0" maar u kunt deze modus ook openen met "AT+CSCLK=1" waarna de SIM7000 de DTR-pin omhoog trekt wanneer de module in de ruststand staat. Als u in deze slaapmodus de DTR laag trekt, wordt de module gewekt. Dit kan handig zijn, omdat het een stuk sneller kan zijn om hem wakker te maken dan hem helemaal opnieuw op te starten!
  • Discontinue ontvangst/verzending (DRX/DTX)-modus: u kunt de "sampling rate" van de module als het ware configureren, zodat de module alleen op tekstberichten controleert of gegevens sneller of langzamer verzendt, terwijl u verbonden blijft met het netwerk. Dit vermindert het stroomverbruik aanzienlijk!
  • "PWR"-LED uitschakelen: om nog een paar centen te besparen, kunt u de voedings-LED van de module uitschakelen door de normaal gesloten soldeerjumper ernaast door te knippen. Als je later van gedachten verandert en het terug wilt, soldeer dan gewoon de jumper!
  • "NETLIGHT" LED Aan/Uit: U kunt ook "AT+CNETLIGHT=0" gebruiken om de blauwe netwerkstatus-LED volledig uit te schakelen als u deze niet nodig hebt!
  • GNSS Aan/Uit: U kunt 30 mA besparen door GPS uit te schakelen met het commando "fona.enableGPS()" met waar of onwaar als invoerparameter. Als je het niet gebruikt, raad ik je aan het uit te schakelen! Ik ontdekte ook dat het slechts ongeveer 20 seconden duurt om een fix op locatie te krijgen vanaf een koude start en slechts ongeveer 2 seconden als het apparaat al is ingeschakeld (zoals als je GPS uitzet en vervolgens weer inschakelt en opnieuw opvraagt), wat behoorlijk snel is ! U kunt ook experimenteren met warme/hete start en geassisteerde GPS.

Stap 10: Conclusies

Over het algemeen is de SIM7000 supersnel en maakt gebruik van de allernieuwste technologie met geïntegreerde GPS en zit boordevol coole functies! Helaas voor degenen onder ons in de Verenigde Staten, is NB-IoT hier niet volledig geïmplementeerd, dus we zullen even moeten wachten tot het uitkomt, maar met dit LTE-schild kunnen we LTE CAT-M1 nog steeds gebruiken op de netwerken van AT&T en Verizon. Dit schild is geweldig om te experimenteren met mobiele apparaten met een laag stroomverbruik, zoals GPS-trackers, externe dataloggers en nog veel meer! Door andere schilden en modules op te nemen voor zaken als SD-kaartopslag, zonnepanelen, sensoren en andere draadloze connectiviteit, zijn de mogelijkheden bijna eindeloos!

  • Als je dit project leuk vond, geef het dan een hartje en stem erop!
  • Als je opmerkingen, suggesties of vragen hebt, post ze dan gerust hieronder!
  • Om je eigen schild te bestellen, bezoek mijn website voor info of bestel het op Amazon.com
  • Deel dit project zoals altijd!

Dat gezegd hebbende, veel plezier met klussen en zorg ervoor dat je je projecten en verbeteringen met iedereen deelt!

~ Timo

Aanbevolen: