ዝርዝር ሁኔታ:

ፍልስፍና - 5 ደረጃዎች
ፍልስፍና - 5 ደረጃዎች

ቪዲዮ: ፍልስፍና - 5 ደረጃዎች

ቪዲዮ: ፍልስፍና - 5 ደረጃዎች
ቪዲዮ: የፍቅር ሳይኮሎጂ 5 ደረጃዎች 2024, ህዳር
Anonim
GEOLOACATION
GEOLOACATION

እሱ የእኔ የበጋ internship ፕሮጀክት ነው። የጂፒኤስ ሞዱል ኖድኤምሲዩን ብቻ በመጠቀም የትኛውንም መሣሪያ መከታተል እንደምንችል ስሰማ በጣም አስገርመኛል። በዚህ በኩል ማንኛውንም መሣሪያ መከታተል እንችላለን። እንዲሁም WiFi ብቻ በመጠቀም መሣሪያን እንዴት መከታተል እንደምንችል ይገርማሉ። እሱን ለመረዳት የድርድሩ መግለጫ እዚህ አለ።

  • · ሁሉንም ማለት ይቻላል WiFiዎን ይቃኛል።
  • · ጉግል ኤፒአይን በመጠቀም ይህንን የመሣሪያ ሥፍራ ለ Google ይላኩ
  • · በዚህ መሠረት የመሣሪያዎን ሥፍራ ያገኝበታል
  • · ለዚህ ፕሮጀክት ጠንካራ የአውታረ መረብ ግንኙነት አለዎት።

ደረጃ 1: ክፍሎች እና መሣሪያ

ክፍሎች

  • NodeMCU (ESP8266 1.0 12E)
  • የዩኤስቢ ገመድ

መሣሪያዎች

አርዱዲኖ አይዲኢ ከ NodeMcu 1.0 12E ቦርድ ጋር

ጉግል ኤ.ፒ.አይ

ደረጃ 2 - ጉግል ኤፒአይ ያግኙ

Google ኤፒአይ ያግኙ
Google ኤፒአይ ያግኙ
Google ኤፒአይ ያግኙ
Google ኤፒአይ ያግኙ
Google ኤፒአይ ያግኙ
Google ኤፒአይ ያግኙ
  • አሳሽዎን ይክፈቱ እና ይተይቡ: console.developer.google.com
  • አዲስ ፕሮጀክት ይፍጠሩ
  • አዲስ ፕሮጀክት ከፈጠሩ በኋላ በእውቅና ማረጋገጫ ላይ ጠቅ ያድርጉ
  • በኤፒአይ ቁልፍ ላይ ጠቅ ያድርጉ
  • የእርስዎ ኤፒአይ ቁልፍ ተፈጥሯል

    በቀላሉ ለመረዳት የሚከተለውን ስዕል |> ይመልከቱ

ደረጃ 3: በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ

በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
በአርዱዲኖ አይዲኢ ላይ NodeMCu ን ያዋቅሩ
  • ከሚከተለው አገናኝ አርዱዲኖ IDE ን ያውርዱ-- https:// www. ዋና/ሶፍትዌር arduino.cc/en/
  • በአርዱዲኖ አይዲኢ ላይ የመስቀለኛ MCu ሰሌዳ ያክሉ
  • በ NodeMCU ላይ ኮድ ለመስቀል የ NodeMCu ሰሌዳውን በ ARDUINO IDE ላይ ማከል አለብዎት።

    • በአርዱዲኖ አይዲኢ ውስጥ ወደ ፋይል እና ምርጫ ይሂዱ
    • እና ተጨማሪ የቦርድ አስተዳደር ክፍል ውስጥ የሚከተለውን አገናኝ ይቅዱ
    • arduino.esp8266.com/stable/package_esp8266c…
    • እና እሺን ጠቅ ያድርጉ
    • ቦርዱ ወርዷል
    • ወደ መሳሪያዎች እና ሰሌዳ ይሂዱ እና NodeMCU 1.0 12E ን ይምረጡ
    • በቀላሉ ለመረዳት የአቦቦ ሥዕሉን ይመልከቱ

ደረጃ 4: ArduinoJson Library ን ያውርዱ

ArduinoJson ቤተ -መጽሐፍትን ያውርዱ
ArduinoJson ቤተ -መጽሐፍትን ያውርዱ
  • ወደ ሂድ
  • ንድፍ ቤተመጽሐፍት ቤተ -መጽሐፍትን ያቀናብሩ

    በፍለጋ ሳጥን ውስጥ አርዱዲኖ ጄሰን ይተይቡ

    የቅርብ ጊዜውን የ ArduinoJson ቤተ -መጽሐፍትን ያውርዱ

    ቤተ -መጽሐፍትን ካወረዱ በኋላ ጠቅ ያድርጉ ዝጋ

    ቤተ -መጽሐፍት ያክሉ ከ

    ንድፍ ከቤተመጽሐፍት አርዱinoኖ ጆንሰን ጋር

ደረጃ 5 - ፕሮግራም

በ NodeMCU ቦርድ ላይ የሚከተለውን ፕሮግራም ይስቀሉ። እና በተከታታይ ማሳያ ላይ የእርስዎን መሣሪያ (NodeMCU 1.0 12E ቦርድ) ቦታን ይመልከቱ።

#ያካትቱ

#ያካትቱ

#ያካትቱ

char myssid = "የእርስዎ SSID"; // አውታረ መረብዎ SSID (ስም)

char mypass = "የይለፍ ቃልዎ"; // የአውታረ መረብ የይለፍ ቃልዎን

// ምስክርነቶች ለ Google GeoLocation API…

const char* አስተናጋጅ = "www.googleapis.com";

ይህን ገጽ ሕብረቁምፊ = "/geolocation/v1/geolocate? Key =";

// --- እዚህ የጉግል ካርታዎች አፕ ቁልፍን ያግኙ-

developers.google.com/maps/documentation/geolocation/intro

የሕብረቁምፊ ቁልፍ = "የእርስዎ የጉግል ኤፒአይ ቁልፍ" ፤ // ከደረጃ 2 ያግኙ

ትምህርት

int ሁኔታ = WL_IDLE_STATUS;

ሕብረቁምፊ jsonString = "{ n";

ድርብ ኬክሮስ = 0.0;

ድርብ ኬንትሮስ = 0.0;

ድርብ ትክክለኛነት = 0.0;

int more_text = 1; ለተጨማሪ የማረም ውፅዓት // ወደ 1 ተቀናብሯል

ባዶነት ማዋቀር () {

Serial.begin (9600);

Serial.println ("ጀምር");

// WiFi ን ወደ ጣቢያው ሁኔታ ያዋቅሩ እና

ቀደም ሲል የተገናኘ ከሆነ ከኤ.ፒ

WiFi.mode (WIFI_STA);

WiFi. ግንኙነት ያቋርጡ ();

መዘግየት (100);

Serial.println ( ማዋቀር

ተከናውኗል );

// እኛ በማገናኘት እንጀምራለን ሀ

የ WiFi አውታረ መረብ

Serial.print ( ከ ጋር በመገናኘት ላይ

);

Serial.println (myssid);

WiFi.begin (myssid, mypass);

ሳለ (WiFi.status ()! = WL_CONNECTED) {

መዘግየት (500);

Serial.print (".");

}

Serial.println (".");

}

ባዶነት loop () {

char bssid [6];

DynamicJsonBuffer jsonBuffer;

Serial.println ("የፍተሻ ጅምር");

// WiFi.scan አውታረ መረቦች ይመለሳሉ

የተገኙ አውታረ መረቦች ብዛት

int n = WiFi.scanNetworks ();

Serial.println ("scandone");

ከሆነ (n == 0)

Serial.println ("ምንም አውታረ መረቦች አልተገኙም");

ሌላ

{

Serial.print (n);

Serial.println ("አውታረ መረቦች መሠረተ…");

ከሆነ (ተጨማሪ_ጽሑፍ) {

// የተቀረፀውን json ያትሙ…

Serial.println ("{");

Serial.println ("\" homeMobileCountryCode / ": 234,"); // ይህ እውነተኛ የዩኬ ኤምሲሲ ነው

Serial.println ("\" homeMobileNetworkCode / ": 27,"); // እና እውነተኛ የዩኬ ኤምኤንሲ

Serial.println ("\" radioType / ": \" gsm / ","); // ለጂ.ኤስ.ኤም

Serial.println ("\" carrier / ": \" 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"; // እና እውነተኛ የዩኬ ኤምኤንሲ

jsonString += "\" radioType / ": \" gsm / ", / n"; // ለጂ.ኤስ.ኤም

jsonString += "\" carrier / ": \" Vodafone / ", / n"; // ከቮዳፎን ጋር የተቆራኘ

jsonString += "\" wifiAccessPoints / ": [n";

ለ (int j = 0; j <n; ++ j)

{

jsonString += "{ n";

jsonString += "\" macAddress / ": \" ";

jsonString += (WiFi. BSSIDstr (j));

jsonString += "\", / n ";

jsonString += "\" signalStrength / ":";

jsonString += WiFi. RSSI (j);

jsonString += "\ n";

ከሆነ (j <n - 1)

{

jsonString += "}, / n";

}

ሌላ

{

jsonString += "} n";

}

}

jsonString += ("] n");

jsonString += ("} n");

//--------------------------------------------------------------------

Serial.println ("");

የ WiFiClientSecure ደንበኛ;

// ከደንበኛው ጋር ይገናኙ እና የኤፒአይ ጥሪ ያድርጉ

Serial.print ("URL ን በመጠየቅ ላይ");

// ---- የ Google ካርታዎች Api ቁልፍን እዚህ ያግኙ ፣ አገናኝ

Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");

Serial.println ("");

ከሆነ (client.connect (አስተናጋጅ ፣ 443)) {

Serial.println ("ተገናኝቷል");

client.println ("POST" + thisPage + key + "HTTP/1.1");

client.println ("አስተናጋጅ:" + (ሕብረቁምፊ) አስተናጋጅ);

client.println ("ግንኙነት: ዝጋ");

client.println ("የይዘት-ዓይነት: ትግበራ/json");

client.println ("ተጠቃሚ-ወኪል አርዱinoኖ/1.0");

client.print ("የይዘት-ርዝመት:");

client.println (jsonString.length ());

client.println ();

client.print (jsonString);

መዘግየት (500);

}

// ሁሉንም መስመሮች ያንብቡ እና ይተንትኑ

መልሱ ከአገልጋይ

ሳለ (ደንበኛ. ይገኛል ()) {

ሕብረቁምፊ መስመር = ደንበኛ ።readStringUntil ('\ r');

ከሆነ (ተጨማሪ_ጽሑፍ) {

Serial.print (መስመር);

}

JsonObject & root = jsonBuffer.parseObject (መስመር);

ከሆነ (root.success ()) {

ኬክሮስ = ሥር ["ሥፍራ"] ["lat"];

ኬንትሮስ = ሥር ["ሥፍራ"] ["lng"];

ትክክለኛነት = ሥር ["ትክክለኛነት"];

}

}

Serial.println ("የመዝጊያ ግንኙነት");

Serial.println ();

client.stop ();

Serial.print ("Latitude =");

Serial.println (ኬክሮስ ፣ 6);

Serial.print ("ኬንትሮስ =");

Serial.println (ኬንትሮስ ፣ 6);

Serial.print ("ትክክለኛነት =");

Serial.println (ትክክለኛነት);

መዘግየት (10000);

Serial.println ();

Serial.println ("ዳግም ማስጀመር …");

Serial.println ();

መዘግየት (2000);

}

የሚመከር: