Inhoudsopgave:
- Stap 1: Onderdelen & gereedschap
- Stap 2: Zoek de Google API
- Stap 3: NodeMCu instellen op Arduino IDE
- Stap 4: Download de ArduinoJson-bibliotheek
- Stap 5: Programma
Video: GEOLOACATIE: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Het is mijn zomerstageproject. Ik verbaas me echt als ik hoor dat we elk apparaat kunnen traceren zonder de GPS-module te gebruiken, alleen met NodeMCU. Hierdoor kunnen we elk apparaat traceren. Je verbaast je ook hoe we apparaten kunnen traceren met alleen wifi. Hier zijn de soortbeschrijving om het te begrijpen.
- · Het scant je bijna alle wifi.
- · Stuur deze apparaatlocatie naar Google via Google API
- · Volgens dit is het de locatie van uw apparaat
- · Je hebt een sterke netwerkverbinding voor dit project.
Stap 1: Onderdelen & gereedschap
Onderdelen
- NodeMCU (ESP8266 1.0 12E)
- USB-kabel
Gereedschap
Arduino IDE met NodeMcu 1.0 12E-kaart
Google-API
Stap 2: Zoek de Google API
- Open uw browser en typ: console.developer.google.com
- Een nieuw project maken
- Klik na het maken van een nieuw project op referentie
- Klik op API-sleutel
-
Uw API-sleutel is gegenereerd
Voor gemakkelijk begrip zie de volgende afbeelding |>
Stap 3: NodeMCu instellen op Arduino IDE
- Download Arduino IDE via de volgende link: - https://www. Hoofd/Software arduino.cc/en/
- Node MCu-bord toevoegen aan Arduino IDE
-
Voor het uploaden van code op NodeMCU moet je het NodeMCu-bord toevoegen aan ARDUINO IDE.
- GA naar bestand & voorkeur in Arduino IDE
- En kopieer in de sectie Extra Bestuursmanager de volgende link:
- arduino.esp8266.com/stable/package_esp8266c…
- en klik op OK
- Het bord is gedownload
- Ga naar de tools en board en selecteer NodeMCU 1.0 12E
- Zie de avobe-afbeelding voor gemakkelijk begrip!
Stap 4: Download de ArduinoJson-bibliotheek
- Ga naar de
Sketch Bibliotheek opnemen Bibliotheek beheren
Typ Arduino Json in zoekvak
Download de nieuwste versie van de ArduinoJson-bibliotheek
klik na het downloaden van de bibliotheek op sluiten
Bibliotheek toevoegen van
SketchincludeBibliotheekArduinoJson
Stap 5: Programma
Upload het volgende programma op het NodeMCU-bord. en zie de locatie van uw apparaat (NodeMCU 1.0 12E-kaart) op de seriële monitor.
#erbij betrekken
#erbij betrekken
#erbij betrekken
char myssid = "Uw SSID"; // uw netwerk-SSID (naam)
char mypass = "Uw wachtwoord"; // uw netwerkwachtwoord
//Inloggegevens voor Google GeoLocation API…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate?key=";
// --- Download hier een Google Maps ap-sleutel:
developers.google.com/maps/documentation/geolocation/intro
String key = "Uw Google API-sleutel ";//Find from step2
Instructie
int-status = WL_IDLE_STATUS;
String jsonString = "{n";
dubbele breedtegraad = 0,0;
dubbele lengtegraad = 0,0;
dubbele nauwkeurigheid = 0,0;
int more_text = 1; // ingesteld op 1 voor meer foutopsporingsuitvoer
ongeldige setup() {
Serieel.begin(9600);
Serial.println("Start");
// Stel WiFi in op stationsmodus en
verbreek de verbinding met een AP als deze eerder was verbonden
WiFi.modus (WIFI_STA);
WiFi.verbinding verbreken();
vertraging (100);
Serial.println( Setup
gedaan );
// We beginnen door verbinding te maken met a
WiFi-netwerk
Serial.print( Verbinding maken met
);
Serial.println(myssid);
WiFi.begin(myssid, mypass);
while (WiFi.status() !=WL_CONNECTED) {
vertraging (500);
Serieel.print(".");
}
Serieel.println(".");
}
lege lus() {
char bssid[6];
DynamischeJsonBuffer jsonBuffer;
Serial.println("scan start");
// WiFi.scanNetworks komt terug
het aantal gevonden netwerken
int n = WiFi.scanNetworks();
Serial.println("scandone");
als (n == 0)
Serial.println("geen netwerken gevonden");
anders
{
Serieafdruk(n);
Serial.println ("netwerken gevonden…");
if (more_text) {
// Print de geformatteerde json uit…
Serieel.println("{");
Serial.println("\"homeMobileCountryCode\":234, "); // dit is een echte UK MCC
Serial.println("\"homeMobileNetworkCode\":27, "); // en een echte Britse MNC
Serial.println("\"radioType\":\"gsm\", "); //voor gsm
Serial.println("\"carrier\":\"Vodafone\", "); // verbonden aan Vodafone
Serial.println("\"cellTowers\": ["); // Ik meld geen zendmasten
Serieel.println("], ");
Serial.println("\"wifiAccessPoints\": [");
voor (int i = 0; ik < n; ++i)
{
Serieel.println("{");
Serial.print("\"macAddress\": \"");
Serial.print(WiFi. BSSIDstr(i));
Serieel.println("\", ");
Serial.print("\"signaalsterkte\": ");
Serial.println(WiFi. RSSI(i));
als (i < n - 1)
{
Serieel.println("}, ");
}
anders
{
Serieel.println("}");
}
}
Serieel.println("]");
Serieel.println("}");
}
Serieel.println(" ");
}
// bouw nu de jsonString…
jsonString = "{n";
jsonString +="\"homeMobileCountryCode\": 234, \n"; // dit is een echte UK MCC
jsonString +="\"homeMobileNetworkCode\": 27, \n"; // en een echte Britse MNC
jsonString +="\"radioType\": \"gsm\", \n"; // voor gsm
jsonString +="\"carrier\": \"Vodafone\", \n"; // geassocieerd met Vodafone
jsonString +="\"wifiAccessPoints\": [n";
voor (int j = 0; j < n; ++j)
{
jsonString += "{n";
jsonString +="\"macAddress\": \"";
jsonString +=(WiFi. BSSIDstr(j));
jsonString +="\", \n";
jsonString +="\"signaalsterkte\": ";
jsonString += WiFi. RSSI(j);
jsonString += "\n";
als (j < n - 1)
{
jsonString +="}, \n";
}
anders
{
jsonString +="}\n";
}
}
jsonString += ("]\n");
jsonString += ("}\n");
//--------------------------------------------------------------------
Serieel.println("");
WiFiClientSecure-client;
// Maak verbinding met de client en voer de api-oproep
Serial.print("Verzoek URL: ");
// ---- Download hier de Google Maps Api Key, Link:
Serial.println("https://" + (String)Host + deze pagina +"PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serieel.println(" ");
if (client.connect(Host, 443)) {
Serial.println("Verbonden");
client.println("POST" + dezePagina + sleutel + "HTTP/1.1");
client.println("Host:" + (String)Host);
client.println("Verbinding: sluiten");
client.println ("Inhoudstype: applicatie/json");
client.println ("Gebruiker-agent: Arduino/1.0");
client.print ("Inhoudslengte: ");
client.println(jsonString.length());
klant.println();
client.print(jsonString);
vertraging (500);
}
//Lees en ontleden alle regels van
het antwoord van de server
while (client.available()) {
Stringregel =client.readStringUntil('\r');
if (more_text) {
Serial.print(regel);
}
JsonObject& root =jsonBuffer.parseObject(regel);
if (root.success()) {
latitude =root["locatie"]["lat"];
longitude =root["locatie"]["lng"];
nauwkeurigheid = wortel ["nauwkeurigheid"];
}
}
Serial.println("verbinding sluiten");
Serieel.println();
klant.stop();
Serial.print("Latitude =");
Serial.println (breedtegraad, 6);
Serial.print("Lengte =");
Serial.println (lengtegraad, 6);
Serial.print("Nauwkeurigheid =");
Serial.println(nauwkeurigheid);
vertraging (10000);
Serieel.println();
Serial.println("Herstarten…");
Serieel.println();
vertraging (2000);
}
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)