جدول المحتويات:

تعقب الموقع مع NodeMCU ESP8266: 10 خطوات
تعقب الموقع مع NodeMCU ESP8266: 10 خطوات

فيديو: تعقب الموقع مع NodeMCU ESP8266: 10 خطوات

فيديو: تعقب الموقع مع NodeMCU ESP8266: 10 خطوات
فيديو: 10 Best Nodemcu ESP8266 Project Ideas For You | Top 10 nodemcu projects 2024, يوليو
Anonim
تعقب الموقع مع NodeMCU ESP8266
تعقب الموقع مع NodeMCU ESP8266

هل لديك فضول حول كيف يمكن لـ NodeMCU الخاص بك تتبع موقعك؟ إنه ممكن ، حتى بدون وحدة GPS وبدون شاشة. ستكون المخرجات هي إحداثيات مكان وجودك وسترى هذه الإحداثيات في شاشتك التسلسلية.

تم استخدام الإعداد التالي لـ NodeMCU 1.0 (وحدة ESP-12E) مع Arduino IDE.

  • نظام التشغيل Windows 10
  • Arduino IDE v. 1.8.4

الخطوة 1: ماذا تحتاج

ما تحتاجه لمتابعة هذا البرنامج التعليمي هي المكونات التالية:

  • كابل Micro USB
  • NodeMCU ESP8266

علاوة على ذلك ، سوف تحتاج إلى:

  • LocationAPI (من مختبرات غير سلكية)
  • الوصول إلى شبكة wifi أو نقطة اتصال

الخطوة 2: اذهب إلى Unwired Labs

انتقل إلى Unwired Labs
انتقل إلى Unwired Labs

يكون تحديد الموقع الجغرافي مفيدًا جدًا لأنه عندما يكون نظام تحديد المواقع العالمي (GPS) معطلاً ، لا يزال بإمكانك استخدام تحديد الموقع الجغرافي لتتبع موقعك. سيكون مضيفنا الذي يوفر الموقع الجغرافي https://www.unwiredlabs.com/. انتقل إلى هذا الموقع وقم بالتسجيل (الزر البرتقالي في الزاوية اليمنى العليا).

الخطوة 3: قم بالتسجيل للحصول على رمز API

قم بالتسجيل للحصول على رمز API
قم بالتسجيل للحصول على رمز API

في صفحة التسجيل ، يجب عليك ملء اسمك والبريد الإلكتروني (سيتم إرسال رمز API الخاص بك إلى بريدك الإلكتروني) وحالة الاستخدام (على سبيل المثال ، الاستخدام الشخصي). حدد نوع حسابك. ستعمل النسخة المجانية على ما يرام ، ولكن ضع في اعتبارك أنك مقيد ولا يمكنك تتبع موقعك على مدار الساعة طوال أيام الأسبوع. هيا بنا نبدأ!

الخطوة 4: تحقق من بريدك الإلكتروني

انتقل إلى بريدك الإلكتروني وسترى رمز API الخاص بك. انسخ الرمز المميز لواجهة برمجة التطبيقات ، لأنك تحتاج ذلك للرمز الذي سنستخدمه. هكذا يبدو البريد الإلكتروني:

أهلا!

شكرًا لك على الاشتراك في Unwired Labs LocationAPI! رمز API الخاص بك هو "رمز API الخاص بك هنا" (بدون علامات اقتباس). سيعطي هذا 100 طلب / يوم مجانًا - إلى الأبد.

إذا كنت ترغب في تتبع 5 أجهزة مجانًا ، فيرجى الرد بالتفاصيل التالية وسنقوم بترقية حسابك في غضون 12 ساعة:

1. نوع النشر (أجهزة / تطبيق / غير ذلك):

2. حول مشروعك:

3. موقع الويب:

يمكنك تسجيل الدخول إلى لوحة التحكم الخاصة بك هنا: https://unwiredlabs.com/dashboard. إذا واجهتك مشكلة أو كانت لديك أسئلة ، فقم بالرد على هذا البريد الإلكتروني وسأساعدك!

تحديد موقع سعيد!

ساجار

مختبرات غير سلكية

الخطوة 5: المكتبات التي سوف تحتاجها

مكتبات سوف تحتاجها
مكتبات سوف تحتاجها

الخطوة التالية هي فتح Arduino والانتقال إلى إدارة المكتبات. تحتاج إلى تثبيت مكتبة ArduinoJson. المكتبات الأخرى مدمجة بالفعل. عندما تكون جاهزًا ، يمكنك البدء في كتابة التعليمات البرمجية.

الخطوة 6: أضف كود في Arduino للتواصل مع LocationAPI

قم بعمل رسم جديد وأضف الكود التالي في Arduino. اكتب اسم wifi / hotspot الخاص بك وكلمة المرور الخاصة بك. الصق رمز API الذي تلقيته في البريد الإلكتروني. قم بتحميل الكود الخاص بك إلى NodeMCU الخاص بك.

#يشمل

#يشمل

# تضمين "ESP8266WiFi.h"

// شبكتك SSID (الاسم) وكلمة مرور الشبكة

char myssid = "اسم wifi / نقطة الاتصال الخاصة بك"؛ char mypass = "كلمة مرورك" ؛

// unsiredlabs Hostname & Geolocation Endpoint url

const char * Host = "www.unwiredlabs.com" ؛ نقطة نهاية السلسلة = "/v2/process.php" ؛

// UnwiredLabs API_Token. اشترك هنا للحصول على رمز مجاني

رمز السلسلة = "d99cccda52ec0b" ؛

String jsonString = "{ n"؛

// متغيرات لتخزين استجابة Uniredlabs

خط عرض مزدوج = 0.0 ؛ خط طول مزدوج = 0.0 ؛ دقة مزدوجة = 0.0 ؛

الإعداد باطل(){

Serial.begin (115200) ؛

// اضبط WiFi على وضع المحطة وافصل عن AP إذا كان متصلاً مسبقًا

WiFi.mode (WIFI_STA) ؛ WiFi.disconnect () ؛ Serial.println ("تم الإعداد") ؛

// نبدأ بالاتصال بشبكة WiFi

Serial.print ("الاتصال بـ") ؛ Serial.println (myssid) ؛ WiFi.begin (myssid ، mypass) ؛

بينما (WiFi.status ()! = WL_CONNECTED) {

تأخير (500) ؛ Serial.print (".") ؛ } Serial.println (".") ؛ }

حلقة فارغة() {

شار bssid [6] ؛ DynamicJsonBuffer jsonBuffer ؛

// WiFi.scanNetworks ستعيد عدد الشبكات التي تم العثور عليها

int n = WiFi.scanNetworks () ؛ Serial.println ("تم الفحص") ؛

إذا (ن == 0) {

Serial.println ("لا توجد شبكات متاحة") ؛ } else {Serial.print (n)؛ Serial.println ("تم العثور على شبكات") ؛ }

// الآن قم ببناء سلسلة jsonString …

jsonString = "{ n"؛ jsonString + = "\" token / ": \" "؛ jsonString + = token؛ 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"؛ } else {jsonString + = "} n"؛ }} jsonString + = ("] n")؛ jsonString + = ("} n") ؛ Serial.println (jsonString) ؛

عميل WiFiClientSecure ؛

// الاتصال بالعميل وإجراء مكالمة api

Serial.println ("عنوان URL للطلب: https://" + (String) Host + endpoint) ؛ if (client.connect (Host، 443)) {Serial.println ("متصل") ؛ client.println ("POST" + نقطة نهاية + "HTTP / 1.1") ؛ client.println ("Host:" + (String) Host) ؛ client.println ("اتصال: إغلاق") ؛ client.println ("نوع المحتوى: application / json") ؛ client.println ("User-Agent: 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 (line) ؛ إذا (root.success ()) {latitude = root ["lat"] ؛ خط الطول = الجذر ["lon"] ؛ الدقة = الجذر ["الدقة"] ؛

Serial.println () ،

Serial.print ("Latitude =") ؛ Serial.println (خط العرض ، 6) ؛ Serial.print ("خط الطول =") ؛ Serial.println (خط الطول ، 6) ؛ Serial.print ("الدقة =") ؛ Serial.println (دقة) ؛ }}

Serial.println ("اتصال إغلاق") ؛

Serial.println () ، client.stop () ؛

تأخير (5000) ؛

}

الخطوة 7: افتح جهاز العرض التسلسلي لمعرفة ما إذا كنت متصلاً

انتقل إلى الأدوات في Arduino وافتح الشاشة التسلسلية. لمعرفة ما إذا كنت متصلاً بالإنترنت ، يجب أن ترى ما يلي في الشاشة التسلسلية:

تم الإعداد

الاتصال بـ (اسم wifi الخاص بك) … تم الفحص

الخطوة 8: احصل على الإحداثيات

إذا كان يعمل بنجاح ، يجب أن ترى تحت الفحص قام بقائمة كاملة من البيانات. الشيء الوحيد الذي نحتاجه هو الكود الموجود أسفل عنوان URL للطلب ، لذلك سنحتاج إلى خط الطول وخط العرض. هذه هي الإحداثيات.

عنوان URL للطلب:

متصل

خط العرض = 52.385259

خط الطول = 5.196099

الدقة = 41.00

إغلاق الاتصال

بعد 5 ثوانٍ ، سيتم تحديث الكود باستمرار ومن المحتمل أن ترى تغير خط الطول وخط العرض والدقة. ذلك لأن واجهة برمجة التطبيقات تحاول من الأفضل تتبع الموقع بأكبر قدر ممكن من الدقة.

الخطوة 9: اذهب إلى خرائط جوجل

اذهب إلى خرائط جوجل
اذهب إلى خرائط جوجل

اذهب إلى https://www.google.com/maps/ واكتب إحداثياتك في شريط البحث. يجب كتابة الإحداثيات بالطريقة التالية: 52.385259 ، 5.196099. يجب أن تُظهر خرائط Google موقعك على الخريطة.

الخطوة 10: أرسل الموقع إلى هاتفك المحمول

أرسل الموقع إلى هاتفك المحمول
أرسل الموقع إلى هاتفك المحمول

وانت انتهيت! لذلك ، إذا كنت ترغب في إرسال الموقع إلى هاتفك المحمول ، فمن الممكن. سترسل خرائط Google بعد ذلك رسالة بريد إلكتروني بإحداثياتك إذا كنت ترغب في ذلك.

تحديد موقع سعيد!

موصى به: