جدول المحتويات:
- الخطوة 1: ماذا تحتاج
- الخطوة 2: اذهب إلى Unwired Labs
- الخطوة 3: قم بالتسجيل للحصول على رمز API
- الخطوة 4: تحقق من بريدك الإلكتروني
- الخطوة 5: المكتبات التي سوف تحتاجها
- الخطوة 6: أضف كود في Arduino للتواصل مع LocationAPI
- الخطوة 7: افتح جهاز العرض التسلسلي لمعرفة ما إذا كنت متصلاً
- الخطوة 8: احصل على الإحداثيات
- الخطوة 9: اذهب إلى خرائط جوجل
- الخطوة 10: أرسل الموقع إلى هاتفك المحمول
فيديو: تعقب الموقع مع NodeMCU ESP8266: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
هل لديك فضول حول كيف يمكن لـ 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 بعد ذلك رسالة بريد إلكتروني بإحداثياتك إذا كنت ترغب في ذلك.
تحديد موقع سعيد!
موصى به:
جهاز تعقب COVID19 المكتبي مع ساعة! جهاز تعقب يعمل بالطاقة Raspberry Pi: 6 خطوات
جهاز تعقب COVID19 المكتبي مع ساعة! Raspberry Pi Powered Tracker: نحن نعلم أننا يمكن أن نموت في أي وقت ، حتى أنني يمكن أن أموت أثناء كتابة هذا المنشور ، بعد كل شيء ، أنا ، أنت ، نحن جميعًا بشر. اهتز العالم كله بسبب جائحة COVID19. نحن نعرف كيف نمنع هذا ، لكن مهلا! نعرف كيف نصلي ولماذا نصلي ، هل نصلي
ساعة مكعب متعددة الوظائف تعتمد على الموقع: 5 خطوات (بالصور)
ساعة المكعب متعددة الوظائف القائمة على الموضع: هذه ساعة تعتمد على Arduino تتميز بشاشة OLED تعمل كساعة مع التاريخ وكمؤقت قيلولة وكضوء ليلي. مختلف & quot؛ وظائف & quot؛ يتم التحكم فيها بواسطة مقياس تسارع ويتم تحديدها عن طريق تدوير ساعة المكعب
إخطار زوار الموقع مع IFTTT: 6 خطوات
إشعار زوار موقع الويب باستخدام IFTTT: في هذا الدليل ، ستتلقى إشعار Android عندما يزور شخص ما موقع الويب الخاص بك.لذلك ، تحتاج إلى معرفة قليلة بلغة برمجة PHP والمعرفة الأساسية بلغة C البسيطة لمعرفة كيفية تطبيق IFTTT هذا. يعمل (
قياس الصواريخ عن بعد / تعقب الموقع: 7 خطوات
Rocket Telemetry / Position Tracker: يهدف هذا المشروع إلى تسجيل بيانات الرحلة من وحدة استشعار 9 DOF إلى بطاقة SD ، ونقل موقع GPS الخاص به في نفس الوقت عبر الشبكات الخلوية إلى الخادم. يسمح هذا النظام بالعثور على الصاروخ إذا كانت منطقة هبوط النظام هي beyo
إنشاء أنماط قابلة للإمالة لصورة خلفية الموقع: 8 خطوات
إنشاء أنماط قابلة للإمالة لصورة خلفية موقع الويب: هذه طريقة مباشرة وبسيطة (على ما أعتقد) لإنشاء صور يمكن تجانبها دون النظر إلى "شكل الشبكة". يستخدم هذا البرنامج التعليمي Inkscape (www.inkscape.org) ، وهو محرر رسومات متجه مفتوح المصدر. أتخيل أن هذه الطريقة يمكن