Բովանդակություն:
- Քայլ 1: Մասեր և գործիք
- Քայլ 2: Գտեք Google API
- Քայլ 3: Կարգավորեք NodeMCu- ն Arduino IDE- ում
- Քայլ 4: Ներբեռնեք ArduinoJson գրադարանը
- Քայլ 5: րագիր
Video: GEOLOACATION: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Դա իմ ամառային պրակտիկայի նախագիծն է: Ես իսկապես զարմացնում եմ, երբ լսում եմ, որ մենք կարող ենք հետևել ցանկացած սարքի գտնվելու վայրին ՝ առանց GPS մոդուլ օգտագործելով միայն NodeMCU- ի միջոցով: Դրա միջոցով մենք կարող ենք հետևել ցանկացած սարքի: Ահա այն հասկանալու տեսակավորումը:
- · Այն սկանավորում է ձեր գրեթե բոլոր WiFi- ն:
- · Ուղարկեք այս սարքի տեղադրությունը Google- ին ՝ օգտագործելով Google API- ն
- · Ըստ դրա ՝ Դա տեղադրեք ձեր սարքի գտնվելու վայրը
- · Դուք ունեք ուժեղ ցանցային կապ այս forրագրի համար:
Քայլ 1: Մասեր և գործիք
Մասեր
- NodeMCU (ESP8266 1.0 12E)
- USB մալուխ
Գործիքներ
Arduino IDE ՝ NodeMcu 1.0 12E տախտակով
Google API
Քայլ 2: Գտեք Google API
- Բացեք ձեր դիտարկիչը և մուտքագրեք ՝ console.developer.google.com
- Ստեղծեք նոր նախագիծ
- Նոր նախագիծ ստեղծելուց հետո կտտացրեք հավատարմագրին
- Կտտացրեք API բանալին
-
Ձեր API բանալին ստեղծվել է
Հեշտ հասկանալու համար տե՛ս հետևյալ պատկերը |>
Քայլ 3: Կարգավորեք NodeMCu- ն Arduino IDE- ում
- Ներբեռնեք Arduino IDE- ն հետևյալ հղումից ՝- https:// www. Հիմնական/arրագրակազմ arduino.cc/hy/
- Ավելացրեք Node MCu տախտակ Arduino IDE- ում
-
NodeMCU- ում կոդը վերբեռնելու համար պետք է ավելացնել NodeMCu տախտակը ARDUINO IDE- ում:
- Գնացեք Arduino IDE- ում ֆայլ և նախապատվություն
- Իսկ Լրացուցիչ խորհրդի կառավարման բաժնում պատճենեք հետևյալ հղումը
- arduino.esp8266.com/stable/package_esp8266c…
- և կտտացրեք Ok
- Տախտակը ներբեռնվում է
- Գնացեք գործիքներ և տախտակ և ընտրեք NodeMCU 1.0 12E
- Հեշտությամբ հասկանալու համար տես ավոբեի նկարը
Քայլ 4: Ներբեռնեք ArduinoJson գրադարանը
- Գնալ դեպի
Էսքիզ Ներառեք գրադարան Կառավարեք գրադարանը
Որոնման դաշտում մուտքագրեք Arduino Json
Ներբեռնեք ArduinoJson գրադարանի վերջին տարբերակը
գրադարանը ներբեռնելուց հետո կտտացրեք փակել
Ավելացնել գրադարան
SketchincleeLibraryArduinoJson
Քայլ 5: րագիր
Ներբեռնեք հետևյալ ծրագիրը NodeMCU տախտակին: և տեսեք ձեր սարքի (NodeMCU 1.0 12E տախտակ) գտնվելու վայրը Սերիական մոնիտորի վրա:
#ներառում
#ներառում
#ներառում
char myssid = "Ձեր SSID"; // ձեր ցանցի SSID (անունը)
char mypass = "Ձեր գաղտնաբառը"; // ձեր ցանցի գաղտնաբառը
// Google GeoLocation API- ի հավատարմագրեր…
const char* Հաղորդավար = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Ստացեք google maps ap ստեղն այստեղ ՝
developers.google.com/maps/documentation/geolocation/intro
Լարային բանալին = "Ձեր Google API բանալին"; // Գտնել քայլ 2 -ից
Հրահանգ
int կարգավիճակ = WL_IDLE_STATUS;
Լար jsonString = "{ n";
կրկնակի լայնություն = 0.0;
կրկնակի երկայնություն = 0.0;
կրկնակի ճշգրտություն = 0.0;
int more_text = 1; // կարգաբերել 1 -ը ՝ վրիպազերծման ավելի շատ ելքի համար
void setup () {
Serial.begin (9600);
Serial.println («Սկսել»);
// WiFi- ն սահմանել կայանի ռեժիմի և
անջատեք AP- ից, եթե այն նախկինում միացված էր
WiFi.mode (WIFI_STA);
WiFi.d անջատել ();
ուշացում (100);
Serial.println ( Կարգավորում
կատարած );
// Մենք սկսում ենք միանալով a
WiFi ցանց
Serial.print ( Միացում
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
ուշացում (500);
Serial.print (".");
}
Serial.println (".");
}
դատարկ շրջան () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println («սկան սկիզբ»);
// WiFi.scanNetworks- ը կվերադառնա
հայտնաբերված ցանցերի քանակը
int n = WiFi.scanNetworks ();
Serial.println («սկանդոն»);
եթե (n == 0)
Serial.println («ցանցեր չեն գտնվել»);
ուրիշ
{
Serial.print (n);
Serial.println ("ցանցերը գտնված են …");
եթե (ավելի_տեքստ) {
// Տպեք ձևաչափված json…
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // սա իսկական Մեծ Բրիտանիայի ՀՄԿ է
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // և իսկական Միացյալ Թագավորության MNC
Serial.println ("\" radioType / ": \" gsm / ","); // gsm- ի համար
Serial.println ("\" օպերատոր / ": \" Vodafone / ","); // կապված Vodafone- ի հետ
Serial.println ("\" cellTowers / ": ["); // Ես չեմ հայտնում բջջային աշտարակների մասին
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
համար (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
եթե (i <n - 1)
{
Serial.println ("},");
}
ուրիշ
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// այժմ կառուցեք jsonString- ը …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // սա իսկական Մեծ Բրիտանիայի ՀՄԿ է
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // և իսկական Միացյալ Թագավորության MNC
jsonString += "\" ռադիոտեղատեսակ / ": \" gsm / ", / n"; // gsm- ի համար
jsonString += "\" օպերատոր / ": \" Vodafone / ", / n"; // կապված Vodafone- ի հետ
jsonString += "\" wifiAccessPoints / ": [n";
համար (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (ժ));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
եթե (j <n - 1)
{
jsonString += "}, / n";
}
ուրիշ
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure հաճախորդ;
// Միացեք հաճախորդին և կատարեք api զանգ
Serial.print ("Հայցող URL:");
// ---- Ստացեք Google Քարտեզների Api բանալի այստեղ, հղում ՝
Serial.println ("https://" + (String) Հաղորդավար + այս Էջը + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println («Միացված է»);
client.println ("POST" + thisPage + key + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println («Միացում ՝ փակ»);
client.println («Բովանդակության տեսակը ՝ ծրագիր/json»);
client.println ("Օգտվող-գործակալ. Arduino/1.0");
client.print ("Բովանդակություն-երկարություն.");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
ուշացում (500);
}
// Կարդացեք և վերլուծեք բոլոր տողերը
պատասխանը սերվերից
while (client.available ()) {
Լարային գիծ = client.readStringUntil ('\ r');
եթե (ավելի_տեքստ) {
Serial.print (տող);
}
JsonObject & root = jsonBuffer.parseObject (տող);
եթե (root.success ()) {
լայնություն = արմատ ["տեղադրություն"] ["լատ"];
երկայնություն = արմատ ["տեղադրություն"] ["lng"];
ճշտություն = արմատ ["ճշգրտություն"];
}
}
Serial.println («կապի փակումը»);
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (լայնություն, 6);
Serial.print ("Երկայնություն =");
Serial.println (երկայնություն, 6);
Serial.print ("uracyշգրտություն =");
Serial.println (ճշգրտություն);
ուշացում (10000);
Serial.println ();
Serial.println («Վերագործարկվում է …»);
Serial.println ();
ուշացում (2000);
}
Խորհուրդ ենք տալիս:
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ
Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ
Երեք բարձրախոս շղթա || Քայլ առ քայլ ձեռնարկ. Բարձրախոսների սխեման ուժեղացնում է շրջակա միջավայրից ստացված աուդիո ազդանշանները MIC- ում և այն ուղարկում է խոսնակին, որտեղից արտադրվում է ուժեղացված ձայնը:
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ ՝ հանդերձանքով. Իմ սեփական ռոբոտը կառուցելուց մի քանի ամիս անց (խնդրում եմ անդրադառնալ այս բոլորին), և երկու անգամ մասերի խափանումից հետո, ես որոշեցի մի քայլ հետ գնալ և նորից մտածել իմ մասին ռազմավարություն և ուղղություն: Մի քանի ամսվա փորձը երբեմն շատ հատուցող էր, և
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)