فهرست مطالب:

ردیاب مکان با NodeMCU ESP8266: 10 مرحله
ردیاب مکان با NodeMCU ESP8266: 10 مرحله

تصویری: ردیاب مکان با NodeMCU ESP8266: 10 مرحله

تصویری: ردیاب مکان با NodeMCU ESP8266: 10 مرحله
تصویری: Lesson 03: Project LED Blink Breadboard and Resistor | Robojax Arduino Step By Step Course 2024, جولای
Anonim
ردیاب مکان با NodeMCU ESP8266
ردیاب مکان با NodeMCU ESP8266

آیا کنجکاو هستید که چگونه NodeMCU شما می تواند مکان شما را ردیابی کند؟ این امکان وجود دارد ، حتی بدون ماژول GPS و بدون نمایشگر. خروجی مختصات محل شما خواهد بود و آنها را در مانیتور سریال خود مشاهده خواهید کرد.

تنظیمات زیر برای NodeMCU 1.0 (ماژول ESP-12E) با Arduino IDE استفاده شد.

  • ویندوز 10
  • Arduino IDE v. 1.8.4

مرحله 1: آنچه شما نیاز دارید

آنچه شما برای پیروی از این آموزش نیاز دارید اجزای زیر است:

  • کابل میکرو USB
  • NodeMCU ESP8266

علاوه بر این ، شما نیاز دارید:

  • LocationAPI (از آزمایشگاه های بدون سیم)
  • دسترسی به wifi یا hotspot

مرحله 2: به آزمایشگاه های بدون سیم بروید

به آزمایشگاه های بدون سیم بروید
به آزمایشگاه های بدون سیم بروید

موقعیت جغرافیایی بسیار مفید است زیرا وقتی GPS شما قطع است ، هنوز می توانید از موقعیت جغرافیایی برای ردیابی مکان خود استفاده کنید. میزبان ما که موقعیت مکانی را ارائه می دهد ، https://www.unwiredlabs.com/ خواهد بود. به آن وب سایت بروید و ثبت نام کنید (دکمه نارنجی در گوشه بالا سمت راست).

مرحله 3: برای دریافت API Token ثبت نام کنید

برای دریافت API Token ثبت نام کنید
برای دریافت API Token ثبت نام کنید

در صفحه ثبت نام ، باید نام خود را وارد کنید ، ایمیل (کد API شما به ایمیل شما ارسال می شود) و مورد استفاده (به عنوان مثال ، استفاده شخصی). نوع حساب خود را انتخاب کنید. نسخه رایگان بسیار خوب عمل می کند ، اما به خاطر داشته باشید که محدود هستید و نمی توانید موقعیت مکانی خود را به صورت 24 ساعته پیگیری کنید. بیایید شروع کنیم!

مرحله 4: ایمیل خود را بررسی کنید

به ایمیل خود بروید و توکن API خود را مشاهده خواهید کرد. توکن API را کپی کنید ، زیرا برای کدی که از آن استفاده می کنیم به آن نیاز دارید. ایمیل به این شکل است:

سلام!

از ثبت نام در Unwired Labs LocationAPI متشکریم! توکن API شما "کد API شما اینجاست" (بدون نقل قول). این 100 درخواست/ روز به صورت رایگان - برای همیشه ارائه می دهد.

اگر می خواهید 5 دستگاه را به صورت رایگان ردیابی کنید ، لطفاً با جزئیات زیر پاسخ دهید و ما ظرف 12 ساعت حساب شما را ارتقا می دهیم:

1. نوع استقرار (سخت افزار/ برنامه/ سایر موارد):

2. درباره پروژه شما:

3. وب سایت:

در اینجا می توانید به داشبورد خود وارد شوید: https://unwiredlabs.com/dashboard. اگر به مشکل برخوردید یا س questionsالی داشتید ، به این ایمیل پاسخ دهید تا من به شما کمک کنم!

موقعیت مکانی مبارک!

ساگار

آزمایشگاه های بدون سیم

مرحله 5: کتابخانه های مورد نیاز

کتابخانه های مورد نیاز شما
کتابخانه های مورد نیاز شما

مرحله بعدی باز کردن آردوینو و مدیریت کتابخانه ها است. شما باید کتابخانه ArduinoJson را نصب کنید. کتابخانه های دیگر در حال حاضر ساخته شده اند. هنگامی که آماده شدید ، می توانید نوشتن کد را شروع کنید.

مرحله 6: کد را در Arduino برای اتصال با LocationAPI اضافه کنید

یک طرح جدید ایجاد کنید و کد زیر را در آردوینو اضافه کنید. نام wifi/hotspot و رمز عبور خود را بنویسید. توکن API را که در ایمیل دریافت کرده اید جایگذاری کنید. کد خود را در NodeMCU خود بارگذاری کنید.

#عبارتند از

#عبارتند از

#شامل "ESP8266WiFi.h"

// SSID شبکه شما (نام) و رمز شبکه

char myssid = "نام wifi/hotspot شما"؛ char mypass = "گذرواژه شما"؛

// unwiredlabs نام میزبان و نشانی اینترنتی نقطه پایانی موقعیت جغرافیایی

const char* Host = "www.unwiredlabs.com"؛ نقطه پایانی رشته = "/v2/process.php"؛

// UnwiredLabs API_Token. برای دریافت یک رمز رایگان https://unwiredlabs.com/trial اینجا ثبت نام کنید

توکن رشته = "d99cccda52ec0b"؛

رشته jsonString = "{ n"؛

// متغیرها برای ذخیره پاسخ unwiredlabs

عرض جغرافیایی دو برابر = 0.0؛ طول جغرافیایی دو برابر = 0.0؛ دقت مضاعف = 0.0 ؛

void setup () {

Serial.begin (115200) ؛

// وای فای را روی حالت ایستگاه قرار دهید و درصورتی که قبلاً به آن متصل شده بود ، آن را قطع کنید

WiFi.mode (WIFI_STA) ؛ WiFi.disconnect ()؛ Serial.println ("راه اندازی انجام شد") ؛

// ما با اتصال به یک شبکه WiFi شروع می کنیم

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

while (WiFi.status ()! = WL_CONNECTED) {

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

حلقه خالی () {

char bssid [6]؛ DynamicJsonBuffer jsonBuffer؛

// WiFi.scanNetworks تعداد شبکه های یافت شده را برمی گرداند

int n = WiFi.scanNetworks ()؛ Serial.println ("اسکن انجام شد") ؛

if (n == 0) {

Serial.println ("شبکه ای در دسترس نیست") ؛ } else {Serial.print (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"؛ if (j <n - 1) {jsonString += "} ، / n" ؛ } else {jsonString += "} n"؛ }} jsonString += ("] n")؛ jsonString += ("} n")؛ Serial.println (jsonString) ؛

مشتری WiFiClientSecure ؛

// به مشتری متصل شوید و api را برقرار کنید

Serial.println ("نشانی اینترنتی درخواست: https://" + (رشته) میزبان + نقطه پایانی) ؛ if (client.connect (میزبان ، 443)) {Serial.println ("متصل") ؛ client.println ("POST" + نقطه پایانی + "HTTP/1.1") ؛ client.println ("میزبان:" + (رشته) میزبان)؛ client.println ("اتصال: بستن")؛ client.println ("نوع محتوا: برنامه/json") ؛ client.println ("عامل کاربر: Arduino/1.0") ؛ client.print ("Content-Length:")؛ client.println (jsonString.length ()) ؛ client.println ()؛ client.print (jsonString) ؛ تأخیر (500) ؛ }

// همه خطوط پاسخ را از سرور بخوانید و تجزیه کنید

while (client.available ()) {String line = client.readStringUntil ('\ r')؛ JsonObject & root = jsonBuffer.parseObject (خط) ؛ if (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: مانیتور سریال را باز کنید تا ببینید اتصال دارید یا خیر

به ابزارهای موجود در آردوینو بروید و مانیتور سریال را باز کنید. برای مشاهده اتصال به اینترنت ، موارد زیر را در مانیتور سریال مشاهده کنید:

راه اندازی انجام شد

اتصال به (نام wifi شما)… اسکن انجام شد

مرحله 8: مختصات را دریافت کنید

اگر با موفقیت کار کرد ، باید در اسکن لیست کامل داده ها را مشاهده کنید. تنها چیزی که ما نیاز داریم کد زیر URL درخواست کننده است ، بنابراین به عرض و طول جغرافیایی نیاز داریم. این مختصات است.

آدرس درخواست کننده:

متصل

عرض جغرافیایی = 52.385259

طول جغرافیایی = 5.196099

دقت = 41.00

بستن اتصال

پس از 5 ثانیه کد به طور مداوم به روز می شود و احتمالاً عرض ، طول و عرض جغرافیایی و دقت را مشاهده خواهید کرد. این به این دلیل است که API سعی می کند مکان را تا آنجا که ممکن است ردیابی کند.

مرحله 9: به Google Maps بروید

به Google Maps بروید
به Google Maps بروید

به https://www.google.com/maps/ بروید و مختصات خود را در نوار جستجو تایپ کنید. مختصات باید به روش زیر نوشته شوند: 52.385259 ، 5.196099. Google Maps باید نشان دهد که کجا روی نقشه قرار دارید.

مرحله 10: ارسال مکان به تلفن همراه خود

ارسال مکان به موبایل
ارسال مکان به موبایل

و… تمام شدی! بنابراین ، اگر می خواهید مکان را به تلفن همراه خود ارسال کنید ، این امکان وجود دارد. در صورت تمایل ، Google Maps ایمیلی با مختصات شما ارسال می کند.

موقعیت مکانی مبارک!

توصیه شده: