Satura rādītājs:
- 1. darbība: detaļas un rīks
- 2. darbība. Atrodiet Google API
- 3. darbība: iestatiet NodeMCu Arduino IDE
- 4. darbība: lejupielādējiet ArduinoJson bibliotēku
- 5. solis: programma
Video: ĢEOLOAKCIJA: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Tas ir mans vasaras prakses projekts. Es patiešām brīnos, kad dzirdu, ka mēs varam izsekot jebkuras ierīces atrašanās vietai, neizmantojot GPS moduli, tikai izmantojot NodeMCU. Izmantojot šo, mēs varam izsekot jebkurai ierīcei. Jūs arī pārsteidzat, kā mēs varam izsekot ierīci, izmantojot tikai WiFi. Šeit ir veida apraksts, lai to saprastu.
- · Tas skenē gandrīz visu WiFi.
- · Nosūtiet šīs ierīces atrašanās vietu Google, izmantojot Google API
- · Saskaņā ar to ir atrodama jūsu ierīces atrašanās vieta
- · Jums ir spēcīgs tīkla savienojums šim projektam.
1. darbība: detaļas un rīks
Daļas
- NodeMCU (ESP8266 1.0 12E)
- USB kabelis
Rīki
Arduino IDE ar NodeMcu 1.0 12E plati
Google API
2. darbība. Atrodiet Google API
- Atveriet pārlūkprogrammu un ierakstiet: console.developer.google.com
- Izveidojiet jaunu projektu
- Pēc jauna projekta izveidošanas noklikšķiniet uz akreditācijas datiem
- Noklikšķiniet uz API atslēgas
- Jūsu API atslēga ir ģenerēta
Lai viegli saprastu, skatiet šo attēlu |>
3. darbība: iestatiet NodeMCu Arduino IDE
- Lejupielādējiet Arduino IDE no šīs saites:- https:// www. Galvenā/Programmatūra arduino.cc/en/
- Pievienojiet Node MCu plati Arduino IDE
-
Lai augšupielādētu kodu NodeMCU, jums jāpievieno NodeMCu tāfele ARDUINO IDE.
- Dodieties uz failu un preferenci Arduino IDE
- Un papildu padomes pārvaldības sadaļā nokopējiet šo saiti
- arduino.esp8266.com/stable/package_esp8266c…
- un noklikšķiniet uz Labi
- Dēlis ir lejupielādēts
- Dodieties uz rīkiem un tāfeli un atlasiet NodeMCU 1.0 12E
- Skatiet avobe attēlu, lai to būtu vieglāk saprast
4. darbība: lejupielādējiet ArduinoJson bibliotēku
- Dodieties uz
Skice Iekļaut bibliotēku Pārvaldīt bibliotēku
Meklēšanas lodziņā ierakstiet Arduino Json
Lejupielādējiet ArduinoJson bibliotēkas jaunāko versiju
pēc bibliotēkas lejupielādes noklikšķiniet uz aizvērt
Pievienot bibliotēku no
SketchincludeLibraryArduinoJson
5. solis: programma
Augšupielādējiet šādu programmu NodeMCU panelī. un skatiet savas ierīces (NodeMCU 1.0 12E plate) atrašanās vietu sērijas monitorā.
#iekļaut
#iekļaut
#iekļaut
char myssid = "Tavs SSID"; // jūsu tīkla SSID (nosaukums)
char mypass = "Jūsu parole"; // jūsu tīkla parole
// Google GeoLocation API akreditācijas dati…
const char* Saimnieks = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Iegūstiet google maps ap atslēgu šeit:
developers.google.com/maps/documentation/geolocation/intro
String key = "Jūsu Google API atslēga"; // Atrast no 2. darbības
Instrukcija
int statuss = WL_IDLE_STATUS;
String jsonString = "{ n";
dubults platums = 0,0;
dubultā garums = 0,0;
dubultā precizitāte = 0,0;
int more_text = 1; // iestatiet uz 1, lai iegūtu vairāk atkļūdošanas rezultātu
void setup () {
Sērijas sākums (9600);
Serial.println ("Sākt");
// Iestatiet WiFi stacijas režīmā un
atvienojiet no piekļuves punkta, ja tas iepriekš bija pievienots
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
kavēšanās (100);
Serial.println ( Iestatīšana
darīts );
// Mēs sākam, izveidojot savienojumu ar a
WiFi tīkls
Serial.print ( Savienojuma izveide ar
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
kamēr (WiFi.status ()! = WL_CONNECTED) {
kavēšanās (500);
Sērijas nospiedums (".");
}
Sērijas.println (".");
}
void loop () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("skenēšanas sākums");
// WiFi.scanNetworks atgriezīsies
atrasto tīklu skaits
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
ja (n == 0)
Serial.println ("netika atrasti tīkli");
citādi
{
Sērijas nospiedums (n);
Serial.println ("atrastie tīkli …");
ja (vairāk_teksts) {
// Izdrukājiet formatēto json…
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // tas ir īsts AK KC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // un īsts UK MNC
Serial.println ("\" radioType / ": \" gsm / ","); // par gsm
Serial.println ("\" pārvadātājs / ": \" Vodafone / ","); // saistīts ar Vodafone
Serial.println ("\" cellTowers / ": ["); // Es nepaziņoju par nevienu šūnu torni
Sērijas.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
par (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Sērijas nospiedums (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
ja (i <n - 1)
{
Serial.println ("},");
}
citādi
{
Serial.println ("}");
}
}
Sērijas.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// tagad izveidojiet jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // tas ir īsts AK KC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // un īsts UK MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // par gsm
jsonString += "\" pārvadātājs / ": \" Vodafone / ", / n"; // saistīts ar Vodafone
jsonString += "\" wifiAccessPoints / ": [n";
par (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
ja (j <n - 1)
{
jsonString += "}, / n";
}
citādi
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure klients;
// Izveidojiet savienojumu ar klientu un veiciet api zvanu
Serial.print ("Pieprasot URL:");
// ---- Iegūstiet Google Maps Api atslēgu šeit, saite:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
ja (client.connect (resursdators, 443)) {
Serial.println ("Savienots");
client.println ("POST" + šī lapa + atslēga + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Savienojums: aizvērt");
client.println ("Satura tips: lietojumprogramma/json");
client.println ("Lietotāja aģents: Arduino/1.0");
client.print ("Content-Length:");
klients.println (jsonString.length ());
klients.println ();
client.print (jsonString);
kavēšanās (500);
}
// Izlasiet un parsējiet visas rindiņas
atbilde no servera
while (client.available ()) {
String line = client.readStringUntil ('\ r');
ja (vairāk_teksts) {
Serial.print (line);
}
JsonObject & root = jsonBuffer.parseObject (līnija);
ja (root.success ()) {
platums = sakne ["atrašanās vieta"] ["lat"];
garums = sakne ["atrašanās vieta"] ["lng"];
precizitāte = sakne ["precizitāte"];
}
}
Serial.println ("slēgšanas savienojums");
Sērijas.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (platums, 6);
Serial.print ("Garums =");
Sērijas.println (garums, 6);
Serial.print ("Precizitāte =");
Serial.println (precizitāte);
kavēšanās (10000);
Sērijas.println ();
Serial.println ("Restarting …");
Sērijas.println ();
kavēšanās (2000);
}
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi
Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi
Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)