Spisu treści:
- Krok 1: Części i narzędzia
- Krok 2: Znajdź Google API
- Krok 3: Skonfiguruj NodeMCu na Arduino IDE
- Krok 4: Pobierz bibliotekę ArduinoJson
- Krok 5: Program
Wideo: GEOLOKALIZACJA: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
To mój Projekt Letnich Praktyk. Naprawdę zaskakuje, gdy słyszę, że możemy śledzić lokalizację dowolnego urządzenia bez użycia modułu GPS tylko za pomocą NodeMCU. Dzięki temu możemy namierzyć dowolne urządzenie. Zaskakuje Cię również, jak możemy namierzyć urządzenie za pomocą tylko WiFi. Oto opis rodzaju, aby to zrozumieć.
- · Skanuje prawie całą sieć Wi-Fi.
- · Wyślij lokalizację urządzenia do Google za pomocą interfejsu Google API
- · Zgodnie z tym lokalizuje lokalizację twojego urządzenia
- · Masz silne połączenie sieciowe dla tego projektu.
Krok 1: Części i narzędzia
Części
- Węzeł MCU (ESP8266 1.0 12E)
- Kabel USB
Narzędzia
Arduino IDE z płytą NodeMcu 1.0 12E
Interfejs API Google
Krok 2: Znajdź Google API
- Otwórz przeglądarkę i wpisz: console.developer.google.com
- Utwórz nowy projekt
- Po utworzeniu nowego projektu kliknij poświadczenia
- Kliknij klucz API
-
Twój klucz API został wygenerowany
Dla łatwego zrozumienia zobacz poniższy obrazek |>
Krok 3: Skonfiguruj NodeMCu na Arduino IDE
- Pobierz Arduino IDE z następującego linku: - https://www. Główna/Oprogramowanie arduino.cc/pl/
- Dodaj płytkę Node MCu do Arduino IDE
-
Aby przesłać kod na NodeMCU, musisz dodać kartę NodeMCu do ARDUINO IDE.
- PRZEJDŹ do pliku i preferencji w Arduino IDE
- A w sekcji Zarządca dodatkowego zarządu skopiuj poniższy link
- arduino.esp8266.com/stable/package_esp8266c…
- i kliknij OK
- Tablica jest pobierana
- Przejdź do narzędzi i tablicy i wybierz NodeMCU 1.0 12E
- Zobacz zdjęcie avobe dla łatwego zrozumienia
Krok 4: Pobierz bibliotekę ArduinoJson
- Przejdź do
Szkic Dołącz bibliotekę Zarządzaj biblioteką
Wpisz Arduino Json w polu wyszukiwania
Pobierz najnowszą wersję biblioteki ArduinoJson
po pobraniu biblioteki kliknij zamknij
Dodaj bibliotekę z
SketchincludeLibraryArduinoJson
Krok 5: Program
Wgraj następujący program na płytę NodeMCU. i zobacz lokalizację swojego urządzenia (płyta NodeMCU 1.0 12E) na monitorze szeregowym.
#włączać
#włączać
#włączać
char myssid = "Twój identyfikator SSID"; // SSID sieci (nazwa)
char mypass = "Twoje hasło"; // twoje hasło sieciowe
//Poświadczenia Google Geolokalizacji API…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate?key=";
// --- Pobierz klucz aplikacji Google Maps tutaj:
developers.google.com/maps/documentation/geolocation/intro
String key = "Twój klucz API Google ";//Znajdź z kroku 2
Instrukcja
stan int = WL_IDLE_STATUS;
String jsonString = "{n";
podwójna szerokość geograficzna = 0,0;
podwójna długość geograficzna = 0,0;
podwójna dokładność = 0,0;
int więcej_tekst = 1; // ustaw na 1, aby uzyskać więcej danych wyjściowych debugowania
pusta konfiguracja () {
Serial.początek(9600);
Serial.println("Start");
// Ustaw WiFi w trybie stacji i
rozłączyć się z AP, jeśli był wcześniej podłączony
tryb WiFi (WIFI_STA);
Wi-Fi.rozłącz();
opóźnienie (100);
Serial.println( Ustawienia
Gotowe );
// Zaczynamy od połączenia z a
Sieć Wi-Fi
Serial.print( Podłączanie do
);
Serial.println(myssid);
WiFi.begin(myssid, mypass);
while (WiFi.status() !=WL_CONNECTED) {
opóźnienie (500);
Serial.print(".");
}
Serial.println(".");
}
pusta pętla () {
char bssid[6];
DynamicJsonBuffer jsonBuffer;
Serial.println("rozpoczęcie skanowania");
// Zwróci WiFi.scanNetworks
liczba znalezionych sieci
int n = WiFi.scanNetworks();
Serial.println("skandon");
jeśli (n == 0)
Serial.println("nie znaleziono sieci");
w przeciwnym razie
{
druk.seryjny(n);
Serial.println(" znaleziono sieci…");
jeśli (więcej_tekstu) {
// Wydrukuj sformatowany plik json…
Serial.println("{");
Serial.println("\"homeMobileCountryCode\":234, "); // to jest prawdziwe brytyjskie MCK
Serial.println("\"homeMobileNetworkCode\":27, "); // i prawdziwy brytyjski MNC
Serial.println("\"radioType\":\"gsm\", "); //dla GSM
Serial.println("\"przewoźnik\":\"Vodafone\", "); //związany z Vodafone
Serial.println("\"cellTowers\": ["); // Nie zgłaszam żadnych wież komórkowych
Serial.println("], ");
Serial.println("\"wifiAccessPoints\": [");
dla (int i = 0; i < n; ++i)
{
Serial.println("{");
Serial.print("\"macAddress\": \"");
Serial.print(WiFi. BSSIDstr(i));
Serial.println("\", ");
Serial.print("\"Siła sygnału\": ");
Serial.println(WiFi. RSSI(i));
jeśli (i < n - 1)
{
Serial.println("}, ");
}
w przeciwnym razie
{
Serial.println("}");
}
}
Serial.println("]");
Serial.println("}");
}
Serial.println(" ");
}
// teraz zbuduj jsonString…
jsonString = "{n";
jsonString +="\"homeMobileCountryCode\": 234, \n"; // to jest prawdziwe brytyjskie MCK
jsonString +="\"homeMobileNetworkCode\": 27, \n"; // i prawdziwy brytyjski MNC
jsonString +="\"radioType\": \"gsm\", \n"; // dla GSM
jsonString +="\"carrier\": \"Vodafone\", \n"; // związane z Vodafone
jsonString +="\"wifiAccessPoints\": [n";
for (int j = 0; j < n; ++j)
{
jsonString += "{n";
jsonString +="\"macAddress\": \"";
jsonString +=(WiFi. BSSIDstr(j));
jsonString +="\", \n";
jsonString +="\"Siła sygnału\": ";
jsonString += WiFi. RSSI(j);
jsonString += "\n";
jeśli (j < n - 1)
{
jsonString +="}, \n";
}
w przeciwnym razie
{
jsonString +="}\n";
}
}
jsonString += ("]\n");
jsonString += ("}\n");
//--------------------------------------------------------------------
Serial.println("");
Klient WiFiClientSecure;
//Połącz się z klientem i wykonaj wywołanie API
Serial.print("URL żądania: ");
// ---- Pobierz klucz Google Maps Api tutaj, link:
Serial.println("https://" + (Ciąg)Host + ta strona +"PUT-TWÓJ-GOOGLE-MAPS-API-KEY-TUTAJ");
Serial.println(" ");
if (klient.connect(Host, 443)) {
Serial.println("Połączony");
klient.println("POST" + ta strona + klucz +"
client.println("Host:" + (Ciąg)Host);
client.println("Połączenie: zamknij");
client.println("Typ treści: aplikacja/json");
client.println("Agent użytkownika: Arduino/1.0");
client.print("Treść-Długość: ");
klient.println(jsonString.length());
klient.println();
klient.print(jsonString);
opóźnienie (500);
}
//Przeczytaj i przeanalizuj wszystkie wiersze
odpowiedź z serwera
while (klient.dostępny()) {
Linia ciągu =client.readStringUntil('\r');
jeśli (więcej_tekstu) {
Serial.print(wiersz);
}
JsonObject& root =jsonBuffer.parseObject(linia);
if (root.success()) {
szerokość geograficzna =root["lokalizacja"]["lat"];
długość geograficzna =root["lokalizacja"]["lng"];
dokładność = root["dokładność"];
}
}
Serial.println("zamykanie połączenia");
Serial.println();
klient.stop();
Serial.print("Szerokość =");
Serial.println(szerokość geograficzna, 6);
Serial.print("Długość =");
Serial.println(długość geograficzna, 6);
Serial.print("Dokładność =");
Serial.println(dokładność);
opóźnienie (10000);
Serial.println();
Serial.println("Ponowne uruchamianie…");
Serial.println();
opóźnienie (2000);
}
Zalecana:
Licznik kroków - Micro:Bit: 12 kroków (ze zdjęciami)
Licznik kroków - Micro:Bit: Ten projekt będzie licznikiem kroków. Do pomiaru kroków użyjemy czujnika przyspieszenia wbudowanego w Micro:Bit. Za każdym razem, gdy Micro:Bit się trzęsie, dodamy 2 do licznika i wyświetlimy go na ekranie
Lewitacja akustyczna z Arduino Uno krok po kroku (8 kroków): 8 kroków
Lewitacja akustyczna z Arduino Uno Krok po kroku (8-kroków): ultradźwiękowe przetworniki dźwięku Zasilacz żeński L298N Dc z męskim pinem dc Arduino UNOBreadboardJak to działa: Najpierw wgrywasz kod do Arduino Uno (jest to mikrokontroler wyposażony w cyfrowy oraz porty analogowe do konwersji kodu (C++)
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: 6 kroków
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: W tym samouczku dowiemy się, jak śledzić kroki silnika krokowego na wyświetlaczu OLED. Obejrzyj film demonstracyjny.Kredyt samouczka oryginalnego trafia do użytkownika YouTube „sky4fly”
Bolt - DIY Wireless Charging Night Clock (6 kroków): 6 kroków (ze zdjęciami)
Bolt - DIY Wireless Charging Night Clock (6 kroków): Ładowanie indukcyjne (znane również jako ładowanie bezprzewodowe lub ładowanie bezprzewodowe) to rodzaj bezprzewodowego przesyłania energii. Wykorzystuje indukcję elektromagnetyczną do dostarczania energii elektrycznej do urządzeń przenośnych. Najpopularniejszym zastosowaniem jest stacja ładowania bezprzewodowego Qi
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: 13 kroków (ze zdjęciami)
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: To jest instrukcja demontażu komputera. Większość podstawowych komponentów ma budowę modułową i jest łatwa do usunięcia. Jednak ważne jest, abyś był w tym zorganizowany. Pomoże to uchronić Cię przed utratą części, a także ułatwi ponowny montaż