সুচিপত্র:

জিওলোকেশন: 5 টি ধাপ
জিওলোকেশন: 5 টি ধাপ

ভিডিও: জিওলোকেশন: 5 টি ধাপ

ভিডিও: জিওলোকেশন: 5 টি ধাপ
ভিডিও: ফোনের MB দ্রুত শেষ হয়ে যায় । এখন আমি কি করবো ?? এখন থেখে 1GB Internet শেষ হবে না আপনার 2024, নভেম্বর
Anonim
জিওলোকেশন
জিওলোকেশন

এটি আমার সামার ইন্টার্নশিপ প্রকল্প। আমি সত্যিই অবাক হই যখন আমি শুনি যে আমরা জিপিএস মডিউল ব্যবহার না করেই শুধুমাত্র নোডএমসিইউ ব্যবহার করে যেকোনো ডিভাইসের অবস্থান সনাক্ত করতে পারি। এর মাধ্যমে আমরা যেকোনো ডিভাইস ট্রেস করতে পারি ।আপনি অবাক করবেন কিভাবে আমরা শুধুমাত্র ওয়াইফাই ব্যবহার করে ডিভাইসটি ট্রেস করতে পারি। এটা বোঝার জন্য এখানে সাজানোর বর্ণনা।

  • · এটি আপনার প্রায় সব ওয়াইফাই স্ক্যান করে।
  • Google গুগল এপিআই ব্যবহার করে গুগলে এই ডিভাইসের অবস্থান পাঠান
  • This এই অনুযায়ী এটি আপনার ডিভাইসের অবস্থান সনাক্ত করে
  • Project এই প্রকল্পের জন্য আপনার শক্তিশালী নেটওয়ার্ক সংযোগ রয়েছে

ধাপ 1: যন্ত্রাংশ এবং সরঞ্জাম

যন্ত্রাংশ

  • NodeMCU (ESP8266 1.0 12E)
  • USB তারের

সরঞ্জাম

NodeMcu 1.0 12E বোর্ড সহ Arduino IDE

গুগল এপিআই

ধাপ 2: গুগল এপিআই খুঁজুন

Google API খুঁজুন
Google API খুঁজুন
Google API খুঁজুন
Google API খুঁজুন
Google API খুঁজুন
Google API খুঁজুন
  • আপনার ব্রাউজার খুলুন এবং টাইপ করুন: console.developer.google.com
  • একটি নতুন প্রকল্প তৈরি করুন
  • একটি নতুন প্রকল্প তৈরি করার পরে শংসাপত্রের উপর ক্লিক করুন
  • API কী -এ ক্লিক করুন
  • আপনার API কী তৈরি করা হয়েছে

    সহজে বোঝার জন্য নিচের ছবিটি দেখুন |>

ধাপ 3: Arduino IDE তে NodeMCu সেটআপ করুন

Arduino IDE তে NodeMCu সেটআপ করুন
Arduino IDE তে NodeMCu সেটআপ করুন
Arduino IDE তে NodeMCu সেটআপ করুন
Arduino IDE তে NodeMCu সেটআপ করুন
Arduino IDE তে NodeMCu সেটআপ করুন
Arduino IDE তে NodeMCu সেটআপ করুন
  • নিম্নলিখিত লিঙ্ক থেকে Arduino IDE ডাউনলোড করুন:- https:// www। প্রধান/সফটওয়্যার arduino.cc/en/
  • Arduino IDE তে নোড MCu বোর্ড যুক্ত করুন
  • NodeMCU এ কোড আপলোড করার জন্য আপনাকে ARDUINO IDE তে NodeMCu বোর্ড যুক্ত করতে হবে।

    • Arduino IDE এ ফাইল এবং পছন্দ করতে যান
    • এবং অতিরিক্ত বোর্ড ম্যানেজার বিভাগে নিম্নলিখিত লিঙ্কটি অনুলিপি করুন
    • arduino.esp8266.com/stable/package_esp8266c…
    • এবং ঠিক আছে ক্লিক করুন
    • বোর্ড ডাউনলোড করা হয়
    • সরঞ্জাম এবং বোর্ডে যান এবং NodeMCU 1.0 12E নির্বাচন করুন
    • সহজে বোঝার জন্য avobe ছবি দেখুন

ধাপ 4: ArduinoJson লাইব্রেরি ডাউনলোড করুন

ArduinoJson লাইব্রেরি ডাউনলোড করুন
ArduinoJson লাইব্রেরি ডাউনলোড করুন
  • এ যান
  • স্কেচ অন্তর্ভুক্ত লাইব্রেরি ম্যানেজ করুন লাইব্রেরি

    সার্চ বক্সে Arduino Json টাইপ করুন

    ArduinoJson লাইব্রেরির সর্বশেষ সংস্করণটি ডাউনলোড করুন

    লাইব্রেরি ডাউনলোড করার পর বন্ধ ক্লিক করুন

    থেকে লাইব্রেরি যোগ করুন

    SketchincludeLibraryArduinoJson

ধাপ 5: প্রোগ্রাম

NodeMCU বোর্ডে নিম্নলিখিত প্রোগ্রাম আপলোড করুন। এবং সিরিয়াল মনিটরে আপনার ডিভাইস (NodeMCU 1.0 12E বোর্ড) লোকেশন দেখুন।

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

char myssid = "আপনার SSID"; // আপনার নেটওয়ার্ক SSID (নাম)

char mypass = "আপনার পাসওয়ার্ড"; // আপনার নেটওয়ার্ক পাসওয়ার্ড

// Google GeoLocation API- এর শংসাপত্র…

const char* Host = "www.googleapis.com";

স্ট্রিং thisPage = "/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.mode (WIFI_STA);

WiFi.disconnect ();

বিলম্ব (100);

Serial.println ( সেটআপ

সম্পন্ন );

// আমরা a এর সাথে সংযোগ করে শুরু করি

ওয়াইফাই নেটওয়ার্ক

Serial.print ( কানেক্ট করা হচ্ছে

);

Serial.println (myssid);

WiFi.begin (myssid, mypass);

যখন (WiFi.status ()! = WL_CONNECTED) {

বিলম্ব (500);

সিরিয়াল.প্রিন্ট ("।");

}

Serial.println ("।");

}

অকার্যকর লুপ () {

চর bssid [6];

DynamicJsonBuffer jsonBuffer;

Serial.println ("স্ক্যান শুরু");

// WiFi.scanNetworks ফিরে আসবে

পাওয়া নেটওয়ার্কের সংখ্যা

int n = WiFi.scanNetworks ();

Serial.println ("স্ক্যান্ডোন");

যদি (n == 0)

Serial.println ("কোন নেটওয়ার্ক পাওয়া যায়নি");

অন্য

{

সিরিয়াল.প্রিন্ট (এন);

Serial.println ("নেটওয়ার্কসাউন্ড …");

যদি (more_text) {

// বিন্যাসিত json প্রিন্ট করুন …

Serial.println ("{");

Serial.println ("" homeMobileCountryCode / ": 234,"); // এটি একটি বাস্তব ইউকে এমসিসি

Serial.println ("" homeMobileNetworkCode / ": 27,"); // এবং একটি বাস্তব ইউকে এমএনসি

Serial.println ("\" radioType / ": \" gsm / ","); // জিএসএম এর জন্য

Serial.println ("carrier" ক্যারিয়ার / ":" ভোডাফোন / ","); // ভোডাফোনের সাথে যুক্ত

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 ("\", ");

সিরিয়াল.প্রিন্ট ("\" signalStrength / ":");

Serial.println (WiFi. RSSI (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 += "\" ক্যারিয়ার / ": \" ভোডাফোন / ", / 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.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");

Serial.println ("");

যদি (client.connect (Host, 443)) {

Serial.println ("সংযুক্ত");

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

client.println ("হোস্ট:" + (স্ট্রিং) হোস্ট);

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');

যদি (more_text) {

সিরিয়াল.প্রিন্ট (লাইন);

}

JsonObject & root = jsonBuffer.parseObject (লাইন);

যদি (root.success ()) {

অক্ষাংশ = মূল ["অবস্থান"] ["অক্ষাংশ];

দ্রাঘিমাংশ = মূল ["অবস্থান"] ["lng"];

নির্ভুলতা = মূল ["নির্ভুলতা"];

}

}

Serial.println ("বন্ধ সংযোগ");

Serial.println ();

client.stop ();

সিরিয়াল.প্রিন্ট ("অক্ষাংশ =");

Serial.println (অক্ষাংশ, 6);

সিরিয়াল.প্রিন্ট ("দ্রাঘিমাংশ =");

Serial.println (দ্রাঘিমাংশ, 6);

সিরিয়াল.প্রিন্ট ("সঠিকতা =");

Serial.println (নির্ভুলতা);

বিলম্ব (10000);

Serial.println ();

Serial.println ("পুনরায় চালু হচ্ছে …");

Serial.println ();

বিলম্ব (2000);

}

প্রস্তাবিত: