সুচিপত্র:

NodeMCU ESP8266: 10 ধাপ সহ লোকেশন ট্র্যাকার
NodeMCU ESP8266: 10 ধাপ সহ লোকেশন ট্র্যাকার

ভিডিও: NodeMCU ESP8266: 10 ধাপ সহ লোকেশন ট্র্যাকার

ভিডিও: NodeMCU ESP8266: 10 ধাপ সহ লোকেশন ট্র্যাকার
ভিডিও: Introduction to NodeMCU ESP8266 WiFi Development board with HTTP Client example- Robojax 2024, জুলাই
Anonim
NodeMCU ESP8266 সহ লোকেশন ট্র্যাকার
NodeMCU ESP8266 সহ লোকেশন ট্র্যাকার

আপনার নোডএমসিইউ কীভাবে আপনার অবস্থান ট্র্যাক করতে পারে সে সম্পর্কে আপনি কৌতূহলী? এটা সম্ভব, এমনকি জিপিএস মডিউল ছাড়া এবং ডিসপ্লে ছাড়াই। আউটপুট আপনি যেখানে অবস্থিত স্থানাঙ্ক হবে এবং আপনি তাদের আপনার সিরিয়াল মনিটরে দেখতে পাবেন।

Arduino IDE সহ NodeMCU 1.0 (ESP-12E মডিউল) এর জন্য নিম্নলিখিত সেটআপটি ব্যবহার করা হয়েছিল।

  • উইন্ডোজ ১০
  • Arduino IDE বনাম 1.8.4

ধাপ 1: আপনার কি দরকার

এই টিউটোরিয়ালটি অনুসরণ করার জন্য আপনার যা প্রয়োজন তা হল নিম্নলিখিত উপাদানগুলি:

  • মাইক্রো ইউএসবি কেবল
  • NodeMCU ESP8266

উপরন্তু, আপনার প্রয়োজন হবে:

  • অবস্থান API (Unwired Labs থেকে)
  • ওয়াইফাই বা হটস্পটে প্রবেশ

ধাপ 2: Unwired Labs এ যান

Unwired Labs এ যান
Unwired Labs এ যান

জিওলোকেশন খুব কাজে আসে কারণ যখন আপনার জিপিএস ডাউন থাকে তখনও আপনি আপনার লোকেশন ট্র্যাক করতে জিওলোকেশন ব্যবহার করতে পারেন। আমাদের হোস্ট যা ভৌগলিক অবস্থান প্রদান করে, তা হবে https://www.unwiredlabs.com/। সেই ওয়েবসাইটে যান এবং সাইন আপ করুন (উপরের ডান কোণে কমলা বোতাম)।

ধাপ 3: API টোকেন পেতে সাইন আপ করুন

API টোকেন পেতে সাইন আপ করুন
API টোকেন পেতে সাইন আপ করুন

সাইন আপ পৃষ্ঠায়, আপনাকে আপনার নাম, ইমেল (আপনার API টোকেন আপনার ইমেইলে পাঠানো হবে) এবং ব্যবহারের ক্ষেত্রে (উদাহরণস্বরূপ, ব্যক্তিগত ব্যবহার) পূরণ করতে হবে। আপনার অ্যাকাউন্টের ধরন নির্বাচন করুন। বিনামূল্যে সংস্করণ ঠিক কাজ করবে, কিন্তু মনে রাখবেন যে আপনি সীমিত এবং আপনার অবস্থান 24/7 ট্র্যাক করতে পারবেন না। চল শুরু করি!

ধাপ 4: আপনার ইমেইল চেক করুন

আপনার ইমেইলে যান এবং আপনি আপনার API টোকেন দেখতে পাবেন। API টোকেনটি অনুলিপি করুন, কারণ যে কোডটি আমরা ব্যবহার করব তার জন্য আপনার প্রয়োজন। এইভাবে ইমেলটি দেখতে কেমন:

হ্যালো!

Unwired Labs LocationAPI- এ সাইন আপ করার জন্য ধন্যবাদ! আপনার API টোকেন হল 'আপনার API কোড এখানে' (উদ্ধৃতি ছাড়া)। এটি বিনামূল্যে 100 টি অনুরোধ/ দিন দেবে - চিরতরে।

আপনি যদি বিনামূল্যে 5 টি ডিভাইস ট্র্যাক করতে চান, তাহলে অনুগ্রহ করে নিম্নলিখিত বিবরণ দিয়ে সাড়া দিন এবং আমরা 12 ঘন্টার মধ্যে আপনার অ্যাকাউন্ট আপগ্রেড করব:

1. স্থাপনার ধরন (হার্ডওয়্যার/ অ্যাপ/ অন্যান্য):

2. আপনার প্রকল্প সম্পর্কে:

3. ওয়েবসাইট:

আপনি এখানে আপনার ড্যাশবোর্ডে লগইন করতে পারেন: https://unwiredlabs.com/dashboard। যদি আপনি সমস্যায় পড়েন বা প্রশ্ন থাকে, এই ইমেলের উত্তর দিন এবং আমি আপনাকে সাহায্য করব!

খুশি অবস্থান!

সাগর

Unwired ল্যাব

ধাপ 5: লাইব্রেরি আপনার প্রয়োজন হবে

লাইব্রেরি আপনার প্রয়োজন হবে
লাইব্রেরি আপনার প্রয়োজন হবে

পরবর্তী ধাপ হল আরডুইনো খুলে লাইব্রেরিগুলি পরিচালনা করা। আপনাকে ArduinoJson লাইব্রেরি ইনস্টল করতে হবে। অন্যান্য লাইব্রেরিগুলি ইতিমধ্যেই অন্তর্নির্মিত। আপনি প্রস্তুত হলে, আপনি কোড লেখা শুরু করতে পারেন।

ধাপ 6: লোকেশনএপিআই এর সাথে সংযোগ স্থাপনের জন্য আরডুইনোতে কোড যুক্ত করুন

একটি নতুন স্কেচ তৈরি করুন এবং Arduino এ নিম্নলিখিত কোড যোগ করুন। আপনার নিজের ওয়াইফাই/হটস্পট নাম এবং আপনার পাসওয়ার্ড লিখুন। আপনি ইমেইলে প্রাপ্ত API টোকেন আটকান। আপনার কোড আপনার NodeMCU এ আপলোড করুন।

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

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

#অন্তর্ভুক্ত করুন "ESP8266WiFi.h"

// আপনার নেটওয়ার্ক SSID (নাম) এবং নেটওয়ার্ক পাসওয়ার্ড

char myssid = "আপনার ওয়াইফাই/হটস্পট নাম"; char mypass = "আপনার পাসওয়ার্ড";

// unwiredlabs Hostname & Geolocation Endpoint url

const char* Host = "www.unwiredlabs.com"; স্ট্রিং এন্ডপয়েন্ট = "/v2/process.php";

// UnwiredLabs API_Token। বিনামূল্যে টোকেন পেতে এখানে সাইনআপ করুন

স্ট্রিং টোকেন = "d99cccda52ec0b";

স্ট্রিং jsonString = "{ n";

// অবাঞ্ছিত ল্যাবস প্রতিক্রিয়া সংরক্ষণ করার জন্য ভেরিয়েবল

দ্বিগুণ অক্ষাংশ = 0.0; দ্বিগুণ দ্রাঘিমাংশ = 0.0; দ্বিগুণ নির্ভুলতা = 0.0;

অকার্যকর সেটআপ(){

Serial.begin (115200);

// ওয়াইফাইকে স্টেশন মোডে সেট করুন এবং যদি এটি পূর্বে সংযুক্ত থাকে তবে এপি থেকে সংযোগ বিচ্ছিন্ন করুন

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("সেটআপ সম্পন্ন");

// আমরা একটি ওয়াইফাই নেটওয়ার্কে সংযোগ দিয়ে শুরু করি

সিরিয়াল.প্রিন্ট ("এর সাথে সংযুক্ত হচ্ছে"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

বিলম্ব (500); সিরিয়াল.প্রিন্ট ("।"); } Serial.println ("।"); }

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

চর bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks পাওয়া নেটওয়ার্কের সংখ্যা ফিরিয়ে দেবে

int n = WiFi.scanNetworks (); Serial.println ("স্ক্যান সম্পন্ন");

যদি (n == 0) {

Serial.println ("কোন নেটওয়ার্ক উপলব্ধ নয়"); } অন্য {সিরিয়াল.প্রিন্ট (n); Serial.println ("নেটওয়ার্ক পাওয়া"); }

// এখন jsonString তৈরি করুন …

jsonString = "{ n"; jsonString += "\" টোকেন / ": \" "; jsonString += টোকেন; jsonString +=" / ", / n"; jsonString += "\" id / ":" saikirandevice01 / ", / n"; jsonString += "" wifi / ": [n"; জন্য (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" সংকেত / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; যদি (j <n - 1) {jsonString += "}, / n"; } অন্যথায় {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure ক্লায়েন্ট;

// ক্লায়েন্টের সাথে সংযোগ করুন এবং এপিআই কল করুন

Serial.println ("অনুরোধ করা URL: https://" + (স্ট্রিং) হোস্ট + এন্ডপয়েন্ট); যদি (client.connect (Host, 443)) {Serial.println ("সংযুক্ত"); client.println ("POST" + endpoint + "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 ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (লাইন); যদি (root.success ()) {latitude = root ["lat"]; দ্রাঘিমাংশ = মূল ["লন"]; নির্ভুলতা = মূল ["নির্ভুলতা"];

Serial.println ();

সিরিয়াল.প্রিন্ট ("অক্ষাংশ ="); Serial.println (অক্ষাংশ, 6); সিরিয়াল.প্রিন্ট ("দ্রাঘিমাংশ ="); Serial.println (দ্রাঘিমাংশ, 6); সিরিয়াল.প্রিন্ট ("সঠিকতা ="); Serial.println (নির্ভুলতা); }}

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

Serial.println (); client.stop ();

বিলম্ব (5000);

}

ধাপ 7: আপনি সংযুক্ত কিনা তা দেখতে সিরিয়াল মনিটর খুলুন

আরডুইনোতে সরঞ্জামগুলিতে যান এবং সিরিয়াল মনিটর খুলুন। আপনি ইন্টারনেটের সাথে সংযুক্ত কিনা তা দেখতে, আপনার সিরিয়াল মনিটরে নিম্নলিখিতগুলি দেখতে হবে:

সেটআপ সম্পন্ন

(আপনার ওয়াইফাই নাম) সাথে সংযুক্ত হচ্ছে… স্ক্যান সম্পন্ন হয়েছে

ধাপ 8: স্থানাঙ্কগুলি পান

যদি এটি সফলভাবে কাজ করে, আপনার স্ক্যানের অধীনে ডেটার একটি সম্পূর্ণ তালিকা দেখা উচিত। আমাদের প্রয়োজন একমাত্র জিনিসটি অনুরোধকারী URL এর অধীনে কোড, তাই আমাদের অক্ষাংশ এবং দ্রাঘিমাংশের প্রয়োজন হবে। এগুলো হলো স্থানাঙ্ক।

ইউআরএল অনুরোধ:

সংযুক্ত

অক্ষাংশ = 52.385259

দ্রাঘিমাংশ = 5.196099

সঠিকতা = 41.00

বন্ধ সংযোগ

5 সেকেন্ড পরে কোডটি ক্রমাগত আপডেট হবে এবং আপনি সম্ভবত অক্ষাংশ, দ্রাঘিমাংশ এবং নির্ভুলতার পরিবর্তন দেখতে পাবেন। কারণ এপিআই যতটা সম্ভব সঠিকভাবে অবস্থান ট্র্যাক করার চেষ্টা করছে।

ধাপ 9: গুগল ম্যাপে যান

গুগল ম্যাপে যান
গুগল ম্যাপে যান

Https://www.google.com/maps/ এ যান এবং সার্চ বারে আপনার স্থানাঙ্ক লিখুন। স্থানাঙ্কগুলি নিম্নলিখিত উপায়ে লিখতে হবে: 52.385259, 5.196099। ম্যাপে আপনি কোথায় আছেন তা গুগল ম্যাপে দেখানো উচিত।

ধাপ 10: আপনার মোবাইলে লোকেশন পাঠান

আপনার মোবাইলে লোকেশন পাঠান
আপনার মোবাইলে লোকেশন পাঠান

এবং তুমি করে ফেলেছ! অতএব, আপনি যদি আপনার মোবাইলে লোকেশন পাঠাতে চান, তাহলে এটা সম্ভব। আপনি চাইলে গুগল ম্যাপ আপনার স্থানাঙ্ক সহ একটি ইমেইল পাঠাবে।

খুশি অবস্থান!

প্রস্তাবিত: