Tartalomjegyzék:
- 1. lépés: Alkatrészek és eszköz
- 2. lépés: Keresse meg a Google API -t
- 3. lépés: A NodeMCu beállítása az Arduino IDE -n
- Lépés: Töltse le az ArduinoJson könyvtárat
- 5. lépés: Programozás
Videó: GEOLOACATION: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez a nyári gyakornoki projektem. Nagyon meglepődöm, amikor azt hallom, hogy bármely eszköz helyét nyomon követhetjük anélkül, hogy GPS modult használnánk, csak a NodeMCU segítségével. Ezzel bármilyen eszközt nyomon követhetünk. Meglepődsz azon is, hogyan tudjuk nyomon követni az eszközt csak WiFi használatával. Íme a leírás a megértéshez.
- · Ez a Scan szinte az összes WiFi.
- · Az eszköz helyének elküldése a Google -nak a Google API használatával
- · Eszerint keresse meg az eszköz helyét
- · Erős hálózati kapcsolattal rendelkezik ehhez a projekthez.
1. lépés: Alkatrészek és eszköz
Alkatrészek
- NodeMCU (ESP8266 1.0 12E)
- USB kábel
Eszközök
Arduino IDE NodeMcu 1.0 12E táblával
Google API
2. lépés: Keresse meg a Google API -t
- Nyissa meg a böngészőt, és írja be: console.developer.google.com
- Hozzon létre egy új projektet
- Új projekt létrehozása után kattintson a hitelesítő adatokra
- Kattintson az API kulcsra
- Az API -kulcs létrehozva
A könnyebb megértés érdekében lásd az alábbi képet |>
3. lépés: A NodeMCu beállítása az Arduino IDE -n
- Töltse le az Arduino IDE-t az alábbi linkről:- https:// www. Fő/Szoftver arduino.cc/en/
- Add hozzá a Node MCu táblát az Arduino IDE -hez
-
Ha kódot szeretne feltölteni a NodeMCU -ra, hozzá kell adnia a NodeMCu kártyát az ARDUINO IDE -hez.
- UGRÁS a fájlokhoz és beállításokhoz az Arduino IDE -ben
- A Kiegészítő tábla kezelési szakaszban pedig másolja az alábbi linket
- arduino.esp8266.com/stable/package_esp8266c…
- és kattintson az OK gombra
- A tábla letölthető
- Lépjen az eszközökhöz és a táblához, és válassza a NodeMCU 1.0 12E lehetőséget
- Lásd az avobe képet a könnyebb megértés érdekében
Lépés: Töltse le az ArduinoJson könyvtárat
- Menj a
Vázlat Könyvtár befogadása Könyvtár kezelése
Írja be az Arduino Json szót a keresőmezőbe
Töltse le az ArduinoJson könyvtár legújabb verzióját
a könyvtár letöltése után kattintson a Bezárás gombra
Könyvtár hozzáadása innen
VázlatvázlatKönyvtárArduinoJson
5. lépés: Programozás
Töltse fel a következő programot a NodeMCU táblára. és nézze meg a készülék (NodeMCU 1.0 12E kártya) helyét a soros monitoron.
#befoglalni
#befoglalni
#befoglalni
char myssid = "Az Ön SSID -je"; // a hálózati SSID (név)
char mypass = "Az Ön jelszava"; // a hálózati jelszó
// A Google GeoLocation API hitelesítő adatai…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Szerezzen be egy Google Maps ap kulcsot itt:
developers.google.com/maps/documentation/geolocation/intro
String key = "Az Ön Google API kulcsa"; // Keresés a 2. lépésből
Utasítás
int állapot = WL_IDLE_STATUS;
Karakterlánc jsonString = "{ n";
kettős szélesség = 0,0;
kettős hosszúság = 0,0;
kettős pontosság = 0,0;
int more_text = 1; // állítsa 1 -re a további hibakeresési kimenethez
void setup () {
Sorozat.kezdet (9600);
Serial.println ("Start");
// Állítsa a WiFi állomás üzemmódba és
válassza le az AP -t, ha korábban csatlakoztatva volt
WiFi.mód (WIFI_STA);
WiFi.disconnect ();
késleltetés (100);
Serial.println ( Beállítás
Kész );
// Kezdjük azzal, hogy csatlakozunk a
WiFi hálózat
Serial.print ( Csatlakozás
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
késleltetés (500);
Soros.nyomtatás (".");
}
Soros.println (".");
}
void loop () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("szkennelés indítása");
// A WiFi.scanNetworks visszatér
a talált hálózatok száma
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
ha (n == 0)
Serial.println ("nem található hálózat");
más
{
Sorozatnyomat (n);
Serial.println ("hálózatok …");
if (more_text) {
// Nyomtassa ki a formázott json -t …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // ez egy igazi brit Ügyfélközpont
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // és egy igazi brit MNC
Serial.println ("\" radioType / ": \" gsm / ","); // a gsm
Serial.println ("\" carrier / ": \" Vodafone / ","); // társítva a Vodafone -hoz
Serial.println ("\" cellTowers / ": ["); // Nem számolok be sejt tornyokról
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
mert (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Soros.nyomtatás (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
ha (i <n - 1)
{
Serial.println ("},");
}
más
{
Serial.println ("}");
}
}
Sorozat.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// most építsd fel a jsonString…
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // ez egy igazi brit Ügyfélközpont
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // és egy igazi brit MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // a gsm
jsonString += "\" carrier / ": \" Vodafone / ", / n"; // társítva a Vodafone -hoz
jsonString += "\" wifiAccessPoints / ": [n";
mert (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
ha (j <n - 1)
{
jsonString += "}, / n";
}
más
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure kliens;
// Csatlakozzon az ügyfélhez, és kezdeményezze az api hívást
Serial.print ("Kérő URL:");
// ---- Szerezze be a Google Térkép Api kulcsot, link:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (gazdagép, 443)) {
Serial.println ("Csatlakoztatva");
client.println ("POST" + thisPage + kulcs + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Kapcsolat: bezárás");
client.println ("Tartalom-típus: application/json");
client.println ("Felhasználó-ügynök: Arduino/1.0");
client.print ("Content-Length:");
kliens.println (jsonString.length ());
client.println ();
client.print (jsonString);
késleltetés (500);
}
// Olvassa el és elemezze az összes sort
a válasz a szervertől
while (client.available ()) {
Karakterlánc = ügyfél.readStringUntil ('\ r');
if (more_text) {
Serial.print (sor);
}
JsonObject & root = jsonBuffer.parseObject (sor);
if (root.success ()) {
szélesség = gyökér ["hely"] ["lat"];
hosszúság = gyökér ["hely"] ["lng"];
pontosság = gyökér ["pontosság"];
}
}
Serial.println ("záró kapcsolat");
Sorozat.println ();
client.stop ();
Serial.print ("Szélesség =");
Soros.println (szélesség, 6);
Serial.print ("Hosszúság =");
Soros.println (hosszúság, 6);
Serial.print ("Pontosság =");
Serial.println (pontosság);
késleltetés (10000);
Sorozat.println ();
Serial.println ("Újraindítás …");
Sorozat.println ();
késleltetés (2000);
}
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását