Πίνακας περιεχομένων:

Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: 9 βήματα (με εικόνες)
Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: 9 βήματα (με εικόνες)

Βίντεο: Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: 9 βήματα (με εικόνες)

Βίντεο: Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: 9 βήματα (με εικόνες)
Βίντεο: Proyecto Sistemas de la Comunicación - Uso de tarjetas LoRa 2024, Νοέμβριος
Anonim
Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution
Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution

Σύνδεση: USB - Serial

Ανάγκη: Πρόγραμμα περιήγησης Chrome

Ανάγκη: 1 X Arduino Mega

Ανάγκη: 1 Χ GPS

Ανάγκη: 1 X κάρτα SD

Ανάγκη: 2 X LoRa Modem RF1276

Λειτουργία: Arduino Αποστολή τιμής GPS στην κύρια βάση-Κύρια βάση δεδομένων αποθήκευσης στο Dataino Server Lora Module: Εξαιρετικά μεγάλη εμβέλεια RF1276 από την APPCONWIRELESS LoRa είναι μια νέα, ιδιωτική και διαδεδομένη τεχνική διαμόρφωσης φάσματος που επιτρέπει την αποστολή δεδομένων σε εξαιρετικά χαμηλούς ρυθμούς δεδομένων σε εξαιρετικά μεγάλες αποστάσεις. Ο χαμηλός ρυθμός δεδομένων (έως λίγα byte ανά δευτερόλεπτο) και η διαμόρφωση LoRa οδηγούν σε πολύ χαμηλή ευαισθησία δέκτη, σημαίνει ότι σε αυτή τη δοκιμή σημαίνει περισσότερα από 10 χιλιόμετρα.

Βήμα 1: Δημιουργία σταθμού βάσης

Κτίριο Βασικού Σταθμού
Κτίριο Βασικού Σταθμού
Κτίριο Βασικού Σταθμού
Κτίριο Βασικού Σταθμού

Σύνδεση στο διαδίκτυο με πλάτος υπολογιστή και μόντεμ LoRa συνδεδεμένο στη θύρα USB.

Κιτ αυτοκινήτου Arduino ·

Το μετρικό κουτί

Το Anduino Mega συνδέθηκε με το σειριακό 2 στον δέκτη GPS και το Serial 1 στο μόντεμ LoRa. Μια κάρτα SD χρησιμοποιείται για την αποθήκευση δεδομένων.

Βήμα 2: Η πρώτη δοκιμή

Η Πρώτη Δοκιμή
Η Πρώτη Δοκιμή

· 10,6 χιλιόμετρα σε μονοπάτι μέσα από αστικά κέντρα, γκαλερί και κατά μήκος της ακτής με βρόχους

Η αναλογία λήψης /μετάδοσης ήταν 321 /500TX

Σημείο RX

Βήμα 3: Δημιουργήστε τη διεπαφή

Δημιουργήστε τη διεπαφή
Δημιουργήστε τη διεπαφή
Δημιουργήστε τη διεπαφή
Δημιουργήστε τη διεπαφή

1 - Δημιουργήστε ένα νέο έργο LoRa

Πατήστε το εικονίδιο γρανάζι για να ανοίξετε τη διαμόρφωση έργου

Βήμα 4: Προσθέστε μετρητή

Προσθήκη μετρητή
Προσθήκη μετρητή

2) Ανοίξτε το ρυθμιστικό μετρητή.

· 3) Μεταβείτε στο GPS.

· 4) Προσθέστε ένα στο γραφείο.

Βήμα 5: Σύρετε μετρητή GPS και προσθέστε OpenStreetMap

Σύρετε το μετρητή GPS και προσθέστε OpenStreetMap
Σύρετε το μετρητή GPS και προσθέστε OpenStreetMap
Σύρετε το μετρητή GPS και προσθέστε OpenStreetMap
Σύρετε το μετρητή GPS και προσθέστε OpenStreetMap

· 5) Προσθήκη χάρτη OpenStreetMap στο γραφείο

Σύροντας το στοιχείο GPS στο χάρτη εικονιδίων, δημιουργείται ο χάρτης OpenStreet.

Δημιουργήστε τη διεπαφή

· 6) Αλλαγή ανανέωσης χάρτη

Αλλάξτε τον χρόνο ανανέωσης του χάρτη από 5000 σε 10000

Βήμα 6: Σύρετε το μετρητή GPS και προσθέστε ημερολόγιο πίνακα

Σύρετε το GPS Gauge και το Add Log Log
Σύρετε το GPS Gauge και το Add Log Log

· 7) Προσθέστε ένα μετρητή καταγραφής πίνακα.

Σύροντας το μετρητή πάνω από τον πίνακα εικονιδίων GPS δημιουργείται ημερολόγιο πίνακα μετρητή

· 8) Αλλαγή ανανέωσης ημερολογίου πίνακα. Αλλάξτε τον χρόνο ανανέωσης του χάρτη από 5000 σε 10000

Ρυθμίστε τη θέση των μετρητών

· 9) Οι μετρητές σύρσης προσαρμόζουν τη θέση των μετρητών σύροντάς τους στην οθόνη.

· 10) Αποθήκευση έργου

Βήμα 7: Λήψη κώδικα

Πάρετε τον κωδικό
Πάρετε τον κωδικό

10) Ενεργοποιήστε το κοντέινερ κωδικών

Κουμπί στο πάνω δεξί κουμπί, επιλέξτε όλα και αντιγράψτε τον βασικό κώδικα.

Βήμα 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Επικόλληση κωδικού στο Arduino IDE

· 12) Επεξεργασία κώδικα Προσθέστε αυτήν τη γραμμή στον ορισμό

Βήμα 9: Λεπτομέρειες κωδικοποίησης

Προσθέστε αυτήν τη γραμμή στον ορισμό

//*************************************************************************

//** ΒΙΒΛΙΟΘΗΚΗ ** //***************************************** *******************************

#include // ++ βιβλιοθήκη GPS

#include // ++ βιβλιοθήκη SPI #include

// ++ βιβλιοθήκη SD //

*************************************************************************

// ** SD ** // ************************************** *******************************

// * Κάρτα SD προσαρτημένη στο δίαυλο SPI ως εξής:

// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4

// (Η καρφίτσα CS μπορεί να αλλάξει) και η καρφίτσα #10 (SS) πρέπει να είναι έξοδος

// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53

// (Η καρφίτσα CS μπορεί να αλλάξει) και η καρφίτσα #52 (SS) πρέπει να είναι έξοδος

// ** Leonardo: Συνδεθείτε στο SPI υλικού μέσω της κεφαλίδας ICSP

// Το pin 4 χρησιμοποιείται εδώ για συνέπεια με άλλα παραδείγματα Arduino const int chipSelect = 53;

// ++ Επιλογέας καρφίτσας SD

//*************************************************************************

// ** GPS ** // ************************************** *******************************

TinyGPS gps; // ++ GPS στο Serial2

void gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

Προσθέστε αυτήν τη γραμμή στη ρύθμιση ()

//***********************************************************************

// ** Σειριακή εγκατάσταση GPS ** // ************************************ *******************************

Serial2.begin (9600); // ++

καθυστέρηση (1000)? // ++

//***********************************************************************

// ** Αρχικοποίηση SD ** // ************************************* ******************************

// βεβαιωθείτε ότι η προεπιλεγμένη καρφίτσα επιλογής τσιπ έχει οριστεί σε // ++

// έξοδος, ακόμα κι αν δεν το χρησιμοποιείτε: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Αρχικοποίηση κάρτας SD …")); // ++

// δείτε αν η κάρτα είναι παρούσα και μπορεί να προετοιμαστεί: // ++

εάν (! SD.begin (chipSelect)) {// ++

Serial.println (F ("Η κάρτα απέτυχε ή δεν υπάρχει"); // ++

// μην κάνετε τίποτα περισσότερο: // ++

ΕΠΙΣΤΡΟΦΗ; // ++

} else {// ++

Serial.println (F ("κάρτα SD εντάξει")); // ++

} // ++

Προσθέστε αυτές τις γραμμές σε κενό βρόχου ()

serialEvent2 (); // ++ σειριακό συμβάν κλήσης GPS

Προσθέστε κωδικό SeriaEvent2

//*************************************************************************

// ** GPS serialEvent ** // ************************************* *******************************

void serialEvent2 () {// ++

ενώ (Serial2.available ()) {// ++

char c = Serial2.read (); // ++

//Serial.print(c); // δεν σχολιάζετε για να δείτε ακατέργαστα δεδομένα GPS // ++

if (gps.encode (c)) {// ++

newdataGPS = true; // ++

Διακοπή; // χωρίς σχόλιο για άμεση εκτύπωση νέων δεδομένων! // ++

} // ++

} // ++

} // ++

Προσθέστε GPS voud voud

//*************************************************************************

// ** gps dump ** // ************************************* *******************************

// ** Το έγκυρο εύρος γεωγραφικού πλάτους σε μοίρες είναι -90 και +90. **

// ** Το γεωγραφικό μήκος είναι στην περιοχή -180 και +180 **

// ** καθορισμός της θέσης ανατολής-δύσης **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

άκυρο gpsdump (TinyGPS & gps) // ++

{ // ++

int έτος? // ++

byte μήνα, ημέρα, ώρα, λεπτό, δευτερόλεπτο, εκατοστά? // ++

ανυπόγραφη μεγάλη ηλικία · // ++

gps.f_get_position (& LATGP00, & LONGP00, & age); // ++

gps.crack_datetime (& έτος, & μήνας, & ημέρα, & ώρα, // ++

& λεπτό, & δεύτερο, & εκατοντάδες, & ηλικία); // ++

long lat, lon? // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** δημιουργήστε μια συμβολοσειρά για τη συναρμολόγηση των δεδομένων για καταγραφή: **

// *********************************************************************

String dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (lon / 100000); // ++

dataString += "."; // ++

dataString += lon - (lon / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += String (στατική_μετάδοση (ημέρα)); // ++

dataString += "/"; // ++

dataString += String (στατική_μετάδοση (μήνας)); // ++

dataString += "/"; // ++

dataString += String (έτος); // ++

dataString += ";"; // ++

dataString += String (στατική_μετάδοση (ώρα)); // ++

dataString += ":"; // ++

dataString += String (στατική_μετάδοση (λεπτό)); // ++

dataString += ":"; // ++

dataString += String (static_cast (second)); // ++ // ***************************************** ****************************

// ** ΑΠΟΘΗΚΕΥΣΗ ΣΤΟ SD ** // ************************************ ********************************

// ανοίξτε το αρχείο. Σημειώστε ότι μόνο ένα αρχείο μπορεί να ανοίξει κάθε φορά, **

// οπότε πρέπει να το κλείσετε πριν ανοίξετε ένα άλλο. ** // ****************************************** **************************

Αρχείο dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** εάν το αρχείο είναι διαθέσιμο, γράψτε σε αυτό: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} else {// ++

Serial.println (F ("ERROR SD Write"); // ++

} // ++

}

Αν θέλετε να κατεβάσετε τον κωδικό, επισκεφτείτε αυτήν τη σελίδα.

Συνιστάται: