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

LTE Arduino GPS Tracker + IoT Dashboard (Μέρος 2): 6 βήματα (με εικόνες)
LTE Arduino GPS Tracker + IoT Dashboard (Μέρος 2): 6 βήματα (με εικόνες)

Βίντεο: LTE Arduino GPS Tracker + IoT Dashboard (Μέρος 2): 6 βήματα (με εικόνες)

Βίντεο: LTE Arduino GPS Tracker + IoT Dashboard (Μέρος 2): 6 βήματα (με εικόνες)
Βίντεο: Raspberry Pi 3 - 11 Practica DHT11 Enviar datos a servicio local Thingsboard 2024, Ιούλιος
Anonim
Image
Image
Ρύθμιση ThingsBoard
Ρύθμιση ThingsBoard

Εισαγωγή & Μέρος 1 Ανακεφαλαίωση

Ναι, ήρθε η ώρα για ένα ακόμη Instructable στο SIM7000 GPS tracker με Arduino και LTE! Εάν δεν το έχετε κάνει ήδη, ανατρέξτε στο σεμινάριο έναρξης για την ασπίδα Botletics SIM7000 CAT-M/NB-IoT και, στη συνέχεια, διαβάστε το Μέρος 1 του σεμιναρίου παρακολούθησης GPS. Ως εκ τούτου, θα υποθέσω ότι έχετε ρυθμίσει όλο το υλικό και είστε έτοιμοι να δημοσιεύσετε δεδομένα στο cloud, το μόνο που πρέπει να κάνουμε σε αυτό το σεμινάριο είναι να εξοικειωθούμε με το ThingsBoard και να κάνουμε ένα άλλο τεστ για να δούμε τα καταπληκτικά δεδομένα δείχνει!

Στο Μέρος 1 πήραμε με επιτυχία τον έξυπνο εντοπιστή GPS μας να στέλνει δεδομένα στο dweet.io και πήραμε τα δεδομένα στο freeboard.io για να απεικονίσουμε τα δεδομένα. Ωστόσο, σύντομα συνειδητοποίησα ότι η λειτουργικότητα του χάρτη ήταν αρκετά χαλαρή στο freeboard, καθώς δεν σας επιτρέπει να μετακινήσετε τον κέρσορα ή ακόμη και να αλλάξετε το μέγεθος του παραθύρου του γραφικού στοιχείου. Αυτό με οδήγησε σε μια καλύτερη λύση: το ThingsBoard.io που είναι ένας εξαιρετικά φοβερός πίνακας εργαλείων IoT (και δωρεάν!), Ο οποίος σας επιτρέπει να αποθηκεύετε, να οπτικοποιείτε και να προσαρμόζετε το καλό από τα δεδομένα σας! Μπορείτε να σύρετε για να αναδιατάξετε τα γραφικά στοιχεία (και λειτουργεί στο Chrome σε αντίθεση με το freeboard) και η συνολική ποιότητα είναι η κρέμα γάλακτος. Το πιο σημαντικό, το γραφικό στοιχείο Google Map σας επιτρέπει να μετακινείστε ελεύθερα, να μεγεθύνετε και να σμικρύνετε και να επιλέγετε διαφορετικά στυλ (δορυφόρος, θέα στο δρόμο κ.λπ.) και σας επιτρέπει ακόμη να μεταφέρετε και να ρίχνετε τον μικρό κίτρινο στο δρόμο για θέα στο δρόμο !

Βήμα 1: Ρύθμιση ThingsBoard

Ρύθμιση ThingsBoard
Ρύθμιση ThingsBoard
Ρύθμιση ThingsBoard
Ρύθμιση ThingsBoard

Ρύθμιση λογαριασμού & συσκευής ThingsBoard

Το πρώτο πράγμα που πρέπει να κάνετε είναι να μεταβείτε στην αρχική σελίδα του ThingsBoard και, στη συνέχεια, να δημιουργήσετε έναν λογαριασμό κάνοντας κλικ στο κουμπί επάνω δεξιά μενού και επιλέγοντας "Live Demo". Δημιουργήστε έναν λογαριασμό, επαληθεύστε τον λογαριασμό σας σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου που σας στέλνουν και, στη συνέχεια, συνδεθείτε ξανά στην αρχική οθόνη του Live Demo. Αυτό θα σας οδηγήσει σε μια οθόνη όπου μπορείτε να διαχειριστείτε όλες τις συσκευές σας, να επεξεργαστείτε πίνακες ελέγχου κ.λπ.

Στη συνέχεια, επιλέξτε την καρτέλα "Συσκευές" στην αριστερή πλευρά. Αυτό θα πρέπει να εμφανίσει μια δέσμη συσκευών επίδειξης όπως ESP8266, DHT22, Arduino και Pi demos, κ.λπ. Δημιουργήστε μια νέα συσκευή κάνοντας κλικ στο κόκκινο κουμπί "+" κάτω δεξιά και εισαγάγετε ένα όνομα και επιλέξτε "προεπιλογή" για τον τύπο συσκευής. Αφού κάνετε κλικ στην επιλογή "ΠΡΟΣΘΗΚΗ", θα πρέπει να δείτε τη νέα σας συσκευή στην καρτέλα Συσκευές. Κάντε κλικ στο "Διαχείριση διαπιστευτηρίων" και θα εμφανιστεί ένα μικρό παράθυρο που εμφανίζεται και εμφανίζει το διακριτικό πρόσβασης της συσκευής. Αυτό είναι ουσιαστικά το αναγνωριστικό συσκευής και είναι ανάλογο με το αναγνωριστικό συσκευής που χρησιμοποιείται για τη δημοσίευση δεδομένων στο dweet.io. Μπορείτε να αλλάξετε αυτό το αναγνωριστικό συσκευής στον αριθμό IMEI της ασπίδας σας, αν θέλετε, αλλά μπορείτε επίσης να χρησιμοποιήσετε το διακριτικό αυτόματης δημιουργίας. Αντιγράψτε αυτό το διακριτικό καθώς θα το χρειαστείτε στο σκίτσο του Arduino.

Παράδειγμα εγκατάστασης Arduino

Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το ίδιο ακριβώς παράδειγμα σκίτσου Arduino όπως στο πρώτο σεμινάριο, αλλά αυτή τη φορά έχω ενημερώσει το σκίτσο ώστε να περιλαμβάνει κώδικα για την αποστολή δεδομένων απευθείας στο ThingsBoard.io αντί για dweet.io στο Μέρος 1. Όπως πάντα, μπορείτε να βρείτε τον παράδειγμα κώδικα εδώ στο Github.

Το πρώτο πράγμα που πρέπει να κάνετε είναι να σχολιάσετε τις γραμμές που κάνουν την ανάρτηση της ασπίδας στο dweet.io:

// GET request/* // Μπορείτε να προσαρμόσετε το περιεχόμενο του αιτήματος εάν δεν χρειάζεστε ορισμένα πράγματα όπως ταχύτητα, υψόμετρο κ.λπ. sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =%s & long =%s & speed =%s & head =%s & alt=%s & temp =%s & batt =%s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int counter = 0; // Αυτό μετρά τον αριθμό των αποτυχημένων προσπαθειών προσπαθειών

// Δοκιμάστε συνολικά τρεις φορές εάν η ανάρτηση ήταν ανεπιτυχής (δοκιμάστε επιπλέον 2 φορές) ενώ (μετρητής <3 &&! Fona.postData ("GET", URL, "")) {// Προσθέστε τα εισαγωγικά "" ως τρίτα εισαγωγή επειδή για αίτημα GET δεν υπάρχει "σώμα" Serial.println (F ("Αποτυχία δημοσίευσης δεδομένων, επανάληψη…")). μετρητής ++; // Καθυστέρηση μετρητή αύξησης (1000). } */

Στη συνέχεια, καταργήστε το σχολιασμό των γραμμών που δημοσιεύονται στο thingsboard.io:

// Ας δοκιμάσουμε ένα αίτημα POST στο thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Από τη συσκευή thingsboard.io sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", διακριτικό); sprintf (body, "{" latitude / ":%s, \" longitude / ":%s, \" speed / ":%s, \" head / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (σώμα, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // Εάν το μόνο που θέλετε είναι lat/long

int counter = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Απέτυχε η ολοκλήρωση της δημοσίευσης HTTP …")); μετρητής ++; καθυστέρηση (1000)? }

Ανεβάστε τον κωδικό στο Arduino σας, βεβαιωθείτε ότι έχετε συνδέσει την κάρτα SIM και την κεραία και βεβαιωθείτε ότι η ασπίδα στέλνει κώδικα στο cloud πριν προχωρήσετε!

ΣΗΜΕΙΩΣΗ: Το Arduino Uno έχει πολύ λίγη μνήμη (RAM) και η ανάρτηση στο Thingsboard μπορεί να προκαλέσει συντριβή του Arduino. Εάν αντιμετωπίσετε επανεκκίνηση του σκίτσου περίπου στη θέση της συνάρτησης postData () ή άλλης περίεργης συμπεριφοράς, αυτό είναι πιθανότατα αυτό που συμβαίνει. Η εύκολη λύση σε αυτό είναι να ανταλλάξετε το Uno με ένα Arduino Mega ή μια πλακέτα με περισσότερη μνήμη RAM. Μπορείτε επίσης να προσπαθήσετε να ελαχιστοποιήσετε το μέγεθος των συστοιχιών και να χωρίσετε τα δεδομένα σε πολλές αναρτήσεις.

Βήμα 2: Επαλήθευση λήψης δεδομένων

Επαλήθευση λήψης δεδομένων
Επαλήθευση λήψης δεδομένων

Για να επαληθεύσετε πραγματικά ότι τα δεδομένα αποστέλλονται σωστά στο ThingsBoard, μεταβείτε στην ίδια σελίδα λεπτομερειών συσκευής (κάντε κλικ στο πλακίδιο συσκευής GPS Tracker στη σελίδα "Συσκευές") και στη συνέχεια κάντε κλικ στην καρτέλα "Τελευταία τηλεμετρία". Εάν ο ιχνηλάτης GPS σας στέλνει τιμές στο ThingsBoard, θα πρέπει να δείτε τις πιο πρόσφατες τιμές εδώ και θα ενημερωθούν σε πραγματικό χρόνο καθώς μπαίνουν.

Τώρα που επαληθεύσατε ότι το ThingsBoard λαμβάνει πραγματικά τα δεδομένα, ήρθε η ώρα να ρυθμίσετε τον πίνακα ελέγχου, ώστε να μπορούμε να οπτικοποιήσουμε τα δεδομένα μας όταν τα συλλέγουμε! (After μετά το γεγονός)

Βήμα 3: Ρύθμιση πίνακα ελέγχου

Ρύθμιση πίνακα ελέγχου
Ρύθμιση πίνακα ελέγχου
Ρύθμιση πίνακα ελέγχου
Ρύθμιση πίνακα ελέγχου
Ρύθμιση πίνακα ελέγχου
Ρύθμιση πίνακα ελέγχου

Τώρα ήρθε η ώρα για το διασκεδαστικό κομμάτι! Τώρα κάντε κλικ στην καρτέλα "Πίνακες ελέγχου" στα αριστερά και επιλέξτε τη συσκευή παρακολούθησης GPS. Αυτό θα εμφανίσει μια νέα σελίδα που θα σας ζητά να προσθέσετε widget. Κάντε κλικ στο κάτω δεξί κουμπί "+" και "δημιουργία νέου γραφικού στοιχείου" για να εμφανιστεί ένα αναπτυσσόμενο μενού γραφικών στοιχείων για να διαλέξετε. Προς το παρόν ας προσθέσουμε έναν "ψηφιακό μετρητή". Η επιλογή αυτού θα πρέπει να φορτώσει μια δέσμη προεπισκοπήσεων για όλους τους διαφορετικούς τύπους ψηφιακών μετρητών από τους οποίους μπορείτε να επιλέξετε. Όταν κάνετε κλικ σε ένα θα εμφανιστεί μια άλλη οθόνη για να ρυθμίσετε τις παραμέτρους του γραφικού στοιχείου. Το πρώτο πράγμα που πρέπει να προσθέσετε είναι η πηγή δεδομένων (η συσκευή παρακολούθησης GPS που στέλνει τα δεδομένα στο ThingsBoard). Πατήστε το κουμπί "+ ΠΡΟΣΘΗΚΗ" και επιλέξτε τη συσκευή σας "GPS Tracker" και επιλέξτε την κατάλληλη μεταβλητή που θέλετε να εμφανίζεται το γραφικό στοιχείο. Σε αυτή την περίπτωση, ας επιλέξουμε τη μεταβλητή "temp" (θερμοκρασία).

Τώρα αν θέλετε να προσθέσετε πράγματα όπως ένας τίτλος για το γραφικό στοιχείο, μεταβείτε στην καρτέλα "Ρυθμίσεις", επιλέξτε "Εμφάνιση τίτλου" και εισαγάγετε έναν τίτλο. Υπάρχουν πολλά άλλα πράγματα που μπορείτε να κάνετε στην καρτέλα "Για προχωρημένους", αλλά θα σας αφήσω να τα διερευνήσετε μόνοι σας! Διασκεδάστε αλλάζοντας το εύρος τιμών, το κείμενο της ετικέτας, τα χρώματα και πολλά άλλα! Αφού προσθέσετε το γραφικό στοιχείο, θα εμφανιστεί στο κάτω αριστερό μέρος του πίνακα ελέγχου (ίσως χρειαστεί να κάνετε κύλιση προς τα κάτω εάν έχετε πολλά γραφικά στοιχεία που γεμίζουν την οθόνη). Μπορείτε να επεξεργαστείτε το γραφικό στοιχείο ανά πάσα στιγμή πατώντας το κουμπί στο γραφικό στοιχείο εάν είστε ήδη στη λειτουργία επεξεργασίας του πίνακα ελέγχου ή μπείτε στη λειτουργία επεξεργασίας πατώντας το κουμπί μολυβιού στο κάτω δεξιά μέρος ολόκληρης της οθόνης για να σας επιτρέψει να επεξεργαστείτε τα widgets. Αρκετά απλή!

Βήμα 4: Προσθήκη χάρτη

Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!
Προσθήκη χάρτη!

Τώρα για ένα tracker GPS ένας χάρτης είναι απαραίτητο! Ας προσθέσουμε ένα δημιουργώντας ένα νέο widget (κάτω δεξιά κουμπί "+" ξανά) και αυτή τη φορά μετακινηθείτε προς τα κάτω και επιλέξτε "Χάρτες". Προχωρήστε και κάντε κλικ σε ένα και θα εμφανιστούν οι επιλογές για αυτό. Προσθέστε την πηγή δεδομένων ως συνήθως, αλλά αυτή τη φορά, επιλέξτε μεταβλητές "lat" και "long", καθώς θα χρειαστούν και τις δύο για να λάβετε την τοποθεσία. Στη συνέχεια, μεταβείτε στην καρτέλα "Ρυθμίσεις" και εδώ μπορείτε να ορίσετε το χρονικό παράθυρο των δεδομένων που θα εμφανίζονται στο χάρτη. Για παράδειγμα, μπορεί να θέλετε να εμφανίζονται μόνο τα τελευταία 2 λεπτά δεδομένων, ή να θέλετε όλα τα δεδομένα από χθες, ή να θέλετε απλώς ένα σταθερό παράθυρο στο χρόνο (όπως 2μμ χθες έως 10πμ σήμερα).

Εάν θέλετε, μπορείτε στη συνέχεια να μεταβείτε στην καρτέλα "Για προχωρημένους" και να επιλέξετε τον τύπο χάρτη (οδικός χάρτης, δορυφόρος, υβρίδιο ή έδαφος). Perhapsσως το πιο σημαντικό μέρος όλων αυτών είναι ο έλεγχος των ονομάτων κλειδιών γεωγραφικού πλάτους και γεωγραφικού μήκους. Βεβαιωθείτε ότι αυτά τα ονόματα αντιστοιχούν ακριβώς στα ονόματα μεταβλητών που στέλνετε πραγματικά στο ThingsBoard. Για παράδειγμα, εάν το σκίτσο του Arduino λέει ότι στέλνει μεταβλητές "lat" και "long" (οι οποίες είναι από προεπιλογή), τότε πρέπει να αλλάξετε τα ονόματα των κλειδιών σε "lat" και "long" και χρησιμοποιώντας "γεωγραφικό πλάτος" και "γεωγραφικό μήκος" δεν θα πάρει τα δεδομένα σας!

Και πάλι, μετά την προσθήκη του χάρτη θα εμφανιστεί στο κάτω μέρος του ταμπλό. Απλώς σύρετέ το για να το επανατοποθετήσετε στον πίνακα ελέγχου και κάντε κλικ και σύρετε τις άκρες για να αλλάξετε το μέγεθος. Εάν το παράθυρό σας είχε ρυθμιστεί σωστά, θα πρέπει να δείτε την τρέχουσα τοποθεσία σας να εμφανίζεται στο χάρτη. Σούπερ τακτοποιημένο ε; Τώρα είμαστε έτοιμοι για μια πραγματική δοκιμή!

Βήμα 5: Δοκιμή δρόμου

Δοκιμή δρόμου
Δοκιμή δρόμου
Δοκιμή δρόμου
Δοκιμή δρόμου

Η δοκιμή του GPS tracker είναι εξαιρετικά απλή! Απλώς συνδέστε το Arduino σε προσαρμογέα USB αυτοκινήτου για να το τροφοδοτήσετε, βεβαιωθείτε ότι ανάβει η πράσινη λυχνία LED και θα πρέπει να αρχίσει να στέλνει δεδομένα! Για να αλλάξετε το ρυθμό δειγματοληψίας του GPS tracker, βεβαιωθείτε ότι βρίσκετε αυτήν τη γραμμή κώδικα στο παράδειγμα σκίτσο:

#define samplingΑξιολόγηση 10 // Ο χρόνος μεταξύ των αναρτήσεων, σε δευτερόλεπτα

και ρυθμίστε το σε ό, τι θέλετε. Διαπίστωσα ότι το 10s λειτουργεί αρκετά καλά για μια χαλαρή δοκιμή δρόμου, αλλά αν είστε γρήγοροι και έξαλλοι ίσως να θέλετε ένα ακόμη υψηλότερο ποσοστό δειγματοληψίας!

Βήμα 6: Αποτελέσματα

Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα
Αποτελέσματα

Στις παραπάνω εικόνες μπορείτε να δείτε τη ρύθμιση του ταμπλό μου. Πρόσθεσα γραφήματα στα γραφήματα ιστορικών δεδομένων για πράγματα όπως η ταχύτητα, το υψόμετρο και η θερμοκρασία και συμπεριλάμβανα μετρητές σε πραγματικό χρόνο σε περίπτωση που θέλω να τους δω σε πραγματικό χρόνο σε άλλο οδικό ταξίδι (απεικονίστε το σε RV!).

Ο χάρτης ήταν φοβερός δολοφόνος και κατάφερα να συλλέξω μερικά πραγματικά ακριβή δεδομένα για μια διαδρομή που ακολούθησα. Επίσης, τα δεδομένα ταχύτητας ήταν εξαιρετικά ακριβή επειδή ποτέ δεν ξεπεράσαμε τα περίπου 40 μίλια / ώρα (το γράφημα είναι σε χιλιόμετρα / ώρα) στους δρόμους της πόλης. Οι πολλές διακυμάνσεις της ταχύτητας εξηγούνται από τα φανάρια. Συνολικά, εξαιρετικά αποτελέσματα και φανταστείτε σε τι άλλο θα μπορούσαμε να το χρησιμοποιήσουμε! Θα μπορούσατε να το εγκαταστήσετε σε RV, μοτοσικλέτα, αυτοκίνητο κ.λπ. και να το παρακολουθείτε συνεχώς και να ανεβάζετε τα αποτελέσματα στο ThingsBoard!

Συνοψίζοντας, σε αυτό το σεμινάριο προγραμματίσαμε τον εντοπιστή GPS μας να στέλνει δεδομένα απευθείας στο ThingsBoard μέσω αιτημάτων HTTP POST και διαχειριζόμαστε τα δεδομένα σε έναν πίνακα ελέγχου. Μπορείτε να προσθέσετε πολλές συσκευές και πίνακες εργαλείων, καθένα από τα οποία περιέχει πολλά widget που φαίνονται εξαιρετικά δροσερά και έχουν πολλές επιλογές προσαρμογής! Το ThingsBoard έχει αποδειχθεί ότι είναι ένα πολύ ισχυρό (και δωρεάν!) Εργαλείο για την προβολή δεδομένων IoT και υπάρχουν ακόμη και άλλες δυνατότητες που δεν έχω καν χαράξει. Μη διστάσετε να παίξετε με αυτό και να δείτε τι θα βρείτε.

  • Αν σας άρεσε αυτό το σεμινάριο, φτιάξατε το δικό σας ή έχετε οποιεσδήποτε ερωτήσεις, κάντε ένα σχόλιο παρακάτω!
  • Φροντίστε να δώσετε καρδιά σε αυτό το Instructable και εγγραφείτε εδώ και στο κανάλι μου στο YouTube για πιο φοβερά μαθήματα που σχετίζονται με το Arduino!
  • Αν θέλετε να υποστηρίξετε αυτό που κάνω, σκεφτείτε να αγοράσετε τη δική σας ασπίδα Botletics SIM7000 στο Amazon.com!

Με αυτό, θα τα πούμε την επόμενη φορά!

Συνιστάται: