Inhaltsverzeichnis:
- Schritt 1: Basisstation bauen
- Schritt 2: Der erste Test
- Schritt 3: Erstellen Sie die Schnittstelle
- Schritt 4: Messgerät hinzufügen
- Schritt 5: Ziehen Sie das GPS-Messgerät und fügen Sie OpenStreetMap hinzu
- Schritt 6: Ziehen Sie die GPS-Anzeige und fügen Sie das Tabellenprotokoll hinzu
- Schritt 7: Code abrufen
- Schritt 8: Arduino-IDE
- Schritt 9: Codierungsdetails
Video: Arduino-Projekt: Testbereich LoRa-Modul RF1276 für GPS-Tracking-Lösung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Verbindung: USB - Seriell
Benötigen: Chrome-Browser
Benötigen: 1 X Arduino Mega
Benötigen: 1 X GPS
Benötigen: 1 X SD-Karte
Benötigen: 2 X LoRa-Modem RF1276
Funktion: Arduino GPS-Wert an Hauptbasis senden - Hauptbasis speichert Daten im Dataino Server Lora-Modul: Ultra Long Range RF1276 von APPCONWIRELESS LoRa ist eine neue, private und Spread-Spectrum-Modulationstechnik, die das Senden von Daten mit extrem niedrigen Datenraten an extrem lange Reichweiten. Die geringe Datenrate (bis zu wenigen Bytes pro Sekunde) und die LoRa-Modulation führen zu einer sehr geringen Empfängerempfindlichkeit, bedeutet in diesem Test mehr als 10km.
Schritt 1: Basisstation bauen
Computerbreite Internetverbindung und ein LoRa-Modem, das an den USB-Port angeschlossen ist.
Arduino-Auto-Kit ·
Die metrische Box
Anduino Mega ist mit Seriell 2 zum GPS-Empfänger und Seriell 1 zum LoRa-Modem verbunden. Zum Speichern von Daten wird eine SD-Karte verwendet.
Schritt 2: Der erste Test
· 10,6 km auf einem mit Schleifen durchzogenen Weg durch Stadtzentren, Galerien und entlang der Küste
Das Verhältnis von Empfang / Übertragung war 321/500TX-Punkt
RX-Punkt
Schritt 3: Erstellen Sie die Schnittstelle
1 - Erstellen Sie ein neues Projekt LoRa
Drücken Sie das Zahnradsymbol, um die Projektkonfiguration zu öffnen
Schritt 4: Messgerät hinzufügen
2) Öffnen Sie den Schieberegler.
· 3) Blättern Sie zu GPS.
· 4) Fügen Sie einen zum Schreibtisch hinzu.
Schritt 5: Ziehen Sie das GPS-Messgerät und fügen Sie OpenStreetMap hinzu
· 5) OpenStreetMap-Karte zum Schreibtisch hinzufügen
Durch Ziehen der Komponente GPS auf die Symbolkarte wird die OpenStreet-Karte generiert.
Erstellen Sie die Schnittstelle
· 6) Kartenaktualisierung ändern
Ändern Sie die Aktualisierungszeit der Karte von 5000 auf 10000
Schritt 6: Ziehen Sie die GPS-Anzeige und fügen Sie das Tabellenprotokoll hinzu
· 7) Fügen Sie ein Tabellenprotokoll-Messgerät hinzu.
Durch Ziehen des Messgeräts über die GPS-Symboltabelle wird das Messgerätetabellenprotokoll erstellt
· 8) Aktualisierung des Tabellenprotokolls ändern. Ändern Sie die Kartenaktualisierungszeit von 5000 auf 10000
Passen Sie die Position der Anzeigen an
· 9) Ziehen-Anzeigen passen die Position der Anzeigen an, indem Sie sie über den Bildschirm ziehen.
· 10) Projekt speichern
Schritt 7: Code abrufen
10) Codecontainer aktivieren
Schaltfläche auf der oberen rechten Schaltfläche, wählen Sie alle aus und kopieren Sie den Basiscode.
Schritt 8: Arduino-IDE
· 11) Code in Arduino IDE einfügen
· 12) Code bearbeiten Fügen Sie diese Zeile in die Definition ein
Schritt 9: Codierungsdetails
Fügen Sie diese Zeile in die Definition ein
//*************************************************************************
//** BÜCHEREI ** //***************************************** ********************************
#include // ++ GPS-Bibliothek
#include // ++ SPI-Bibliothek #include
// ++ SD-Bibliothek//
*************************************************************************
//** SD ** //******************************************** ********************************
// * SD-Karte wie folgt an SPI-Bus angeschlossen:
// ** UNO: MOSI - Pin 11, MISO - Pin 12, CLK - Pin 13, CS - Pin 4
// (CS-Pin kann geändert werden) und Pin #10 (SS) müssen ein Ausgang sein
// ** Mega: MOSI - Pin 51, MISO - Pin 50, CLK - Pin 52, CS - Pin 53
// (CS-Pin kann geändert werden) und Pin # 52 (SS) müssen ein Ausgang sein
// ** Leonardo: Verbindung mit Hardware-SPI über den ICSP-Header
// Pin 4 wird hier aus Gründen der Konsistenz mit anderen Arduino-Beispielen verwendet const int chipSelect = 53;
// ++ SD-Pin-Selektor
//*************************************************************************
//** GEOGRAPHISCHES POSITIONIERUNGS SYSTEM ** //***************************************** ********************************
TinyGPS-GPS; // ++ GPS auf Serial2
void gpsdump(TinyGPS &gps); // ++
bool newdataGPS = false; // ++
Fügen Sie diese Zeile im setup() hinzu
//***********************************************************************
//** GPS serielles Setup ** //**************************************** ********************************
Serial2.begin (9600); // ++
Verzögerung (1000); // ++
//***********************************************************************
//** SD-Initialisierung ** //**************************************** ******************************
// Stellen Sie sicher, dass der Standard-Chipauswahl-Pin auf // ++. eingestellt ist
// Ausgabe, auch wenn Sie sie nicht verwenden: // ++
PinMode (SS, AUSGANG); // ++
Serial.println (F ("SD-Karte wird initialisiert …")); // ++
// prüfen, ob die Karte vorhanden ist und initialisiert werden kann: // ++
if (!SD.begin(chipSelect)) { // ++
Serial.println (F ("Karte fehlgeschlagen oder nicht vorhanden")); // ++
// mach nichts mehr: // ++
Rückkehr; // ++
} sonst { // ++
Serial.println (F ("SD-Karte OK")); // ++
} // ++
Füge diese Zeilen in loop() ein void
serialEvent2(); // ++ serielles GPS-Ereignis aufrufen
SeriaEvent2-Code hinzufügen
//*************************************************************************
//** GPS-Serienereignis ** //**************************************** ********************************
void serialEvent2() { // ++
while (Serial2.available()) { // ++
Zeichen c = Serial2.read (); // ++
//Seriendruck (c); // Kommentar entfernen, um GPS-Rohdaten anzuzeigen // ++
if (gps.encode(c)) { // ++
newdataGPS = wahr; // ++
brechen; // entkommentieren, um sofort neue Daten zu drucken! // ++
} // ++
} // ++
} // ++
GPS-Dump-Voud hinzufügen
//*************************************************************************
//** GPS-Dump ** //**************************************** ********************************
//** Der gültige Breitengradbereich in Grad ist -90 und +90. **
//** Längengrad liegt im Bereich -180 und +180 **
//** Angabe der Ost-West-Position **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump(TinyGPS & gps) // ++
{ // ++
int Jahr; // ++
Byte Monat, Tag, Stunde, Minute, Sekunde, Hundertstel; // ++
unsigniertes langes Alter; // ++
gps.f_get_position(&LATGP00, &LONGP00, &age); // ++
gps.crack_datetime(&Jahr, &Monat, &Tag, &Stunde, // ++
&Minute, &Sekunde, &Hundertstel, &Alter); // ++
langes lat, langes; // ++
gps.get_position(&lat, &lon, &age); // ++
// *********************************************************************
// ** erzeuge einen String zum Zusammensetzen der zu loggenden Daten: **
// *********************************************************************
String dataString = ""; // ++
dataString += (lat / 100000); // ++
Datenzeichenfolge += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
Datenzeichenfolge += ";"; // ++
dataString += (lon / 100000); // ++
Datenzeichenfolge += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
Datenzeichenfolge += ";"; // ++
dataString += String(static_cast(day)); // ++
Datenzeichenfolge += "/"; // ++
dataString += String(static_cast(Monat)); // ++
Datenzeichenfolge += "/"; // ++
dataString += String(Jahr); // ++
Datenzeichenfolge += ";"; // ++
dataString += String(static_cast(hour)); // ++
dataString += ":"; // ++
dataString += String(static_cast(Minute)); // ++
dataString += ":"; // ++
dataString += String(static_cast(second)); // ++ //******************************************** ****************************
//** AUF SD SPEICHERN ** //**************************************** *********************************
// öffne die Datei. Beachten Sie, dass jeweils nur eine Datei geöffnet sein kann, **
// Sie müssen diese also schließen, bevor Sie eine andere öffnen. ** //************************************************ **************************
Datei dataFile = SD.open("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** Wenn die Datei verfügbar ist, schreibe hinein: **
// ***********************************************************************
if (dataFile) { // ++
dataFile.println (dataString); // ++
dataFile.close(); // ++
} sonst { // ++
Serial.println (F ("FEHLER SD-Schreiben")); // ++
} // ++
}
Wenn Sie den Code herunterladen möchten, besuchen Sie bitte diese Seite.
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
RC-Tracked-Roboter mit Arduino – Schritt für Schritt: 3 Schritte
RC Tracked Robot mit Arduino – Schritt für Schritt: Hey Leute, ich bin zurück mit einem weiteren coolen Robot-Chassis von BangGood. Ich hoffe, Sie haben unsere vorherigen Projekte durchgegangen – Spinel Crux V1 – Der gestengesteuerte Roboter, Spinel Crux L2 – Arduino Pick-and-Place-Roboter mit Roboterarmen und The Badland Braw