Πίνακας περιεχομένων:
- Βήμα 1: Μέρη & εργαλείο
- Βήμα 2: Βρείτε το API Google
- Βήμα 3: Εγκατάσταση του NodeMCu στο Arduino IDE
- Βήμα 4: Κατεβάστε τη βιβλιοθήκη ArduinoJson
- Βήμα 5: Πρόγραμμα
Βίντεο: ΓΕΩΛΟΑΚΩΣΗ: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Είναι το καλοκαιρινό μου πρόγραμμα πρακτικής άσκησης. Πραγματικά εκπλήσσομαι όταν ακούω ότι μπορούμε να εντοπίσουμε την τοποθεσία οποιασδήποτε συσκευής χωρίς τη χρήση μονάδας GPS μόνο χρησιμοποιώντας το NodeMCU. Μέσω αυτού μπορούμε να εντοπίσουμε οποιαδήποτε συσκευή. Μπορείτε επίσης να εκπλήξετε πώς μπορούμε να εντοπίσουμε τη συσκευή χρησιμοποιώντας μόνο WiFi. Εδώ είναι η περιγραφή του είδους για να το καταλάβετε.
- · Σαρώνει σχεδόν όλα τα WiFi σας.
- · Αποστολή αυτής της τοποθεσίας συσκευής στην Google χρησιμοποιώντας το Google API
- · Σύμφωνα με αυτό, Εντοπίστε τη θέση της συσκευής σας
- · Έχετε ισχυρή σύνδεση δικτύου για αυτό το έργο.
Βήμα 1: Μέρη & εργαλείο
Ανταλλακτικά
- NodeMCU (ESP8266 1.0 12E)
- Καλώδιο USB
Εργαλεία
Arduino IDE με πίνακα NodeMcu 1.0 12E
API Google
Βήμα 2: Βρείτε το API Google
- Ανοίξτε το πρόγραμμα περιήγησής σας και πληκτρολογήστε: console.developer.google.com
- Δημιουργήστε ένα νέο έργο
- Αφού δημιουργήσετε ένα νέο έργο, κάντε κλικ στο διαπιστευτήριο
- Κάντε κλικ στο κλειδί API
-
Το κλειδί σας API δημιουργήθηκε
Για ευκολότερη κατανόηση δείτε την παρακάτω εικόνα |>
Βήμα 3: Εγκατάσταση του NodeMCu στο Arduino IDE
- Κατεβάστε το Arduino IDE από τον ακόλουθο σύνδεσμο:- https:// www. Κύρια/Λογισμικό arduino.cc/el/
- Προσθέστε τον πίνακα Node MCu στο Arduino IDE
-
Για τη μεταφόρτωση κώδικα στο NodeMCU πρέπει να προσθέσετε τον πίνακα NodeMCu στο ARDUINO IDE.
- Μετάβαση στο αρχείο & Προτίμηση στο Arduino IDE
- Και στην πρόσθετη ενότητα διαχείρισης πίνακα αντιγράψτε τον ακόλουθο σύνδεσμο
-
arduino.esp8266.com/stable/package_esp8266c…
- και κάντε κλικ στο OK
- Ο πίνακας κατεβαίνει
- Μεταβείτε στα εργαλεία και στον πίνακα και επιλέξτε NodeMCU 1.0 12E
- Δείτε την εικόνα avobe για εύκολη κατανόηση
Βήμα 4: Κατεβάστε τη βιβλιοθήκη ArduinoJson
- μεταβείτε στο
Sketch Include Library Διαχείριση βιβλιοθήκης
Πληκτρολογήστε Arduino Json στο πλαίσιο αναζήτησης
Κατεβάστε την τελευταία έκδοση της βιβλιοθήκης ArduinoJson
μετά τη λήψη της βιβλιοθήκης κάντε κλικ στο κλείσιμο
Προσθήκη βιβλιοθήκης από
SketchincludeLibraryArduinoJson
Βήμα 5: Πρόγραμμα
Ανεβάστε το ακόλουθο πρόγραμμα στον πίνακα NodeMCU. και δείτε τη θέση της συσκευής σας (πλακέτα NodeMCU 1.0 12E) στη Σειριακή οθόνη.
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
char myssid = "Το SSID σας"; // SSID δικτύου σας (όνομα)
char mypass = "Ο κωδικός πρόσβασής σας"; // τον κωδικό πρόσβασης δικτύου σας
// Διαπιστευτήρια για το Google GeoLocation API…
const char* Host = "www.googleapis.com";
Συμβολοσειρά thisPage = "/geolocation/v1/geolocate? Key =";
// --- Λάβετε ένα κλειδί ap google maps εδώ:
developers.google.com/maps/documentation/geolocation/intro
Κλειδί συμβολοσειράς = "Το κλειδί σας API Google"; // Εύρεση από το βήμα 2
Εντολή
int κατάσταση = WL_IDLE_STATUS;
String jsonString = "{ n";
διπλό γεωγραφικό πλάτος = 0,0;
διπλό γεωγραφικό μήκος = 0,0;
διπλή ακρίβεια = 0,0;
int more_text = 1; // ορίζεται σε 1 για περισσότερη έξοδο εντοπισμού σφαλμάτων
void setup () {
Serial.begin (9600);
Serial.println ("Έναρξη");
// Ορίστε το WiFi στη λειτουργία σταθμού και
αποσυνδεθείτε από ένα AP εάν ήταν προηγουμένως συνδεδεμένο
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
καθυστέρηση (100)?
Serial.println ( Εγκατάσταση
Έγινε );
// Ξεκινάμε συνδέοντας το a
Δίκτυο 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;
Serial.println ("έναρξη σάρωσης");
// WiFi.scanNetworks θα επιστρέψει
ο αριθμός των δικτύων που βρέθηκαν
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
αν (n == 0)
Serial.println ("δεν βρέθηκαν δίκτυα");
αλλού
{
Serial.print (n);
Serial.println ("networkfound …");
αν (more_text) {
// Εκτυπώστε το μορφοποιημένο json…
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // αυτό είναι ένα πραγματικό βρετανικό MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // και ένα πραγματικό βρετανικό MNC
Serial.println ("\" radioType / ": \" gsm / ","); // για gsm
Serial.println ("\" carrier / ": \" Vodafone / ","); // που σχετίζεται με τη Vodafone
Serial.println ("\" cellTowers / ": ["); // Δεν αναφέρω πύργους κυψελών
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
για (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
αν (i <n - 1)
{
Serial.println ("},");
}
αλλού
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// τώρα δημιουργήστε το jsonString…
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // αυτό είναι ένα πραγματικό βρετανικό MCC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // και ένα πραγματικό βρετανικό MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // για gsm
jsonString += "\" φορέας / ": \" Vodafone / ", / n"; // που σχετίζεται με τη Vodafone
jsonString += "\" wifiAccessPoints / ": [n";
για (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
αν (j <n - 1)
{
jsonString += "}, / n";
}
αλλού
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure πελάτης.
// Συνδεθείτε με τον πελάτη και πραγματοποιήστε κλήση api
Serial.print ("Αίτημα URL:");
// ---- Λάβετε το Api Key των Χαρτών Google εδώ, Σύνδεσμος:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Συνδεδεμένο");
client.println ("POST" + thisPage + key + "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');
αν (more_text) {
Serial.print (γραμμή);
}
JsonObject & root = jsonBuffer.parseObject (γραμμή);
εάν (root.success ()) {
γεωγραφικό πλάτος = root ["location"] ["lat"];
γεωγραφικό μήκος = ρίζα ["τοποθεσία"] ["lng"];
ακρίβεια = ρίζα ["ακρίβεια"];
}
}
Serial.println ("κλείσιμο σύνδεσης");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (γεωγραφικό πλάτος, 6);
Serial.print ("Γεωγραφικό μήκος =");
Serial.println (γεωγραφικό μήκος, 6);
Serial.print ("Ακρίβεια =");
Serial.println (ακρίβεια);
καθυστέρηση (10000)?
Serial.println ();
Serial.println ("Επανεκκίνηση …");
Serial.println ();
καθυστέρηση (2000).
}
Συνιστάται:
Πώς να φτιάξετε 4G LTE Double BiQuade Antenna Εύκολα Βήματα: 3 Βήματα
Πώς να κάνετε εύκολα 4G LTE διπλή κεραία BiQuade Antenna: Τις περισσότερες φορές αντιμετώπισα, δεν έχω καλή ισχύ σήματος στις καθημερινές μου εργασίες. Ετσι. Searchάχνω και δοκιμάζω διάφορους τύπους κεραίας αλλά δεν δουλεύω. Μετά από σπατάλη χρόνου βρήκα μια κεραία που ελπίζω να φτιάξω και να δοκιμάσω, γιατί δεν είναι η βασική αρχή
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: 5 βήματα
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: Το Flick είναι ένας πραγματικά απλός τρόπος δημιουργίας ενός παιχνιδιού, ειδικά κάτι σαν παζλ, οπτικό μυθιστόρημα ή παιχνίδι περιπέτειας
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: 3 βήματα
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: Σε αυτό το Instructable πρόκειται να πραγματοποιήσουμε ανίχνευση προσώπου στο Raspberry Pi 4 με το Shunya O/S χρησιμοποιώντας τη βιβλιοθήκη Shunyaface. Το Shunyaface είναι μια βιβλιοθήκη αναγνώρισης/ανίχνευσης προσώπου. Το έργο στοχεύει στην επίτευξη της ταχύτερης ταχύτητας ανίχνευσης και αναγνώρισης με
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): 4 βήματα
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): Σε αυτήν την ανάρτηση, έφτιαξα ένα DIY Vanity Mirror με τη βοήθεια των λωρίδων LED. Είναι πραγματικά υπέροχο και πρέπει να τα δοκιμάσετε επίσης