Obsah:
- Krok 1: Díly a nástroj
- Krok 2: Najděte Google API
- Krok 3: Nastavení NodeMCu na Arduino IDE
- Krok 4: Stáhněte si knihovnu ArduinoJson
- Krok 5: Program
Video: GEOLOACATION: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Je to můj projekt letní stáže. Opravdu překvapuje, když slyším, že můžeme sledovat polohu jakéhokoli zařízení bez použití modulu GPS pouze pomocí NodeMCU. Díky tomu můžeme sledovat jakékoli zařízení. Také vás překvapuje, jak můžeme sledovat zařízení pouze pomocí WiFi. Zde je popis řazení, abyste tomu porozuměli.
- · Skenuje téměř všechny vaše WiFi.
- · Odešlete toto umístění zařízení společnosti Google pomocí rozhraní Google API
- · Podle toho vyhledá umístění vašeho zařízení
- · Pro tento projekt máte silné síťové připojení.
Krok 1: Díly a nástroj
Díly
- NodeMCU (ESP8266 1.0 12E)
- USB kabel
Nástroje
Arduino IDE s deskou NodeMcu 1.0 12E
Google API
Krok 2: Najděte Google API
- Otevřete prohlížeč a zadejte: console.developer.google.com
- Vytvořte nový projekt
- Po vytvoření nového projektu klikněte na přihlašovací údaje
- Klikněte na klíč API
-
Váš klíč API byl vygenerován
Snadné porozumění najdete na následujícím obrázku |>
Krok 3: Nastavení NodeMCu na Arduino IDE
- Stáhněte si Arduino IDE z následujícího odkazu:- https:// www. Hlavní/Software arduino.cc/en/
- Přidejte desku Node MCu na Arduino IDE
-
Pro nahrání kódu na NodeMCU musíte přidat desku NodeMCu na ARDUINO IDE.
- PŘEJÍT na soubor a preference v Arduino IDE
- A v Additional Board managersection zkopírujte následující odkaz
- arduino.esp8266.com/stable/package_esp8266c…
- a klikněte na Ok
- Deska se stáhne
- Přejděte na nástroje a desku a vyberte NodeMCU 1.0 12E
- Snadné porozumění najdete na obrázku avobe
Krok 4: Stáhněte si knihovnu ArduinoJson
- Přejděte na
Sketch Include Library Spravovat knihovnu
Do vyhledávacího pole zadejte Arduino Json
Stáhněte si nejnovější verzi knihovny ArduinoJson
po stažení knihovny klikněte na zavřít
Přidat knihovnu z
SketchincludeLibraryArduinoJson
Krok 5: Program
Nahrajte následující program na desku NodeMCU. a podívejte se na umístění svého zařízení (deska NodeMCU 1.0 12E) na sériovém monitoru.
#zahrnout
#zahrnout
#zahrnout
char myssid = "Vaše SSID"; // SSID vaší sítě (název)
char mypass = "Vaše heslo"; // vaše síťové heslo
// Pověření pro Google GeoLocation API…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Získejte AP klíč Google Maps zde:
developers.google.com/maps/documentation/geolocation/intro
String key = "Váš klíč Google API"; // Vyhledejte od kroku 2
Návod
int status = WL_IDLE_STATUS;
Řetězec jsonString = "{ n";
dvojitá šířka = 0,0;
dvojnásobná délka = 0,0;
dvojnásobná přesnost = 0,0;
int více_text = 1; // nastaveno na 1 pro další výstup ladění
neplatné nastavení () {
Serial.begin (9600);
Serial.println ("Start");
// Nastavte WiFi na režim stanice a
odpojte se od přístupového bodu, pokud byl dříve připojen
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
zpoždění (100);
Serial.println ( Nastavení
Hotovo );
// Začneme připojením k
WiFi síť
Serial.print ( Připojování k
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
zpoždění (500);
Serial.print (".");
}
Serial.println (".");
}
prázdná smyčka () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("spuštění skenování");
// WiFi.scanNetworks se vrátí
počet nalezených sítí
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
pokud (n == 0)
Serial.println ("nebyly nalezeny žádné sítě");
jiný
{
Serial.print (n);
Serial.println („nalezené sítě…“);
if (more_text) {
// Vytiskněte formátovaný json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // toto je skutečný britský MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // a skutečný britský MNC
Serial.println ("\" radioType / ": \" gsm / ","); // pro gsm
Serial.println ("\" operátor / ": \" Vodafone / ","); // spojené s Vodafone
Serial.println ("\" cellTowers / ": ["); // Nehlásím žádné věže buněk
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
pro (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" síla signálu / ":");
Serial.println (WiFi. RSSI (i));
pokud (i <n - 1)
{
Serial.println ("},");
}
jiný
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// nyní vytvořte jsonString…
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // toto je skutečný britský MCC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // a skutečný britský MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // pro gsm
jsonString += "\" operátor / ": \" Vodafone / ", / n"; // spojené s Vodafone
jsonString += "\" wifiAccessPoints / ": [n";
pro (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" síla signálu / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
pokud (j <n - 1)
{
jsonString += "}, / n";
}
jiný
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure klient;
// Připojte se ke klientovi a proveďte volání API
Serial.print ("Požadovaná URL:");
// ---- Získejte Google Maps Api Key zde, Odkaz:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println („Připojeno“);
client.println ("POST" + thisPage + klíč + "HTTP/1.1");
client.println ("Host:" + (řetězec) Host);
client.println ("Připojení: zavřít");
client.println ("Typ obsahu: aplikace/json");
client.println ("User-Agent: Arduino/1.0");
client.print ("Délka obsahu:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
zpoždění (500);
}
// Přečíst a analyzovat všechny řádky
odpověď ze serveru
while (client.available ()) {
Řetězec řetězce = client.readStringUntil ('\ r');
if (more_text) {
Serial.print (řádek);
}
JsonObject & root = jsonBuffer.parseObject (řádek);
if (root.success ()) {
zeměpisná šířka = root ["umístění"] ["lat"];
longitude = root ["location"] ["lng"];
přesnost = root ["přesnost"];
}
}
Serial.println ("ukončení připojení");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (zeměpisná šířka, 6);
Serial.print ("Zeměpisná délka =");
Serial.println (zeměpisná délka, 6);
Serial.print ("Přesnost =");
Serial.println (přesnost);
zpoždění (10 000);
Serial.println ();
Serial.println ("Restartování …");
Serial.println ();
zpoždění (2000);
}
Doporučuje:
Počitadlo kroků - mikro: bit: 12 kroků (s obrázky)
Počitadlo kroků - Micro: Bit: Tento projekt bude počítadlem kroků. K měření našich kroků použijeme snímač akcelerometru, který je zabudovaný v Micro: Bit. Pokaždé, když se Micro: Bit zatřese, přidáme 2 k počtu a zobrazíme ho na obrazovce
Akustická levitace s Arduino Uno krok za krokem (8 kroků): 8 kroků
Akustická levitace s Arduino Uno krok za krokem (8 kroků): Ultrazvukové měniče zvuku L298N Dc samice napájecí zdroj s mužským DC pinem Arduino UNOBreadboard Jak to funguje: Nejprve nahrajete kód do Arduino Uno (je to mikrokontrolér vybavený digitálním a analogové porty pro převod kódu (C ++)
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): 6 kroků (s obrázky)
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): Indukční nabíjení (známé také jako bezdrátové nabíjení nebo bezdrátové nabíjení) je druh bezdrátového přenosu energie. Využívá elektromagnetickou indukci k poskytování elektřiny přenosným zařízením. Nejběžnější aplikací je bezdrátové nabíjení Qi
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: 13 kroků (s obrázky)
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: Toto je návod, jak rozebrat počítač. Většina základních komponent je modulární a lze je snadno odstranit. Je však důležité, abyste o tom byli organizovaní. To vám pomůže zabránit ztrátě součástí a také při opětovné montáži
Banka přepínaného zatěžovacího odporu s menší velikostí kroku: 5 kroků
Banka přepínaného zatěžovacího odporu s menší velikostí kroku: Banky zatěžovacích odporů jsou vyžadovány pro testování energetických produktů, pro charakterizaci solárních panelů, v testovacích laboratořích a v průmyslových odvětvích. Reostaty zajišťují nepřetržité kolísání odporu zátěže. Jak se však hodnota odporu snižuje, výkon