Spisu treści:

Lokalizator z NodeMCU ESP8266: 10 kroków
Lokalizator z NodeMCU ESP8266: 10 kroków

Wideo: Lokalizator z NodeMCU ESP8266: 10 kroków

Wideo: Lokalizator z NodeMCU ESP8266: 10 kroków
Wideo: Jak zrobić wifi jammer za 10zł i zostać najgorszym sąsiadem | NodeMCU DIY Mega efekt 2024, Listopad
Anonim
Śledzenie lokalizacji z NodeMCU ESP8266
Śledzenie lokalizacji z NodeMCU ESP8266

Czy jesteś ciekawy, jak Twoje NodeMCU może śledzić Twoją lokalizację? Jest to możliwe nawet bez modułu GPS i bez wyświetlacza. Wynikiem będą współrzędne miejsca, w którym się znajdujesz, a zobaczysz je na swoim monitorze szeregowym.

Poniższa konfiguracja została użyta dla NodeMCU 1.0 (moduł ESP-12E) z Arduino IDE.

  • Okna 10
  • Arduino IDE w wersji 1.8.4

Krok 1: Czego potrzebujesz

Do wykonania tego samouczka potrzebne są następujące elementy:

  • Kabel micro USB
  • NodeMCU ESP8266

Ponadto będziesz potrzebować:

  • LocationAPI (z Unwired Labs)
  • Dostęp do Wi-Fi lub hotspotu

Krok 2: Przejdź do Unwired Labs

Przejdź do laboratoriów bezprzewodowych
Przejdź do laboratoriów bezprzewodowych

Geolokalizacja jest bardzo przydatna, ponieważ gdy Twój GPS nie działa, nadal możesz używać Geolokalizacji do śledzenia swojej lokalizacji. Naszym hostem, który zapewnia geolokalizację, będzie https://www.unwiredlabs.com/. Przejdź do tej witryny i zarejestruj się (pomarańczowy przycisk w prawym górnym rogu).

Krok 3: Zarejestruj się, aby otrzymać token API

Zarejestruj się, aby otrzymać token API
Zarejestruj się, aby otrzymać token API

Na stronie rejestracji musisz podać swoje imię i nazwisko, adres e-mail (Twój token API zostanie wysłany na Twój adres e-mail) i przypadek użycia (na przykład do użytku osobistego). Wybierz typ swojego konta. Darmowa wersja sprawdzi się dobrze, ale pamiętaj, że masz ograniczenia i nie możesz śledzić swojej lokalizacji przez całą dobę. Zacznijmy!

Krok 4: Sprawdź swój e-mail

Przejdź do swojego e-maila, a zobaczysz swój token API. Skopiuj token API, ponieważ jest on potrzebny do kodu, którego będziemy używać. Tak wygląda e-mail:

Cześć!

Dziękujemy za zarejestrowanie się w Unwired Labs LocationAPI! Twój token API to „Twój kod API jest tutaj” (bez cudzysłowów). To da 100 próśb dziennie za darmo - na zawsze.

Jeśli chcesz bezpłatnie śledzić 5 urządzeń, odpowiedz, podając następujące informacje, a my uaktualnimy Twoje konto w ciągu 12 godzin:

1. Typ wdrożenia (Sprzęt/Aplikacja/Inne):

2. O Twoim projekcie:

3. Strona internetowa:

Możesz zalogować się do swojego panelu tutaj: https://unwiredlabs.com/dashboard. Jeśli napotkasz kłopoty lub masz pytania, odpowiedz na tego e-maila, a pomogę Ci!

Miłego lokalizowania!

Sagar

Laboratoria bezprzewodowe

Krok 5: Biblioteki, których będziesz potrzebować

Biblioteki, których będziesz potrzebować
Biblioteki, których będziesz potrzebować

Następnym krokiem jest otwarcie Arduino i przejście do zarządzania bibliotekami. Musisz zainstalować bibliotekę ArduinoJson. Inne biblioteki są już wbudowane. Kiedy będziesz gotowy, możesz zacząć pisać kod.

Krok 6: Dodaj kod w Arduino, aby połączyć się z LocationAPI

Zrób nowy szkic i dodaj następujący kod w Arduino. Wpisz własną nazwę Wi-Fi/hotspotu i hasło. Wklej token API otrzymany w wiadomości e-mail. Prześlij swój kod do swojego NodeMCU.

#włączać

#włączać

#include "ESP8266WiFi.h"

// SSID sieci (nazwa) i hasło do sieci

char myssid = "Nazwa Twojej sieci Wi-Fi/hotspotu"; char mypass = "Twoje hasło";

// unwiredlabs Nazwa hosta i adres URL punktu końcowego geolokalizacji

const char* Host = "www.unwiredlabs.com"; Punkt końcowy ciągu = "/v2/process.php";

// UnwiredLabs API_Token. Zarejestruj się tutaj, aby otrzymać darmowy token

Token ciągu = "d99cccda52ec0b";

String jsonString = "{n";

// Zmienne do przechowywania odpowiedzi unwiredlabs

podwójna szerokość geograficzna = 0,0; podwójna długość geograficzna = 0,0; podwójna dokładność = 0,0;

pusta konfiguracja (){

Serial.początek(115200);

// Ustaw WiFi w trybie stacji i rozłącz się z AP, jeśli był wcześniej podłączony

tryb WiFi (WIFI_STA); Wi-Fi.rozłącz(); Serial.println("Konfiguracja zakończona");

// Zaczynamy od połączenia z siecią Wi-Fi

Serial.print("Łączenie z"); 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;

// WiFi.scanNetworks zwróci liczbę znalezionych sieci

int n = WiFi.scanNetworks(); Serial.println("skanowanie wykonane");

jeśli (n == 0) {

Serial.println("Brak dostępnych sieci"); } else { Serial.print(n); Serial.println(" znalezione sieci"); }

// teraz zbuduj jsonString…

jsonString = "{n"; jsonString += "\"token\": \""; jsonString += token; jsonString += "\", \n"; jsonString += "\"id\": \"saikirandevice01\", \n"; jsonString += "\"wifi\": [n"; for (int j = 0; j < n; ++j) { jsonString += "{n"; jsonString += "\"bssid\": \""; jsonString += (WiFi. BSSIDstr(j)); jsonString += "\", \n"; jsonString += "\"sygnał\": "; jsonString += WiFi. RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); Serial.println(jsonString);

Klient WiFiClientSecure;

//Połącz się z klientem i wykonaj wywołanie API

Serial.println("URL żądania: https://" + (Ciąg)Host + punkt końcowy); if (client.connect(Host, 443)) { Serial.println("Połączony"); client.println("POST" + punkt końcowy + "HTTP/1.1"); 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("Długość-treści: "); klient.println(jsonString.length()); klient.println(); klient.print(jsonString); opóźnienie (500); }

//Odczytaj i przeanalizuj wszystkie wiersze odpowiedzi z serwera

while (client.available()) { String line = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(linia); if (root.success()) { szerokość geograficzna = root["lat"]; długość geograficzna = root["lon"]; dokładność = root["dokładność"];

Serial.println();

Serial.print("Szerokość geograficzna = "); Serial.println(szerokość geograficzna, 6); Serial.print("Długość = "); Serial.println(długość geograficzna, 6); Serial.print("Dokładność = "); Serial.println(dokładność); } }

Serial.println("zamykanie połączenia");

Serial.println(); klient.stop();

opóźnienie(5000);

}

Krok 7: Otwórz monitor szeregowy, aby sprawdzić, czy masz połączenie

Przejdź do narzędzi w Arduino i otwórz monitor szeregowy. Aby sprawdzić, czy masz połączenie z Internetem, na monitorze szeregowym powinieneś zobaczyć następujące informacje:

Konfiguracja zakończona

Łączenie z (Twoja nazwa Wi-Fi)… skanowanie gotowe

Krok 8: Uzyskaj współrzędne

Jeśli to zadziałało, powinieneś zobaczyć pod skanem całą listę danych. Jedyne, czego potrzebujemy, to kod pod adresem URL żądania, więc będziemy potrzebować szerokości i długości geograficznej. To są współrzędne.

Adres URL żądania:

Połączony

Szerokość geograficzna = 52,385259

Długość geograficzna = 5,196099

Dokładność = 41,00

zamykanie połączenia

Po 5 sekundach kod będzie stale aktualizowany i prawdopodobnie zobaczysz zmianę szerokości, długości i dokładności. To dlatego, że API stara się jak najdokładniej śledzić lokalizację.

Krok 9: Przejdź do Map Google

Przejdź do Map Google
Przejdź do Map Google

Wejdź na https://www.google.com/maps/ i wpisz swoje współrzędne w pasku wyszukiwania. Współrzędne należy zapisać w następujący sposób: 52.385259, 5.196099. Mapy Google powinny pokazywać na mapie, gdzie się znajdujesz.

Krok 10: Wyślij lokalizację do telefonu komórkowego

Wyślij lokalizację do telefonu komórkowego
Wyślij lokalizację do telefonu komórkowego

I jesteś skończony! Dlatego, jeśli chcesz wysłać lokalizację na swój telefon komórkowy, jest to możliwe. Jeśli chcesz, Mapy Google wyślą e-maila z Twoimi współrzędnymi.

Miłego lokalizowania!

Zalecana: