جدول المحتويات:
- الخطوة 1: ماذا تحتاج
- الخطوة 2: اذهب إلى Unwired Labs
- الخطوة 3: قم بالتسجيل للحصول على رمز API
- الخطوة 4: تحقق من بريدك الإلكتروني
- الخطوة 5: المكتبات التي سوف تحتاجها
- الخطوة 6: أضف كود في Arduino للتواصل مع LocationAPI
- الخطوة 7: افتح جهاز العرض التسلسلي لمعرفة ما إذا كنت متصلاً
- الخطوة 8: احصل على الإحداثيات
- الخطوة 9: اذهب إلى خرائط جوجل
- الخطوة 10: أرسل الموقع إلى هاتفك المحمول
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
هل لديك فضول حول كيف يمكن لـ 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
يكون تحديد الموقع الجغرافي مفيدًا جدًا لأنه عندما يكون نظام تحديد المواقع العالمي (GPS) معطلاً ، لا يزال بإمكانك استخدام تحديد الموقع الجغرافي لتتبع موقعك. سيكون مضيفنا الذي يوفر الموقع الجغرافي https://www.unwiredlabs.com/. انتقل إلى هذا الموقع وقم بالتسجيل (الزر البرتقالي في الزاوية اليمنى العليا).
الخطوة 3: قم بالتسجيل للحصول على رمز 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 بعد ذلك رسالة بريد إلكتروني بإحداثياتك إذا كنت ترغب في ذلك.
تحديد موقع سعيد!