সুচিপত্র:
- ধাপ 1: যন্ত্রাংশ এবং সরঞ্জাম
- ধাপ 2: গুগল এপিআই খুঁজুন
- ধাপ 3: Arduino IDE তে NodeMCu সেটআপ করুন
- ধাপ 4: ArduinoJson লাইব্রেরি ডাউনলোড করুন
- ধাপ 5: প্রোগ্রাম
ভিডিও: জিওলোকেশন: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
এটি আমার সামার ইন্টার্নশিপ প্রকল্প। আমি সত্যিই অবাক হই যখন আমি শুনি যে আমরা জিপিএস মডিউল ব্যবহার না করেই শুধুমাত্র নোডএমসিইউ ব্যবহার করে যেকোনো ডিভাইসের অবস্থান সনাক্ত করতে পারি। এর মাধ্যমে আমরা যেকোনো ডিভাইস ট্রেস করতে পারি ।আপনি অবাক করবেন কিভাবে আমরা শুধুমাত্র ওয়াইফাই ব্যবহার করে ডিভাইসটি ট্রেস করতে পারি। এটা বোঝার জন্য এখানে সাজানোর বর্ণনা।
- · এটি আপনার প্রায় সব ওয়াইফাই স্ক্যান করে।
- Google গুগল এপিআই ব্যবহার করে গুগলে এই ডিভাইসের অবস্থান পাঠান
- This এই অনুযায়ী এটি আপনার ডিভাইসের অবস্থান সনাক্ত করে
- Project এই প্রকল্পের জন্য আপনার শক্তিশালী নেটওয়ার্ক সংযোগ রয়েছে
ধাপ 1: যন্ত্রাংশ এবং সরঞ্জাম
যন্ত্রাংশ
- NodeMCU (ESP8266 1.0 12E)
- USB তারের
সরঞ্জাম
NodeMcu 1.0 12E বোর্ড সহ Arduino IDE
গুগল এপিআই
ধাপ 2: গুগল এপিআই খুঁজুন
- আপনার ব্রাউজার খুলুন এবং টাইপ করুন: console.developer.google.com
- একটি নতুন প্রকল্প তৈরি করুন
- একটি নতুন প্রকল্প তৈরি করার পরে শংসাপত্রের উপর ক্লিক করুন
- API কী -এ ক্লিক করুন
-
আপনার API কী তৈরি করা হয়েছে
সহজে বোঝার জন্য নিচের ছবিটি দেখুন |>
ধাপ 3: 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 লাইব্রেরি ডাউনলোড করুন
- এ যান
স্কেচ অন্তর্ভুক্ত লাইব্রেরি ম্যানেজ করুন লাইব্রেরি
সার্চ বক্সে 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);
}
প্রস্তাবিত:
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ: 3 ধাপ
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ তৈরি করতে হয়: বেশিরভাগ সময় আমি মুখোমুখি হয়েছি, আমার প্রতিদিনের কাজের জন্য আমার ভাল সংকেত শক্তি নেই। তাই। আমি বিভিন্ন ধরণের অ্যান্টেনা অনুসন্ধান করি এবং চেষ্টা করি কিন্তু কাজ করি না। নষ্ট সময়ের পরে আমি একটি অ্যান্টেনা খুঁজে পেয়েছি যা আমি তৈরি এবং পরীক্ষা করার আশা করি, কারণ এটি নির্মাণের নীতি নয়
Arduino Halloween Edition - Zombies Pop -out Screen (ছবি সহ ধাপ): 6 টি ধাপ
আরডুইনো হ্যালোইন সংস্করণ - জম্বি পপ -আউট স্ক্রিন (ছবি সহ ধাপ): আপনার বন্ধুদের ভয় দেখাতে চান এবং হ্যালোইনে কিছু চিৎকারের শব্দ করতে চান? অথবা শুধু কিছু ভাল কৌতুক করতে চান? এই Zombies পপ আউট পর্দা যে করতে পারেন! এই নির্দেশনায় আমি আপনাকে শেখাবো কিভাবে সহজেই আরডুইনো ব্যবহার করে লাফ দিয়ে জম্বি তৈরি করতে হয়। HC-SR0
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): 8 টি ধাপ
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): অতিস্বনক শব্দ ট্রান্সডুসার L298N Dc মহিলা অ্যাডাপ্টার একটি পুরুষ ডিসি পিন Arduino UNO ব্রেডবোর্ড দিয়ে কিভাবে এটি কাজ করে: প্রথমে, আপনি Arduino Uno এ কোড আপলোড করুন (এটি ডিজিটাল সজ্জিত একটি মাইক্রোকন্ট্রোলার এবং এনালগ পোর্ট কোড রূপান্তর করতে (C ++)
11 ধাপ রুবে গোল্ডবার্গ মেশিন: 8 টি ধাপ
11 স্টেপ রুবে গোল্ডবার্গ মেশিন: এই প্রজেক্টটি একটি 11 স্টেপ রুবে গোল্ডবার্গ মেশিন, যা একটি জটিল পদ্ধতিতে একটি সহজ কাজ তৈরি করার জন্য ডিজাইন করা হয়েছে। এই প্রকল্পের কাজ হল সাবানের বার ধরা
গুরুত্বপূর্ণ হাত ধোয়ার ধাপ শেখানোর মেশিন: 5 টি ধাপ
ক্রিটিক্যাল হ্যান্ড ওয়াশিং স্টেপ টিচিং মেশিন: এটি এমন একটি মেশিন যা ব্যবহারকারীকে তার হাত ধোয়ার সময় ধাপগুলো সম্পর্কে মনে করিয়ে দেয়। মহামারী বা মহামারী প্রতিরোধের সময়