Inhaltsverzeichnis:

Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino - Gunook
Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino - Gunook

Video: Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino - Gunook

Video: Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino - Gunook
Video: #9 SIM7000 LTE CAT-M/NB-IoT Shield Demo 2024, Juli
Anonim
Image
Image
Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino
Botletics LTE CAT-M/NB-IoT + GPS-Shield für Arduino

Überblick

Das Botletics SIM7000 LTE CAT-M/NB-IoT-Shield nutzt die neue LTE CAT-M- und NB-IoT-Technologie und verfügt zudem über integriertes GNSS (GPS, GLONASS und BeiDou/Compass, Galileo, QZSS-Standards) zur Standortverfolgung. Es gibt mehrere Module der SIM7000-Serie, die für verschiedene Regionen auf der ganzen Welt geeignet sind, und zum Glück hat SIMCOM die Identifizierung sehr einfach gemacht: SIM7000A (amerikanisch), SIM7000E (europäische), SIM7000C (chinesisch) und SIM7000G (global). Derzeit wird NB-IoT in vielen Ländern der Welt unterstützt, aber leider nicht in den USA, obwohl es in naher Zukunft (2019) kommerziell verfügbar sein soll und wir trotzdem die LTE CAT-M-Funktionalitäten nutzen können!

Um das Shield zu verwenden, einfach das Shield in einen Arduino stecken, eine kompatible SIM-Karte einlegen, die LTE/GPS-Antenne anbringen und schon kann es losgehen!

Einführung

Mit dem Aufkommen von IoT-Geräten mit geringem Stromverbrauch mit Mobilfunkkonnektivität und dem Auslaufen von 2G (bis 2020 nur T-Mobile 2G/GSM unterstützt), bewegt sich alles in Richtung LTE und dies hat viele Menschen dazu veranlasst, bessere Lösungen zu finden. Dies hat jedoch auch viele Bastler dazu gebracht, sich mit veralteter 2G-Technologie wie den Modulen der SIM800-Serie von SIMCOM auseinanderzusetzen. Obwohl diese 2G- und 3G-Module ein guter Ausgangspunkt sind, ist es an der Zeit, voranzukommen und SIMCOM hat kürzlich auf einer Entwicklerkonferenz sein neues SIM7000A LTE CAT-M-Modul vorgestellt. Wie aufregend!:)

Das Erstaunliche daran ist, dass SIMCOM die Migration von ihren 2G- und 3G-Modulen auf dieses neue Modul extrem einfach gemacht hat! Die SIM7000-Serie verwendet viele der gleichen AT-Befehle, was die Softwareentwicklung um Meilen minimiert! Außerdem hat Adafruit bereits eine wunderbare FONA-Bibliothek auf Github, mit der man dieses neue SIM7000 in die Party einführen kann!

Was ist LTE-CAT-M?

LTE CAT-M1 gilt als LTE-Technologie der zweiten Generation und ist stromsparender und besser für IoT-Geräte geeignet. NarrowBand IoT (NB-IoT) oder "CAT-M2"-Technologie ist eine Low-Power Wide Area Network (LPWAN)-Technologie, die speziell für IoT-Geräte mit geringem Stromverbrauch entwickelt wurde. Es handelt sich um eine relativ neue Technologie, die in den USA leider noch nicht verfügbar ist, obwohl Unternehmen daran arbeiten, die Infrastruktur zu testen und aufzubauen. Bei IoT-Geräten, die Funktechnologie (RF) verwenden, sind mehrere Dinge zu beachten: StromverbrauchBandwidthRangePacket-Größe (viele Daten sendenKostenJedes davon hat Kompromisse (und ich werde sie nicht alle erklären); zum Beispiel ermöglicht eine große Bandbreite den Geräten, Senden Sie viele Daten (wie Ihr Telefon, das YouTube streamen kann!), aber das bedeutet auch, dass es sehr stromhungrig ist. Eine Erhöhung der Reichweite (der "Bereich" des Netzwerks) erhöht auch den Stromverbrauch. Im Fall von NB-IoT Die Reduzierung der Bandbreite bedeutet, dass Sie nicht viele Daten senden können, aber für IoT-Geräte, die Datenreste in die Cloud schießen, ist dies perfekt! von Daten aber immer noch mit großer Reichweite (Wide Area)!

Das Botletics SIM7000 Shield für Arduino

Das von mir entworfene Shield verwendet die SIM7000-Serie, um Benutzern die extrem stromsparende LTE CAT-M-Technologie und GPS zur Verfügung zu stellen! Das Schild verfügt auch über einen MCP9808 I2C-Temperatursensor, der sich hervorragend eignet, um zumindest etwas zu messen und über eine Mobilfunkverbindung zu senden.

  • Das Schild ist Open Source! Yay!
  • Die gesamte Dokumentation (EAGLE PCB-Dateien, Arduino-Code und ausführliches Wiki) finden Sie hier auf Github.
  • Welche SIM7000-Version für Sie am besten geeignet ist, erfahren Sie auf dieser Wiki-Seite.
  • Das Botletics SIM7000 Shield Kit kann hier auf Amazon.com gekauft werden

Schritt 1: Teile sammeln

Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln

Nachfolgend finden Sie eine Liste aller benötigten Teile:

  • Arduino oder Arduino-kompatibles Board - Das Arduino Uno ist dafür die häufigste Wahl! Wenn Sie das LTE-Shield wirklich als "Shield" verwenden möchten, sollten Sie ein Arduino-Board mit dem Arduino-Formfaktor verwenden. Um das Offensichtliche zu sagen, benötigen Sie auch ein Programmierkabel, um Arduino-Skizzen auf das Board hochzuladen! Wenn Sie kein Arduino-Formfaktor-Board verwenden, ist das auch in Ordnung! Auf dieser Wiki-Seite finden Sie Informationen darüber, welche Verbindungen hergestellt werden müssen, und es wurden verschiedene Mikrocontroller getestet, darunter ESP8266, ESP32, ATmega32u4, ATmega2560 und ATSAMD21.
  • Botletics SIM7000 Shield Kit - Das Shield wird mit einer dualen LTE/GPS-uFL-Antenne und stapelbaren Buchsenleisten geliefert! Das Board gibt es in drei verschiedenen Versionen (SIM7000A/C/E/G) und je nachdem in welchem Land Sie leben, müssen Sie die richtige Version auswählen. Ich habe diese Seite im Github-Wiki erstellt, die Ihnen zeigt, wie Sie herausfinden können, welche Version für Sie am besten geeignet ist!
  • LTE CAT-M- oder NB-IoT-SIM-Karte - Obwohl das Kit keine kostenlose SIM-Karte mehr enthält, können Sie eine Hologramm-SIM-Karte erwerben, die Ihnen 1 MB pro Monat kostenlos zur Verfügung stellt und praktisch überall auf der Welt funktioniert, da Hologram eine Partnerschaft eingegangen ist mit über 500 Trägern! Sie haben auch nutzungsbasierte und monatliche Pläne und ein großartiges Community-Forum für technischen Support zur SIM-Kartenaktivierung, Hologramm-APIs und mehr! Es funktioniert mit diesem Schild landesweit in den USA hervorragend für die LTE CAT-M1-Netze von AT&T und Verizon. Beachten Sie jedoch, dass Sie in anderen Ländern möglicherweise Ihre eigene SIM-Karte von einem lokalen Anbieter beziehen müssen, da Hologram mit Netzbetreibern und CAT-M. zusammenarbeitet und NB-IoT ist relativ neu.
  • 3,7-V-LiPo-Akku (1000mAH+): Während der Suche nach Netzwerken oder der Übertragung von Daten kann das Schild erhebliche Strommengen aufnehmen und Sie können sich nicht auf die direkte Stromversorgung von der Arduino 5V-Schiene verlassen. Stecken Sie einen 3,7-V-LiPo-Akku in den JST-Anschluss auf der Platine und stellen Sie sicher, dass der Akku mit dem Pluskabel auf der linken Seite verbunden ist (wie bei Sparkfun oder Adafruit). Außerdem ist es wichtig sicherzustellen, dass die Batterie eine Kapazität von mindestens 500 mAH (mindestens) haben muss, um genügend Strom liefern zu können und einen Neustart des Moduls bei Stromspitzen zu verhindern. Aus Stabilitätsgründen werden 1000 mAH oder mehr empfohlen. Der Grund für diese absolute Mindestkapazität liegt darin, dass die Ladeschaltung des LiPo-Akkus auf 500 mA eingestellt ist. Sie sollten daher sicherstellen, dass der Akku eine Kapazität von mindestens 500 mA hat, um eine Beschädigung des Akkus zu vermeiden.

Schritt 2: Montieren Sie das Schild

Montieren Sie den Schild
Montieren Sie den Schild
Montieren Sie den Schild
Montieren Sie den Schild
Montieren Sie den Schild
Montieren Sie den Schild

Um die Abschirmung zu verwenden, müssen Sie Header darauf löten, es sei denn, Sie planen nicht, diese Platine als "Abschirmung" und eher als eigenständiges Modul zu verwenden, was auch völlig in Ordnung ist! Ein Beispiel dafür ist die Verwendung eines Arduino Micro als Controller und die separate Verdrahtung mit dem Shield.

Die häufigste Wahl für die Verwendung des Boards als Arduino-Shield sind stapelbare Buchsenleisten, die im Lieferumfang des Shields enthalten sind. Nachdem Sie die Header gelötet haben, legen Sie die Abschirmung auf die Arduino-Platine (es sei denn, Sie verwenden sie als eigenständige Platine) und Sie sind bereit für den nächsten Schritt!

Hinweis: Tipps zum Löten der Pins finden Sie auf dieser Seite des Github-Wikis.

Schritt 3: Schild-Pinbelegungen

Schild-Pinbelegungen
Schild-Pinbelegungen
Schild-Pinbelegungen
Schild-Pinbelegungen
Schild-Pinbelegungen
Schild-Pinbelegungen

Das Schild verwendet einfach die Pinbelegung des Arduino, verbindet jedoch bestimmte Pins für bestimmte Zwecke. Diese Pins können im Folgenden zusammengefasst werden:

Power-Pins

  • GND - Gemeinsame Masse für alle Logik und Leistung
  • 3,3 V - 3,3 V vom Regler des Arduino. Verwenden Sie dies wie beim Arduino!
  • 5V / LOGIC - Diese 5V-Schiene vom Arduino lädt den LiPo-Akku, der den SIM7000 mit Strom versorgt und stellt auch die Logikspannung für den I2C und die Pegelverschiebung ein. Wenn Sie einen 3,3-V-Mikrocontroller verwenden, verbinden Sie 3,3 V mit dem "5V" -Pin des Schirms (siehe Abschnitt unten).
  • VBAT - Dies gewährt Zugriff auf die LiPo-Batteriespannung und ist normalerweise mit nichts auf dem Arduino verbunden, sodass Sie es nach Belieben verwenden können! Sie entspricht auch der Eingangsspannung des SIM7000-Moduls. Wenn Sie darüber nachdenken, diese Spannung zu messen und zu überwachen, sehen Sie sich den Befehl "b" im Demo-Tutorial an, der die Spannung misst und den Batterieprozentsatz anzeigt! Denken Sie daran, dass der LiPo-Akku erforderlich ist!
  • VIN - Dieser Pin wird einfach mit dem VIN-Pin des Arduino verbunden. Sie können den Arduino wie gewohnt mit 7-12 V an diesem Pin versorgen.

Andere Pins

  • D6 - Verbunden mit dem PWRKEY-Pin des SIM7000
  • D7 - Reset-Pin des SIM7000 (nur bei Not-Reset verwenden!)
  • D8 - Stift UART Data Terminal Ready (DTR). Dies kann verwendet werden, um das Modul aus dem Schlaf zu wecken, wenn Sie den Befehl "AT+CSCLK" verwenden
  • D9 - Ringanzeige (RI)-Pin
  • D10 - UART Transmit (TX) Pin des SIM7000 (das bedeutet, dass Sie den TX des Arduino daran anschließen sollten!)
  • D11 - UART-Empfangs-(RX-)Pin des SIM7000 (mit Arduinos TX-Pin verbinden)
  • D12 - Gutes 'ole D12 auf dem Arduino, ABER Sie können es mit dem ALERT-Interrupt-Pin des Temperatursensors verbinden, indem Sie einen Jumper löten
  • SDA/SCL - Der Temperatursensor ist über I2C. mit dem Schirm verbunden

Wenn Sie das Board als eigenständiges Modul und nicht als "Abschirmung" verwenden oder wenn Sie eine 3,3-V-Logik anstelle von 5 V verwenden, müssen Sie die erforderlichen Verbindungen herstellen, wie im Abschnitt "Externe Host-Board-Verkabelung" von. beschrieben diese Github-Wiki-Seite.

Wenn Sie jedoch nur AT-Befehle testen müssen, müssen Sie nur den LiPo-Akku und das Micro-USB-Kabel anschließen und dann diese Verfahren befolgen, um AT-Befehle über USB zu testen. Beachten Sie, dass Sie AT-Befehle auch über die Arduino IDE testen können, dies jedoch die Verbindung der Pins D10 / D11 für UART erfordern würde.

Ausführliche Informationen zu den Shield-Pinbelegungen und den Funktionen der einzelnen Pins finden Sie auf dieser Github-Wiki-Seite.

Schritt 4: Stromversorgung des Schilds

Den Schild mit Strom versorgen
Den Schild mit Strom versorgen

Um das Shield mit Strom zu versorgen, stecken Sie einfach den Arduino ein und stecken Sie einen 3,7 V LiPo-Akku (1000 mAH oder mehr Kapazität) ein, wie er bei Adafruit oder Sparkfun verkauft wird. Ohne die Batterie werden Sie wahrscheinlich sehen, dass das Modul hochfährt und kurz darauf abstürzt. Sie können den Arduino weiterhin wie gewohnt über das USB-Kabel oder extern über eine 7-12V-Stromquelle am VIN-Pin mit Strom versorgen und die 5V-Schiene am Arduino lädt den LiPo-Akku. Beachten Sie, dass Sie, wenn Sie ein Standard-Arduino-Board verwenden, es sicher über eine externe Stromquelle mit Strom versorgen können, während das Programmierkabel eingesteckt bleibt, da es über eine Spannungsauswahlschaltung verfügt.

LED-Anzeige

Zuerst fragen Sie sich vielleicht, ob die Platine überhaupt am Leben ist, da möglicherweise keine LEDs eingeschaltet sind. Dies liegt daran, dass die LED "PWR" eine Betriebsanzeige für das SIM7000-Modul selbst ist, und obwohl Sie Strom liefern, haben Sie das Modul noch nicht eingeschaltet! Dies geschieht, indem der PWRKEY für mindestens 72 ms niedrig gepulst wird, was ich später erklären werde. Wenn Sie eine Batterie angeschlossen haben und diese nicht vollständig aufgeladen ist, leuchtet die grüne LED "DONE" nicht auf, aber wenn Sie keine Batterie angeschlossen haben, sollte diese LED aufleuchten (und kann gelegentlich blinken, wenn sie ausgetrickst wird) denken, dass die nicht vorhandene Batterie aufgrund von leichten Spannungsabfällen nicht vollständig geladen ist).

Jetzt, da Sie wissen, wie man alles mit Strom versorgt, kommen wir zu den zellularen Dingen!

Schritt 5: SIM-Karte & Antenne

SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne
SIM-Karte & Antenne

Auswahl einer SIM-Karte

Auch hier muss Ihre SIM-Karte in der Lage sein, LTE CAT-M (nicht nur traditionelles LTE, wie es wahrscheinlich in Ihrem Telefon vorhanden ist) oder NB-IoT zu unterstützen, und sie muss eine "Mikro"-SIM-Größe haben. Die beste Option, die ich für dieses Schild gefunden habe, ist die Hologramm-Entwickler-SIM-Karte, die 1 MB / Monat kostenlos und Zugriff auf die APIs und Ressourcen von Hologram für die erste SIM-Karte bietet! Melden Sie sich einfach bei Ihrem Hologram.io-Dashboard an und geben Sie die CCID-Nummer der SIM-Karte ein, um sie zu aktivieren, und legen Sie dann die APN-Einstellungen im Code fest (bereits standardmäßig festgelegt). Es ist problemlos und funktioniert überall auf der Welt, da Hologram weltweit über 200 Mobilfunkanbieter unterstützt!

Zu beachten ist, dass die SIM7000C/E/G-Versionen auch 2G-Fallback unterstützen. Wer also wirklich testen möchte und keine LTE CAT-M- oder NB-IoT-SIM-Karte besitzt, kann das Modul trotzdem auf 2G testen.

Einlegen der SIM-Karte

Als erstes sollten Sie die Micro-SIM aus dem normal großen SIM-Kartenhalter herausbrechen lassen. Suchen Sie auf dem LTE-Schild den SIM-Kartenhalter auf der linken Seite der Platine in der Nähe des Akkuanschlusses. Die SIM-Karte wird in diesen Halter eingelegt, wobei die Metallkontakte der SIM-Karte nach unten zeigen und die kleine Kerbe an einer Kante zum SIM-Kartenhalter zeigt.

Antennengüte

Das Shield-Kit wird mit einer wirklich praktischen Dual-LTE/GPS-Antenne geliefert! Es ist auch flexibel (obwohl Sie nicht versuchen sollten, es zu stark zu verdrehen und zu biegen, da Sie die Antennendrähte von der Antenne abbrechen könnten, wenn Sie nicht aufpassen) und hat einen abziehbaren Kleber auf der Unterseite. Das Anschließen der Drähte ist super einfach: Nehmen Sie einfach die Drähte und schnappen Sie sie auf die passenden uFL-Anschlüsse am rechten Rand des Schirms. HINWEIS: Stellen Sie sicher, dass Sie das LTE-Kabel an der Antenne mit dem LTE-Anschluss an der Abschirmung und das gleiche mit dem GPS-Kabel übereinstimmen, da sie gekreuzt sind!

Schritt 6: Arduino IDE-Setup

Arduino IDE-Setup
Arduino IDE-Setup

Dieses SIM7000-Shield basiert auf den Adafruit FONA-Boards und verwendet die gleiche Bibliothek, wurde jedoch mit zusätzlicher Modemunterstützung verbessert. Eine vollständige Anleitung zur Installation meiner überarbeiteten FONA-Bibliothek finden Sie hier auf meiner Github-Seite.

Sie können auch sehen, wie Sie den MCP9808-Temperatursensor testen können, indem Sie diese Anweisungen befolgen, aber hier konzentriere ich mich hauptsächlich auf das Mobilfunkmaterial!

Schritt 7: Arduino-Beispiel

Arduino-Beispiel
Arduino-Beispiel
Arduino-Beispiel
Arduino-Beispiel
Arduino-Beispiel
Arduino-Beispiel

Baudraten-Setup

Standardmäßig läuft der SIM7000 mit 115200 Baud, aber dies ist zu schnell, damit die serielle Software zuverlässig funktioniert, und Zeichen können zufällig als quadratische Kästchen oder andere ungerade Symbole erscheinen (z. B. könnte ein "A" als "@" angezeigt werden). Wenn Sie genau hinschauen, konfiguriert das Arduino das Modul daher bei jeder Initialisierung auf eine langsamere Baudrate von 9600. Glücklicherweise wird das Umschalten automatisch vom Code übernommen, Sie müssen also nichts Besonderes tun, um es einzurichten!

LTE-Shield-Demo

Befolgen Sie als Nächstes diese Anweisungen, um die Skizze "LTE_Demo" (oder eine beliebige Variante dieser Skizze, je nachdem, welchen Mikrocontroller Sie verwenden) zu öffnen. Wenn Sie bis zum Ende der Funktion "setup()" scrollen, sehen Sie eine Zeile "fona.setGPRSNetworkSettings(F("hologram"));" die den APN für die Hologramm-SIM-Karte festlegt. Dies ist unbedingt erforderlich, und wenn Sie eine andere SIM-Karte verwenden, sollten Sie zuerst die Dokumentation der Karte zum APN konsultieren. Beachten Sie, dass Sie diese Zeile nur ändern müssen, wenn Sie keine Hologramm-SIM-Karte verwenden.

Wenn der Code ausgeführt wird, versucht das Arduino, mit dem SIM7000 über UART (TX/RX) mit SoftwareSerial zu kommunizieren. Dazu muss das SIM7000 natürlich eingeschaltet sein. Prüfen Sie also während des Verbindungsaufbaus, ob die "PWR"-LED aufleuchtet! (Hinweis: Es sollte sich etwa 4 Sekunden nach der Ausführung des Codes einschalten). Nachdem das Arduino erfolgreich die Kommunikation mit dem Modul hergestellt hat, sollten Sie ein großes Menü mit einer Reihe von Aktionen sehen, die das Modul ausführen kann! Beachten Sie jedoch, dass einige dieser Befehle für die anderen 2G- oder 3G-Module von SIMCom gelten, sodass nicht alle Befehle auf das SIM7000 anwendbar sind, aber viele davon! Geben Sie einfach den Buchstaben ein, der einer Aktion entspricht, die Sie ausführen möchten, und klicken Sie oben rechts im seriellen Monitor auf "Senden" oder drücken Sie einfach die Eingabetaste. Sehen Sie erstaunt zu, wie der Schild eine Antwort zurückspuckt!

Demo-Befehle

Im Folgenden finden Sie einige Befehle, die Sie ausführen sollten, um sicherzustellen, dass Ihr Modul eingerichtet ist, bevor Sie fortfahren:

  • Geben Sie "n" ein und drücken Sie die Eingabetaste, um die Netzwerkregistrierung zu überprüfen. Sie sollten "Registriert (Zuhause)" sehen. Wenn nicht, überprüfen Sie, ob Ihre Antenne angeschlossen ist und Sie müssen möglicherweise auch zuerst den Befehl "G" (unten erklärt) ausführen!
  • Überprüfen Sie die Netzwerksignalstärke, indem Sie "i" eingeben. Sie sollten einen RSSI-Wert erhalten; je höher dieser Wert desto besser! Meins war 31, was die beste Signalstärke anzeigt!
  • Geben Sie den Befehl "1" ein, um einige wirklich coole Netzwerkinformationen zu überprüfen. Sie können den aktuellen Verbindungsmodus, den Netzbetreibernamen, das Band usw. abrufen.
  • Wenn Sie eine Batterie angeschlossen haben, versuchen Sie es mit dem Befehl "b", um die Batteriespannung und den Prozentsatz abzulesen. Wenn Sie keine Batterie verwenden, liest dieser Befehl immer etwa 4200 mV und sagt daher, dass sie zu 100% geladen ist.
  • Geben Sie nun "G" ein, um Mobilfunkdaten zu aktivieren. Dies legt den APN fest und ist entscheidend für die Verbindung Ihres Geräts mit dem Internet! Wenn "ERROR" angezeigt wird, versuchen Sie, die Daten mit "g" auszuschalten, und versuchen Sie es erneut.
  • Um zu testen, ob Sie mit Ihrem Modul tatsächlich etwas anfangen können, geben Sie "w" ein. Sie werden aufgefordert, die URL der zu lesenden Webseite einzugeben, die Beispiel-URL "https://dweet.io/get/latest/dweet/for/sim7000test123" zu kopieren/einzufügen und die Eingabetaste zu drücken. Kurz darauf sollten Sie eine Meldung wie "{"this":"failed", "with":404, "because":"wir konnten dies nicht finden"}" erhalten (vorausgesetzt, niemand hat Daten für "sim7000test123" gepostet).
  • Testen wir nun das Senden von Dummy-Daten an dweet.io, eine kostenlose Cloud-API, indem wir "2" in den seriellen Monitor eingeben. Sie sollten sehen, dass es einige AT-Befehle durchläuft.
  • Um zu testen, ob die Daten wirklich durchgekommen sind, versuchen Sie es erneut mit "w" und geben Sie diesmal "https://dweet.io/get/latest/dweet/for/{deviceID}" ohne die Klammern ein, wobei die Geräte-ID die IMEI ist Nummer Ihres Geräts, die bei der Modulinitialisierung ganz oben auf dem seriellen Monitor gedruckt werden soll. Sie sollten "erfolgreich" und eine JSON-Antwort sehen, die die Daten enthält, die Sie gerade gesendet haben! (Beachten Sie, dass die 87%-Batterie nur eine Dummy-Nummer ist, die im Code festgelegt ist und möglicherweise nicht Ihr tatsächlicher Batteriestand ist)
  • Jetzt ist es Zeit, das GPS zu testen! Aktivieren Sie die Stromversorgung des GPS mit "O"
  • Geben Sie "L" ein, um die Standortdaten abzufragen. Beachten Sie, dass Sie möglicherweise etwa 7-10 Sekunden warten müssen, bevor der Standort ermittelt wird. Sie können so lange "L" eingeben, bis Ihnen einige Daten angezeigt werden!
  • Sobald Sie Daten erhalten, kopieren Sie sie und fügen Sie sie in Microsoft Word oder einen Texteditor ein, damit sie leichter zu lesen sind. Sie werden sehen, dass die dritte Zahl (die Zahlen sind durch Kommas getrennt) das Datum und die Uhrzeit sind und die nächsten drei Zahlen die Breite, Länge und Höhe (in Metern) Ihres Standorts sind! Um zu überprüfen, ob es richtig war, gehen Sie zu diesem Online-Tool und suchen Sie Ihren aktuellen Standort. Es sollte Ihnen die Breite/Länge und die Höhe anzeigen und diese Werte mit denen Ihres GPS vergleichen!
  • Wenn Sie kein GPS benötigen, können Sie es mit "o" ausschalten.
  • Viel Spaß mit den anderen Befehlen und schau dir die Beispielskizze "IoT_Example" an, um ein cooles Beispiel zum Senden von Daten an eine kostenlose Cloud-API über LTE zu erhalten!

Senden & Empfangen von Texten

Um zu sehen, wie Sie Texte vom Schild direkt an ein beliebiges Telefon senden und Texte über das Dashboard oder die API von Hologram an den Schild senden, lesen Sie bitte diese Github-Wiki-Seite.

IoT-Beispiel: GPS-Tracking

Nachdem Sie überprüft haben, dass alles wie erwartet funktioniert, öffnen Sie die Skizze "IoT_Example". Dieser Beispielcode sendet GPS-Standort- und Peilungsdaten, Temperatur und Akkustand an die Cloud! Lade den Code hoch und beobachte staunend, wie der Schild seine Magie vollbringt! Um zu überprüfen, ob die Daten wirklich an die Cloud gesendet wurden, gehen Sie in einem beliebigen Browser zu "https://dweet.io/get/latest/dweet/for/{IMEI}" (geben Sie die IMEI-Nummer ein, die Sie oben auf der serieller Monitor nach der Modulinitialisierung oder auf Ihrem SIMCOM-Modul aufgedruckt) und Sie sollten die Daten sehen, die Ihr Gerät gesendet hat!

In diesem Beispiel können Sie die Zeile auch mit "#define SamplingRate 30" auskommentieren, um Daten wiederholt zu senden, anstatt nur einmal zu laufen. Dies macht Ihr Gerät im Wesentlichen zu einem GPS-Tracking-Gerät!

Für weitere Details besuchen Sie bitte die Tutorials, die ich für Echtzeit-GPS-Tracking erstellt habe:

  • GPS-Tracker-Tutorial Teil 1
  • GPS-Tracker-Tutorial Teil 2

Fehlerbehebung

Für allgemeine Fragen und Fehlerbehebung besuchen Sie bitte die FAQ auf Github.

Schritt 8: Testen mit AT-Befehlen

Testen mit AT-Befehlen
Testen mit AT-Befehlen

Testen von Arduino IDE

Wenn Sie AT-Befehle über den seriellen Monitor an das Modul senden möchten, verwenden Sie den Befehl "S" aus dem Menü, um in den seriellen Röhrenmodus zu gelangen. Dadurch wird alles, was Sie in den seriellen Monitor eingeben, an das Modul gesendet. Stellen Sie jedoch sicher, dass "Both NL & CR" am unteren Rand des seriellen Monitors aktiviert ist, da Sie sonst keine Antwort auf Ihre Befehle sehen, da das Modul nicht weiß, dass Sie mit der Eingabe fertig sind!

Um diesen Modus zu verlassen, drücken Sie einfach die Reset-Taste Ihres Arduino. Beachten Sie, dass Sie bei Verwendung von ATmega32u4- oder ATSAMD21-basierten Karten auch den seriellen Monitor neu starten müssen.

Weitere Informationen zum Senden von AT-Befehlen von der Arduino IDE finden Sie auf dieser Wiki-Seite.

Direkt über USB testen

Eine vielleicht einfachere Methode (für Windows-Benutzer) besteht darin, die in diesem Tutorial beschriebenen Windows-Treiber zu installieren und AT-Befehle zu testen, indem Sie stattdessen den Micro-USB-Anschluss des Schilds verwenden!

Wenn Sie immer noch mit den AT-Befehlen experimentieren möchten, sie aber in einer Reihenfolge ausführen möchten und sich nicht mit dem Ändern der FONA-Bibliothek herumschlagen möchten, können Sie dies mit einer einfachen kleinen Bibliothek tun, die ich namens "AT Command Library" geschrieben habe finden Sie hier auf Github. Sie müssen lediglich die ZIP-Datei aus dem Repository herunterladen und in Ihren Arduino-Bibliotheksordner entpacken und eine Beispielskizze (genannt "AT_Command_Test.ino") für das SIM7000 finden Sie hier im LTE-Shield-Github-Repo. Mit dieser Bibliothek können Sie AT-Befehle über Software Serial mit Timeouts senden, auf eine bestimmte Antwort vom Modul prüfen, keines oder beides!

Schritt 9: Stromverbrauch

Bei IoT-Geräten möchten Sie, dass diese Zahlen weit nach unten gehen. Werfen wir also einen Blick auf einige der technischen Daten! Einen ausführlichen Bericht zu den aktuellen Verbrauchsmessungen finden Sie auf dieser Github-Seite.

Hier eine kurze Zusammenfassung:

  • SIM7000-Modul ausgeschaltet: gesamte Abschirmung zieht < 8uA bei 3,7V LiPo-Akku
  • Der Schlafmodus verbraucht etwa 1,5 mA (einschließlich der grünen PWR-LED, also wahrscheinlich ~ 1 mA ohne) und bleibt mit dem Netzwerk verbunden
  • Die e-DRX-Einstellungen können die Zykluszeit der Netzwerkaushandlung konfigurieren und Energie sparen, aber auch Dinge wie eingehende Textnachrichten verzögern, je nachdem, wie die Zykluszeit eingestellt ist
  • Verbunden mit LTE CAT-M1-Netzwerk, Leerlauf: ~12mA
  • GPS fügt ~32mA. hinzu
  • Anschließen von USB fügt ~20mA. hinzu
  • Die Datenübertragung über LTE CAT-M1 beträgt ~96mA für ~12s
  • Das Senden von SMS verbraucht ~96mA für ~10s
  • Der Empfang von SMS zieht ~89mA für ~10s
  • PSM klingt nach einem wunderbaren Feature, muss aber noch funktionieren

Und hier noch eine kleine Erklärung:

  • Power-Down-Modus: Sie können die Funktion "fona.powerDown()" verwenden, um das SIM7000 vollständig auszuschalten. In diesem Zustand zieht das Modul nur ca. 7,5uA und kurz nach dem Ausschalten sollte auch die "PWR" LED erlöschen.
  • Power Saving Mode (PSM): Dieser Modus ist wie der Power-Down-Modus, aber das Modem bleibt im Netzwerk registriert, während es nur 9uA verbraucht, während das Modul weiterhin mit Strom versorgt wird. In diesem Modus ist nur die Stromversorgung der RTC aktiv. Für die ESP8266-Fans da draußen ist es im Grunde "ESP.deepSleep ()" und der RTC-Timer kann das Modul aufwecken, aber Sie können einige ziemlich coole Dinge tun, wie das Modem aufwecken, indem Sie ihm eine SMS senden. Leider konnte ich diese Funktion jedoch nicht zum Laufen bringen. Lass es mich auf jeden Fall wissen, wenn du es tust!
  • Flugmodus: In diesem Modus wird das Modul weiterhin mit Strom versorgt, aber RF ist vollständig deaktiviert, aber die SIM-Karte ist weiterhin aktiv sowie UART und USB-Schnittstelle. Sie können diesen Modus mit "AT+CFUN=4" aufrufen, aber ich habe auch nicht gesehen, dass dies wirksam wird.
  • Minimaler Funktionsmodus: Dieser Modus entspricht dem Flugmodus, außer dass die SIM-Kartenschnittstelle nicht zugänglich ist. Sie können diesen Modus mit "AT+CFUN=0" aufrufen, aber Sie können diesen Modus auch mit "AT+CSCLK=1" aufrufen, wonach das SIM7000 den DTR-Pin hochzieht, wenn sich das Modul im Ruhemodus befindet. In diesem Schlafmodus wird das Modul durch Ziehen von DTR auf einen niedrigen Wert geweckt. Dies kann praktisch sein, da das Aufwecken viel schneller sein kann, als es von Grund auf neu zu starten!
  • Diskontinuierlicher Empfang/Übertragung (DRX/DTX) Modus: Sie können sozusagen die "Abtastrate" des Moduls konfigurieren, so dass das Modul nur nach Textnachrichten sucht oder Daten schneller oder langsamer sendet, während es mit dem Modul verbunden bleibt das Netzwerk. Dadurch wird die Stromaufnahme deutlich reduziert!
  • Deaktivieren Sie die "PWR" LED: Um ein paar Cent mehr zu sparen, können Sie die Power-LED des Moduls deaktivieren, indem Sie den normalerweise geschlossenen Lötjumper daneben durchschneiden. Wenn Sie später Ihre Meinung ändern und es zurück wollen, löten Sie einfach den Jumper!
  • "NETLIGHT" LED An/Aus: Sie können auch "AT+CNETLIGHT=0" verwenden, um die blaue Netzwerkstatus-LED komplett auszuschalten, wenn Sie sie nicht benötigen!
  • GNSS On/Off: Sie können 30mA sparen, indem Sie GPS mit dem Befehl "fona.enableGPS()" mit true oder false als Eingabeparameter ausschalten. Wenn Sie es nicht verwenden, würde ich Ihnen vorschlagen, es auszuschalten! Außerdem habe ich festgestellt, dass es nach einem Kaltstart nur etwa 20 Sekunden dauert, um eine Standortbestimmung vorzunehmen, und nur etwa 2 Sekunden, wenn das Gerät bereits eingeschaltet ist (z. B. wenn Sie GPS aus- und wieder einschalten und erneut abfragen), was ziemlich schnell ist ! Sie können auch mit Warm-/Heißstart und unterstütztem GPS experimentieren.

Schritt 10: Schlussfolgerungen

Insgesamt ist der SIM7000 superschnell und nutzt modernste Technologie mit integriertem GPS und ist vollgepackt mit coolen Funktionen! Leider ist NB-IoT hier in den Vereinigten Staaten nicht vollständig implementiert, daher müssen wir etwas warten, bis es herauskommt, aber mit diesem LTE-Schild können wir LTE CAT-M1 immer noch in AT&T- und Verizon-Netzwerken verwenden. Dieses Schild eignet sich hervorragend zum Experimentieren mit stromsparenden Mobilfunkgeräten wie GPS-Trackern, Remote-Datenloggern und vielem mehr! Durch die Einbeziehung anderer Schilde und Module für Dinge wie SD-Kartenspeicher, Sonnenkollektoren, Sensoren und andere drahtlose Konnektivität sind die Möglichkeiten fast endlos!

  • Wenn dir dieses Projekt gefallen hat, gib ihm bitte ein Herz und stimme dafür!
  • Wenn Sie Kommentare, Vorschläge oder Fragen haben, können Sie diese gerne unten posten!
  • Um Ihren eigenen Schild zu bestellen, besuchen Sie bitte meine Website für Informationen oder bestellen Sie ihn auf Amazon.com
  • Bitte teilt dieses Projekt wie immer!

In diesem Sinne, viel Spaß beim Basteln und stellen Sie sicher, dass Sie Ihre Projekte und Verbesserungen mit allen teilen!

~ Tim

Empfohlen: