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

Παρακολούθηση τοποθεσίας με NodeMCU ESP8266: 10 βήματα
Παρακολούθηση τοποθεσίας με NodeMCU ESP8266: 10 βήματα

Βίντεο: Παρακολούθηση τοποθεσίας με NodeMCU ESP8266: 10 βήματα

Βίντεο: Παρακολούθηση τοποθεσίας με NodeMCU ESP8266: 10 βήματα
Βίντεο: Εισαγωγή στον πίνακα ανάπτυξης WiFi NodeMCU ESP8266 με παράδειγμα HTTP Client 2024, Νοέμβριος
Anonim
Παρακολούθηση τοποθεσίας με NodeMCU ESP8266
Παρακολούθηση τοποθεσίας με NodeMCU ESP8266

Είστε περίεργοι για το πώς το NodeMCU μπορεί να παρακολουθεί την τοποθεσία σας; Είναι δυνατό, ακόμη και χωρίς μονάδα GPS και χωρίς οθόνη. Η έξοδος θα είναι συντεταγμένες όπου βρίσκεστε και θα τις δείτε στη σειριακή οθόνη σας.

Η ακόλουθη ρύθμιση χρησιμοποιήθηκε για το NodeMCU 1.0 (μονάδα ESP-12E) με Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Βήμα 1: Τι χρειάζεστε

Αυτό που χρειάζεστε για να ακολουθήσετε αυτό το σεμινάριο είναι τα ακόλουθα στοιχεία:

  • Καλώδιο Micro USB
  • NodeMCU ESP8266

Επιπλέον, θα χρειαστείτε:

  • LocationAPI (από Unwired Labs)
  • Πρόσβαση σε wifi ή hotspot

Βήμα 2: Μεταβείτε στα Unwired Labs

Μεταβείτε στα Unwired Labs
Μεταβείτε στα Unwired Labs

Η γεωγραφική τοποθεσία είναι πολύ βολική γιατί όταν το GPS σας είναι απενεργοποιημένο, μπορείτε ακόμα να χρησιμοποιήσετε το Geolocation για να παρακολουθείτε την τοποθεσία σας. Ο οικοδεσπότης μας που παρέχει γεωγραφική τοποθεσία, θα είναι https://www.unwiredlabs.com/. Μεταβείτε σε αυτόν τον ιστότοπο και εγγραφείτε (το πορτοκαλί κουμπί στην επάνω δεξιά γωνία).

Βήμα 3: Εγγραφείτε για να λάβετε το API Token

Εγγραφείτε για να λάβετε το API Token
Εγγραφείτε για να λάβετε το API Token

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

Βήμα 4: Ελέγξτε το email σας

Μεταβείτε στο email σας και θα δείτε το διακριτικό API. Αντιγράψτε το διακριτικό API, επειδή το χρειάζεστε για τον κώδικα που θα χρησιμοποιήσουμε. Κάπως έτσι φαίνεται το email:

Γειά σου!

Ευχαριστούμε για την εγγραφή σας στο Unwired Labs LocationAPI! Το διακριτικό API είναι "ο κωδικός σας API είναι εδώ" (χωρίς εισαγωγικά). Αυτό θα δώσει 100 αιτήματα/ ημέρα δωρεάν - για πάντα.

Εάν θέλετε να παρακολουθείτε δωρεάν 5 συσκευές, απαντήστε με τις ακόλουθες λεπτομέρειες και θα αναβαθμίσουμε τον λογαριασμό σας εντός 12 ωρών:

1. Τύπος ανάπτυξης (Υλικό/ Εφαρμογή/ Άλλο):

2. Σχετικά με το έργο σας:

3. Ιστοσελίδα:

Μπορείτε να συνδεθείτε στον πίνακα ελέγχου εδώ: https://unwiredlabs.com/dashboard. Εάν αντιμετωπίζετε προβλήματα ή έχετε απορίες, απαντήστε σε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου και θα σας βοηθήσω!

Καλή τοποθεσία!

Sagar

Ασύρματα εργαστήρια

Βήμα 5: Βιβλιοθήκες που θα χρειαστείτε

Βιβλιοθήκες που θα χρειαστείτε
Βιβλιοθήκες που θα χρειαστείτε

Το επόμενο βήμα είναι να ανοίξετε το Arduino και να μεταβείτε στη διαχείριση βιβλιοθηκών. Πρέπει να εγκαταστήσετε τη βιβλιοθήκη ArduinoJson. Οι άλλες βιβλιοθήκες είναι ήδη ενσωματωμένες. Όταν είστε έτοιμοι, μπορείτε να αρχίσετε να γράφετε τον κώδικα.

Βήμα 6: Προσθέστε κώδικα στο Arduino για σύνδεση με το LocationAPI

Δημιουργήστε ένα νέο σκίτσο και προσθέστε τον ακόλουθο κώδικα στο Arduino. Γράψτε το δικό σας όνομα wifi/hotspot και τον κωδικό πρόσβασής σας. Επικολλήστε το διακριτικό API που λάβατε στο μήνυμα ηλεκτρονικού ταχυδρομείου. Ανεβάστε τον κωδικό σας στο NodeMCU.

#περιλαμβάνω

#περιλαμβάνω

#include "ESP8266WiFi.h"

// SSID δικτύου (όνομα) & κωδικός πρόσβασης δικτύου

char myssid = "Το όνομά σας wifi/hotspot"; char mypass = "Ο κωδικός πρόσβασής σας";

// unwiredlabs Όνομα κεντρικού υπολογιστή και διεύθυνση URL τελικού σημείου γεωεντοπισμού

const char* Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";

// UnwiredLabs API_Token. Εγγραφείτε εδώ για να λάβετε ένα δωρεάν διακριτικό

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Μεταβλητές για αποθήκευση απόκρισης σε μη ετικέτες

διπλό γεωγραφικό πλάτος = 0,0; διπλό γεωγραφικό μήκος = 0,0; διπλή ακρίβεια = 0,0;

void setup () {

Serial.begin (115200);

// Ρυθμίστε το WiFi σε λειτουργία σταθμού και αποσυνδεθείτε από ένα AP εάν ήταν προηγουμένως συνδεδεμένο

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Η εγκατάσταση ολοκληρώθηκε");

// Ξεκινάμε συνδέοντας ένα δίκτυο WiFi

Serial.print ("Σύνδεση σε"); Serial.println (myssid); WiFi.begin (myssid, mypass);

ενώ (WiFi.status ()! = WL_CONNECTED) {

καθυστέρηση (500)? Serial.print ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks θα επιστρέψει τον αριθμό των δικτύων που βρέθηκαν

int n = WiFi.scanNetworks (); Serial.println ("σάρωση ολοκληρώθηκε");

αν (n == 0) {

Serial.println ("Δεν υπάρχουν διαθέσιμα δίκτυα"); } else {Serial.print (n); Serial.println ("βρέθηκαν δίκτυα"); }

// τώρα δημιουργήστε το jsonString…

jsonString = "{ n"; jsonString += "\" διακριτικό / ": \" "; jsonString += διακριτικό; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; για (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" σήμα / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; εάν (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure πελάτης.

// Συνδεθείτε με τον πελάτη και πραγματοποιήστε κλήση api

Serial.println ("Αίτημα URL: https://" + (String) Host + τελικό σημείο); if (client.connect (Host, 443)) {Serial.println ("Συνδεδεμένο"); client.println ("POST" + τελικό σημείο + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Σύνδεση: κλείσιμο"); client.println ("Τύπος περιεχομένου: εφαρμογή/json"); client.println ("User-Agent: Arduino/1.0"); client.print ("Περιεχόμενο-Μήκος:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); καθυστέρηση (500)? }

// Διαβάστε και αναλύστε όλες τις γραμμές της απάντησης από το διακομιστή

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (γραμμή); if (root.success ()) {latitude = root ["lat"]; γεωγραφικό μήκος = ρίζα ["lon"]; ακρίβεια = ρίζα ["ακρίβεια"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (γεωγραφικό πλάτος, 6); Serial.print ("Γεωγραφικό μήκος ="); Serial.println (γεωγραφικό μήκος, 6); Serial.print ("Ακρίβεια ="); Serial.println (ακρίβεια); }}

Serial.println ("κλείσιμο σύνδεσης");

Serial.println (); client.stop ();

καθυστέρηση (5000)?

}

Βήμα 7: Ανοίξτε τη Σειριακή οθόνη για να δείτε αν είστε συνδεδεμένοι

Μεταβείτε στα εργαλεία στο Arduino και ανοίξτε τη σειριακή οθόνη. Για να δείτε εάν είστε συνδεδεμένοι στο διαδίκτυο, θα πρέπει να δείτε τα ακόλουθα στη σειριακή οθόνη:

Η ρύθμιση ολοκληρώθηκε

Η σύνδεση με (το όνομα wifi σας)… η σάρωση ολοκληρώθηκε

Βήμα 8: Λάβετε τις Συντεταγμένες

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

Διεύθυνση URL αιτήματος:

Συνδεδεμένος

Γεωγραφικό πλάτος = 52.385259

Γεωγραφικό μήκος = 5.196099

Ακρίβεια = 41,00

κλείσιμο σύνδεσης

Μετά από 5 δευτερόλεπτα ο κώδικας θα ενημερώνεται συνεχώς και πιθανότατα θα δείτε το γεωγραφικό πλάτος, το γεωγραφικό μήκος και η ακρίβεια να αλλάζουν. Αυτό συμβαίνει επειδή το API προσπαθεί καλύτερα να παρακολουθεί την τοποθεσία όσο το δυνατόν ακριβέστερα.

Βήμα 9: Μεταβείτε στους Χάρτες Google

Μεταβείτε στους Χάρτες Google
Μεταβείτε στους Χάρτες Google

Μεταβείτε στη διεύθυνση https://www.google.com/maps/ και πληκτρολογήστε τις συντεταγμένες σας στη γραμμή αναζήτησης. Οι συντεταγμένες πρέπει να γραφτούν με τον ακόλουθο τρόπο: 52.385259, 5.196099. Οι Χάρτες Google πρέπει να δείχνουν πού βρίσκεστε στο χάρτη.

Βήμα 10: Αποστολή τοποθεσίας στο κινητό σας

Αποστολή τοποθεσίας στο κινητό σας
Αποστολή τοποθεσίας στο κινητό σας

Και… τελειώσατε! Επομένως, εάν θέλετε να στείλετε την τοποθεσία στο κινητό σας, είναι δυνατό. Εάν θέλετε, οι Χάρτες Google θα στείλουν ένα email με τις συντεταγμένες σας.

Καλή τοποθεσία!

Συνιστάται: