Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Przejdź do Unwired Labs
- Krok 3: Zarejestruj się, aby otrzymać token API
- Krok 4: Sprawdź swój e-mail
- Krok 5: Biblioteki, których będziesz potrzebować
- Krok 6: Dodaj kod w Arduino, aby połączyć się z LocationAPI
- Krok 7: Otwórz monitor szeregowy, aby sprawdzić, czy masz połączenie
- Krok 8: Uzyskaj współrzędne
- Krok 9: Przejdź do Map Google
- Krok 10: Wyślij lokalizację do telefonu komórkowego
Wideo: Lokalizator z NodeMCU ESP8266: 10 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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ć
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
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
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:
Lokalizator GPS: 6 kroków
GPS Tracker: Hej Guys w tym filmie zrobimy GPS tracker za pomocą Esp 8266 (nodemcu) i modułu GPS neo 6m, więc zaczynajmy
DIY miniaturowy lokalizator słoneczny: 5 kroków (ze zdjęciami)
DIY Miniature Solar Tracker: W tym projekcie pokażę, jak stworzyć solar tracker, który jak sama nazwa wskazuje, może śledzić ruch słońca przez cały dzień. A na koniec pokażę Ci różnicę w pozyskiwaniu energii między panelem słonecznym montowanym na trackerze słonecznym
Multipleksowany lokalizator echa: 6 kroków
Multipleksowany lokalizator echa: a.articles {font-size: 110,0%; grubość czcionki: pogrubiona; styl czcionki: kursywa; dekoracja tekstu: brak; background-color: red;} a.articles:hover {background-color: black;} Ta instrukcja opisuje, jak zrobić „skanujący” lokalizator echa za pomocą Ard
Lokalizator echa z dwoma czujnikami: 7 kroków (ze zdjęciami)
Lokalizator echa z dwoma czujnikami: a.articles {font-size: 110,0%; grubość czcionki: pogrubiona; styl czcionki: kursywa; dekoracja tekstu: brak; background-color: red;} a.articles:hover {background-color: black;} Ta instrukcja wyjaśnia, jak określić lokalizację obiektu za pomocą
Zbuduj zmotoryzowany lokalizator drzwi stodoły: 6 kroków (ze zdjęciami)
Zbuduj zmotoryzowany lokalizator drzwi stodoły…:…strzelaj do gwiazd, planet i innych mgławic za pomocą kamery, która jest. Bez Arduino, bez silników krokowych, bez kół zębatych, tylko prosty silnik obracający pręt gwintowany, ten tracker do drzwi stodoły obraca kamerę dokładnie w tym samym tempie, co obrót naszej planety, a