विषयसूची:

भौगोलिक स्थान: 5 कदम
भौगोलिक स्थान: 5 कदम

वीडियो: भौगोलिक स्थान: 5 कदम

वीडियो: भौगोलिक स्थान: 5 कदम
वीडियो: भारत की स्थिति और विस्तार | Indian Geography | भारतिय भूगोल | Study vines official | 2024, जुलाई
Anonim
भौगोलिक स्थान
भौगोलिक स्थान

यह मेरा समर इंटर्नशिप प्रोजेक्ट है। मुझे वास्तव में आश्चर्य होता है जब मैंने सुना है कि हम केवल NodeMCU का उपयोग करके GPS मॉड्यूल का उपयोग किए बिना किसी भी उपकरण का पता लगा सकते हैं। इसके माध्यम से हम किसी भी डिवाइस को ट्रेस कर सकते हैं। आपको यह भी आश्चर्य होता है कि हम केवल वाईफाई का उपयोग करके डिवाइस को कैसे ट्रेस कर सकते हैं। इसे समझने के लिए यहां क्रमबद्ध विवरण दिया गया है।

  • · यह आपके लगभग सभी वाईफाई को स्कैन करता है।
  • · Google API का उपयोग करके इस उपकरण स्थान को Google को भेजें
  • · इसके अनुसार यह आपके डिवाइस के स्थान का पता लगाता है
  • · इस परियोजना के लिए आपके पास मजबूत नेटवर्क कनेक्शन है।

चरण 1: पुर्जे और उपकरण

पार्ट्स

  • NodeMCU (ESP8266 1.0 12E)
  • यूएसबी केबल

उपकरण

NodeMcu 1.0 12E बोर्ड के साथ Arduino IDE

गूगल एपीआई

चरण 2: Google API ढूंढें

गूगल एपीआई खोजें
गूगल एपीआई खोजें
गूगल एपीआई खोजें
गूगल एपीआई खोजें
गूगल एपीआई खोजें
गूगल एपीआई खोजें
  • अपना ब्राउज़र खोलें और टाइप करें: console.developer.google.com
  • एक नया प्रोजेक्ट बनाएं
  • नया प्रोजेक्ट बनाने के बाद क्रेडेंशियल पर क्लिक करें
  • एपीआई कुंजी पर क्लिक करें
  • आपकी एपीआई कुंजी उत्पन्न हो गई है

    आसानी से समझने के लिए निम्न चित्र देखें |>

चरण 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/hi/
  • Arduino IDE पर नोड एमसीयू बोर्ड जोड़ें
  • NodeMCU पर कोड अपलोड करने के लिए आपको ARDUINO IDE पर NodeMCu बोर्ड जोड़ना होगा।

    • Arduino IDE में फ़ाइल और वरीयता पर जाएं
    • और अतिरिक्त बोर्ड प्रबंधक अनुभाग में निम्न लिंक को कॉपी करें
    • arduino.esp8266.com/stable/package_esp8266c…
    • और ठीक क्लिक करें
    • बोर्ड डाउनलोड किया गया है
    • टूल और बोर्ड पर जाएं और NodeMCU 1.0 12E चुनें
    • आसानी से समझने के लिए एवोबे तस्वीर देखें

चरण 4: ArduinoJson लाइब्रेरी डाउनलोड करें

ArduinoJson लाइब्रेरी डाउनलोड करें
ArduinoJson लाइब्रेरी डाउनलोड करें
  • के पास जाओ
  • स्केच लाइब्रेरी शामिल करें लाइब्रेरी प्रबंधित करें

    सर्च बॉक्स में Arduino Json टाइप करें

    ArduinoJson लाइब्रेरी का नवीनतम संस्करण डाउनलोड करें

    लाइब्रेरी डाउनलोड करने के बाद बंद करें पर क्लिक करें

    से पुस्तकालय जोड़ें

    SketchincludeLibraryArduinoJson

चरण 5: कार्यक्रम

निम्नलिखित प्रोग्राम को NodeMCU बोर्ड पर अपलोड करें। और सीरियल मॉनिटर पर अपना डिवाइस (NodeMCU 1.0 12E बोर्ड) स्थान देखें।

#शामिल

#शामिल

#शामिल

चार मिसिड = "आपका एसएसआईडी"; // आपका नेटवर्क SSID (नाम)

चार मायपास = "आपका पासवर्ड"; // आपका नेटवर्क पासवर्ड

// गूगल जियोलोकेशन एपीआई के लिए क्रेडेंशियल…

कास्ट चार* होस्ट = "www.googleapis.com";

स्ट्रिंग thisPage = "/ जियोलोकेशन/v1/जियोलोकेट? की =";

// --- यहां एक Google मानचित्र एपी कुंजी प्राप्त करें:

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

स्ट्रिंग कुंजी = "आपकी Google API कुंजी";//चरण 2 से खोजें

अनुदेश

इंट स्थिति = WL_IDLE_STATUS;

स्ट्रिंग जेसनस्ट्रिंग = "{ n";

दोहरा अक्षांश = 0.0;

दोहरा देशांतर = 0.0;

दोहरी सटीकता = 0.0;

इंट मोर_टेक्स्ट = 1; // अधिक डिबग आउटपुट के लिए 1 पर सेट करें

व्यर्थ व्यवस्था() {

सीरियल.बेगिन (९६००);

Serial.println ("प्रारंभ");

// वाईफाई को स्टेशन मोड पर सेट करें और

एपी से डिस्कनेक्ट करें यदि यह पहले जुड़ा हुआ था

वाईफाई.मोड (वाईफाई_एसटीए);

वाईफाई.डिस्कनेक्ट ();

देरी (100);

Serial.println ( सेटअप

किया हुआ );

// हम a. से जुड़कर शुरू करते हैं

वाईफाई नेटवर्क

Serial.print ( से कनेक्ट हो रहा है

);

Serial.println (myssid);

WiFi.begin (myssid, mypass);

जबकि (वाईफाई.स्टेटस()!=WL_CONNECTED) {

देरी (500);

सीरियल.प्रिंट ("।");

}

सीरियल.प्रिंट्लन ("।");

}

शून्य लूप () {

चार बी एस आई डी [6];

डायनेमिकजसनबफर

Serial.println ("स्कैन स्टार्ट");

// WiFi.scanNetworks वापस आ जाएगा

पाए गए नेटवर्क की संख्या

int n = WiFi.scanNetworks ();

Serial.println ("स्कैंडोन");

अगर (एन == 0)

Serial.println ("कोई नेटवर्क नहीं मिला");

अन्यथा

{

सीरियल.प्रिंट (एन);

Serial.println ("नेटवर्क मिला …");

अगर (more_text) {

// फ़ॉर्मेट किए गए json का प्रिंट आउट लें…

सीरियल.प्रिंट्लन ("{");

Serial.println("\"homeMobileCountryCode\":२३४, "); // यह एक वास्तविक यूके एमसीसी है

Serial.println("\"homeMobileNetworkCode\":27, "); // और एक वास्तविक यूके एमएनसी

Serial.println("\"रेडियोटाइप\":\"जीएसएम\", "); // जीएसएम के लिए

Serial.println ("\"वाहक\":\"वोडाफोन\", "); // वोडाफोन से जुड़े

Serial.println ("\" सेलटॉवर्स \": ["); // मैं किसी भी सेल टावर की रिपोर्ट नहीं कर रहा हूँ

सीरियल.प्रिंट्लन ("], ");

Serial.println ("\"wifiAccessPoints\": [");

के लिए (int i = 0; i < n; ++i)

{

सीरियल.प्रिंट्लन ("{");

सीरियल.प्रिंट ("\"मैकएड्रेस\": \"");

सीरियल.प्रिंट (वाईफाई। बीएसएसआईडीस्ट्र (i));

सीरियल.प्रिंट्लन ("\", ");

सीरियल.प्रिंट ("\"सिग्नलस्ट्रेंथ\": ");

Serial.println (वाईफाई। आरएसएसआई (i));

अगर (मैं <एन -1)

{

सीरियल.प्रिंट्लन ("}, ");

}

अन्यथा

{

सीरियल.प्रिंट्लन ("}");

}

}

सीरियल.प्रिंट्लन ("]");

सीरियल.प्रिंट्लन ("}");

}

सीरियल.प्रिंट्लन ("");

}

// अब jsonString बनाएँ…

जेसनस्ट्रिंग = "{ n";

jsonString +="\"homeMobileCountryCode\": २३४, \n"; // यह एक वास्तविक यूके एमसीसी है

jsonString +="\"homeMobileNetworkCode\": 27, \n"; // और एक वास्तविक यूके एमएनसी

jsonString +="\"रेडियोटाइप\": \"जीएसएम\", \n"; // जीएसएम के लिए

jsonString +="\"वाहक\": \"वोडाफोन\", \n"; // वोडाफोन से जुड़े

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

के लिए (इंट जे = 0; जे <एन; ++ जे)

{

जेसनस्ट्रिंग + = "{ n";

jsonString +="\"मैकएड्रेस\": \"";

जेसनस्ट्रिंग + = (वाईफाई। बीएसएसआईडीस्ट्र (जे));

जेसनस्ट्रिंग + = "\", / n";

jsonString +="\"सिग्नलस्ट्रेंथ\": ";

jsonString += WiFi. RSSI(j);

जेसनस्ट्रिंग + = "\ n";

अगर (जे <एन -1)

{

जेसनस्ट्रिंग + = "}, / n";

}

अन्यथा

{

जेसनस्ट्रिंग + = "} n";

}

}

जेसनस्ट्रिंग + = ("] n");

जेसनस्ट्रिंग + = ("} n");

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

सीरियल.प्रिंट्लन ("");

WiFiClientSecure क्लाइंट;

// क्लाइंट से कनेक्ट करें और एपीआई कॉल करें

सीरियल.प्रिंट ("यूआरएल का अनुरोध:");

// ---- यहां Google मानचित्र एपीआई कुंजी प्राप्त करें, लिंक:

Serial.println ("https://" + (स्ट्रिंग) होस्ट + यह पेज + "पुट-योर-गूगल-मैप्स-एपीआई-की-यहाँ");

सीरियल.प्रिंट्लन ("");

अगर (क्लाइंट.कनेक्ट (होस्ट, 443)) {

Serial.println ("कनेक्टेड");

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

client.println ("होस्ट:" + (स्ट्रिंग) होस्ट);

client.println ("कनेक्शन: बंद करें");

client.println ("सामग्री-प्रकार: एप्लिकेशन/जेसन");

client.println ("उपयोगकर्ता-एजेंट: Arduino/1.0");

क्लाइंट.प्रिंट ("सामग्री-लंबाई:");

client.println (jsonString.length ());

क्लाइंट.प्रिंट्लन ();

क्लाइंट.प्रिंट (जेसनस्ट्रिंग);

देरी (500);

}

// की सभी पंक्तियों को पढ़ें और पार्स करें

सर्वर से उत्तर

जबकि (ग्राहक उपलब्ध ()) {

स्ट्रिंग लाइन =client.readStringUntil('\r');

अगर (more_text) {

सीरियल.प्रिंट (लाइन);

}

JsonObject और रूट =jsonBuffer.parseObject (लाइन);

अगर (रूट। सफलता ()) {

अक्षांश = जड़ ["स्थान"] ["अक्षांश"];

देशांतर = जड़ ["स्थान"] ["एलएनजी"];

सटीकता = जड़ ["सटीकता"];

}

}

Serial.println ("कनेक्शन बंद करना");

सीरियल.प्रिंट्लन ();

क्लाइंट.स्टॉप ();

सीरियल.प्रिंट ("अक्षांश =");

Serial.println(अक्षांश, ६);

सीरियल.प्रिंट ("देशांतर =");

Serial.println (देशांतर, ६);

सीरियल.प्रिंट ("सटीकता =");

Serial.println (सटीकता);

देरी (10000);

सीरियल.प्रिंट्लन ();

Serial.println ("पुनरारंभ कर रहा है…");

सीरियल.प्रिंट्लन ();

देरी (2000);

}

सिफारिश की: