Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργία σταθμού βάσης
- Βήμα 2: Η πρώτη δοκιμή
- Βήμα 3: Δημιουργήστε τη διεπαφή
- Βήμα 4: Προσθέστε μετρητή
- Βήμα 5: Σύρετε μετρητή GPS και προσθέστε OpenStreetMap
- Βήμα 6: Σύρετε το μετρητή GPS και προσθέστε ημερολόγιο πίνακα
- Βήμα 7: Λήψη κώδικα
- Βήμα 8: Arduino IDE
- Βήμα 9: Λεπτομέρειες κωδικοποίησης
Βίντεο: Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σύνδεση: 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
· 5) Προσθήκη χάρτη OpenStreetMap στο γραφείο
Σύροντας το στοιχείο GPS στο χάρτη εικονιδίων, δημιουργείται ο χάρτης OpenStreet.
Δημιουργήστε τη διεπαφή
· 6) Αλλαγή ανανέωσης χάρτη
Αλλάξτε τον χρόνο ανανέωσης του χάρτη από 5000 σε 10000
Βήμα 6: Σύρετε το μετρητή GPS και προσθέστε ημερολόγιο πίνακα
· 7) Προσθέστε ένα μετρητή καταγραφής πίνακα.
Σύροντας το μετρητή πάνω από τον πίνακα εικονιδίων GPS δημιουργείται ημερολόγιο πίνακα μετρητή
· 8) Αλλαγή ανανέωσης ημερολογίου πίνακα. Αλλάξτε τον χρόνο ανανέωσης του χάρτη από 5000 σε 10000
Ρυθμίστε τη θέση των μετρητών
· 9) Οι μετρητές σύρσης προσαρμόζουν τη θέση των μετρητών σύροντάς τους στην οθόνη.
· 10) Αποθήκευση έργου
Βήμα 7: Λήψη κώδικα
10) Ενεργοποιήστε το κοντέινερ κωδικών
Κουμπί στο πάνω δεξί κουμπί, επιλέξτε όλα και αντιγράψτε τον βασικό κώδικα.
Βήμα 8: 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"); // ++
} // ++
}
Αν θέλετε να κατεβάσετε τον κωδικό, επισκεφτείτε αυτήν τη σελίδα.
Συνιστάται:
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: 7 βήματα
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOT Μπορείτε να αγοράσετε από το robot car tracking TheoryLM393 chip σύγκριση των δύο φωτοαντιστάσεων, όταν υπάρχει μία πλευρική φωτοαντίσταση LED στο WHITE η πλευρά του κινητήρα θα σταματήσει αμέσως, η άλλη πλευρά του κινητήρα γυρίστε, έτσι ώστε
ESP32 Με E32-433T LoRa Module Tutorial - Διασύνδεση LoRa Arduino: 8 βήματα
ESP32 Με E32-433T LoRa Module Tutorial | LoRa Arduino Interfacing: Γεια, τι συμβαίνει, παιδιά! Akarsh εδώ από τη CETech. Αυτό το έργο μου διασυνδέει τη μονάδα E32 LoRa από το eByte, η οποία είναι μονάδα πομποδέκτη υψηλής ισχύος 1 watt με ESP32 χρησιμοποιώντας Arduino IDE. Καταλάβαμε τη λειτουργία του E32 στην τελευταία μας διδασκαλία
Έλεγχος οικιακών συσκευών μέσω LoRa - LoRa in Home Automation - Τηλεχειριστήριο LoRa: 8 βήματα
Έλεγχος οικιακών συσκευών μέσω LoRa | LoRa στο Home Automation | Τηλεχειριστήριο LoRa: Ελέγξτε και αυτοματοποιήστε τις ηλεκτρικές σας συσκευές από μεγάλες αποστάσεις (Χιλιόμετρα) χωρίς την παρουσία του διαδικτύου. Αυτό είναι δυνατό μέσω του LoRa! Ρε παιδιά τι γίνεται; Akarsh εδώ από το CETech. Αυτό το PCB διαθέτει επίσης οθόνη OLED και 3 ρελέ τα οποία
ΠΑΝΩ ΑΠΟ ΤΟΝ ΟΡΙΖΟΝΤΗ ΜΕ LoRa RF1276: 12 Βήματα
ΠΑΝΩ ΑΠΟ ΤΟΝ ΟΡΙΖΟΝΤΟ ΜΕ LoRa RF1276: Βρήκα τον πομποδέκτη RF1276 για να προσφέρει την πιο εξαιρετική απόδοση όσον αφορά το εύρος και την ποιότητα του σήματος. Κατά την πρώτη μου πτήση μπόρεσα να φτάσω σε απόσταση 56χλμ σε επίπεδο σήματος -70dB με μικρές κεραίες τετάρτου μήκους κύματος
Ποιος είναι στο My Door; PIR Motion Sensor/Range Sensor Project: 5 Βήματα
Ποιος είναι στο My Door; PIR Motion Sensor/Range Sensor Project: Το έργο μας στοχεύει στην αίσθηση της κίνησης μέσω PIR και αισθητήρων απόστασης. Ο κώδικας Arduino θα εξάγει ένα οπτικό και ηχητικό σήμα για να πει στον χρήστη ότι κάποιος βρίσκεται κοντά. Ο κώδικας MATLAB θα στείλει ένα μήνυμα ηλεκτρονικού ταχυδρομείου για να ειδοποιήσει το χρήστη ότι κάποιος βρίσκεται κοντά. Αυτή η συσκευή