فهرست مطالب:
- مرحله 1: قطعات و ابزار
- مرحله 2: Google API را پیدا کنید
- مرحله 3: NodeMCu را در Arduino IDE راه اندازی کنید
- مرحله 4: کتابخانه ArduinoJson را بارگیری کنید
- مرحله 5: برنامه
تصویری: GEOLOACATION: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
این پروژه کارآموزی تابستانی من است. وقتی می شنوم که می توانیم هر دستگاهی را بدون استفاده از ماژول GPS تنها با استفاده از NodeMCU ردیابی کنیم ، واقعاً تعجب می کنم. از طریق این ما می توانیم هر دستگاهی را ردیابی کنیم. شما همچنین تعجب می کنید که چگونه می توان دستگاه را تنها با استفاده از WiFi ردیابی کرد. در اینجا توضیحات نوع برای درک آن آمده است.
- · تقریباً تمام وای فای شما را اسکن می کند.
- · این دستگاه را با استفاده از API Google به Google ارسال کنید
- · با توجه به این مکان دستگاه شما را تعیین می کند
- · برای این پروژه اتصال شبکه قوی دارید.
مرحله 1: قطعات و ابزار
قطعات
- NodeMCU (ESP8266 1.0 12E)
- کابل یو اس بی
ابزارها
Arduino IDE با برد NodeMcu 1.0 12E
Google API
مرحله 2: Google API را پیدا کنید
- مرورگر خود را باز کرده و تایپ کنید: console.developer.google.com
- یک پروژه جدید ایجاد کنید
- پس از ایجاد یک پروژه جدید ، روی اعتبار کلیک کنید
- روی API Key کلیک کنید
-
کلید API شما ایجاد شده است
برای درک آسان به تصویر زیر مراجعه کنید |>
مرحله 3: NodeMCu را در Arduino IDE راه اندازی کنید
- Arduino IDE را از پیوند زیر بارگیری کنید:- https:// www. اصلی/نرم افزار arduino.cc/fa/
- برد Node MCu را در Arduino IDE اضافه کنید
-
برای بارگذاری کد در NodeMCU باید برد NodeMCu را در ARDUINO IDE اضافه کنید.
- به فایل & Preference در Arduino IDE بروید
- و در بخش اضافی managementrsectionction پیوند زیر را کپی کنید
- arduino.esp8266.com/stable/package_esp8266c…
- و روی Ok کلیک کنید
- صفحه بارگیری می شود
- به ابزارها و برد بروید و NodeMCU 1.0 12E را انتخاب کنید
- برای درک آسان تصویر avobe را ببینید
مرحله 4: کتابخانه ArduinoJson را بارگیری کنید
- برو به
Sketch Include Library مدیریت کتابخانه
Arduino Json را در کادر جستجو تایپ کنید
آخرین نسخه کتابخانه ArduinoJson را بارگیری کنید
پس از بارگیری کتابخانه روی close کلیک کنید
افزودن کتابخانه از
SketchincludeLibraryArduinoJson
مرحله 5: برنامه
برنامه زیر را روی برد NodeMCU بارگذاری کنید. و مکان دستگاه خود (برد NodeMCU 1.0 12E) را در مانیتور سریال ببینید.
#عبارتند از
#عبارتند از
#عبارتند از
char myssid = "SSID شما"؛ // SSID شبکه شما (نام)
char mypass = "گذرواژه شما"؛ // رمز شبکه شما
// اعتبارنامه Google GeoLocation API…
const char* Host = "www.googleapis.com"؛
رشته thisPage = "/geolocation/v1/geolocate؟ key ="؛
// --- یک کلید ap google maps در اینجا دریافت کنید:
developers.google.com/maps/documentation/geolocation/intro
کلید رشته = "کلید API Google شما" ؛ // از مرحله 2 پیدا کنید
دستورالعمل
وضعیت int = WL_IDLE_STATUS؛
رشته jsonString = "{ n"؛
عرض جغرافیایی دو برابر = 0.0؛
طول جغرافیایی دو برابر = 0.0؛
دقت مضاعف = 0.0 ؛
int more_text = 1؛ // برای خروجی اشکال زدایی بیشتر روی 1 تنظیم شده است
void setup () {
Serial.begin (9600)؛
Serial.println ("شروع") ؛
// WiFi را روی حالت ایستگاه تنظیم کنید و
اگر قبلاً وصل بودید ، یک AP را قطع کنید
WiFi.mode (WIFI_STA) ؛
WiFi.disconnect ()؛
تأخیر (100) ؛
Serial.println ( راه اندازی
انجام شده )؛
// ما با اتصال به a شروع می کنیم
شبکه وای فای
Serial.print ( اتصال به
);
Serial.println (myssid)؛
WiFi.begin (myssid ، mypass) ؛
while (WiFi.status ()! = WL_CONNECTED) {
تأخیر (500) ؛
Serial.print (".") ؛
}
Serial.println (".") ؛
}
حلقه خالی () {
char bssid [6]؛
DynamicJsonBuffer jsonBuffer؛
Serial.println ("شروع اسکن") ؛
// WiFi.scanNetworks باز می گردد
تعداد شبکه های پیدا شده
int n = WiFi.scanNetworks ()؛
Serial.println ("scandone") ؛
اگر (n == 0)
Serial.println ("هیچ شبکه ای یافت نشد")؛
دیگری
{
Serial.print (n)؛
Serial.println ("networkfound…") ؛
if (بیشتر_متن) {
// json فرمت شده را چاپ کنید…
Serial.println ("{")؛
Serial.println ("\" homeMobileCountryCode / ": 234 ،") ؛ // این MCC واقعی انگلستان است
Serial.println ("\" homeMobileNetworkCode / ": 27 ،") ؛ // و MNC واقعی انگلستان
Serial.println ("\" radioType / ": \" gsm / "،")؛ // برای gsm
Serial.println ("\" حامل / ": \" Vodafone / "،")؛ // مرتبط با Vodafone
Serial.println ("\" cellTowers / ": [")؛ // من هیچ برج سلولی را گزارش نمی کنم
Serial.println ("] ،") ؛
Serial.println ("\" wifiAccessPoints / ": [")؛
برای (int i = 0 ؛ i <n؛ ++ i)
{
Serial.println ("{")؛
Serial.print ("\" macAddress / ": \" ")؛
Serial.print (WiFi. BSSIDstr (i)) ؛
Serial.println ("\" ، ") ؛
Serial.print ("\" signalStrength / ":")؛
Serial.println (WiFi. RSSI (i)) ؛
اگر (من <n - 1)
{
Serial.println ("} ،") ؛
}
دیگری
{
Serial.println ("}") ؛
}
}
Serial.println ("]") ؛
Serial.println ("}") ؛
}
Serial.println ("")؛
}
// اکنون jsonString را بسازید…
jsonString = "{ n"؛
jsonString += "\" homeMobileCountryCode / ": 234 ، / n"؛ // این MCC واقعی انگلستان است
jsonString += "\" homeMobileNetworkCode / ": 27 ، / n"؛ // و MNC واقعی انگلستان
jsonString += "\" radioType / ": \" gsm / "، / n"؛ // برای gsm
jsonString += "\" حامل / ": \" Vodafone / "، / n"؛ // مرتبط با Vodafone
jsonString += "\" wifiAccessPoints / ": [n"؛
برای (int j = 0 ؛ j <n؛ ++ j)
{
jsonString += "{ n"؛
jsonString += "\" macAddress / ": \" "؛
jsonString += (WiFi. BSSIDstr (j)) ؛
jsonString += "\" ، / n "؛
jsonString += "\" signalStrength / ":"؛
jsonString += WiFi. RSSI (j) ؛
jsonString += "\ n"؛
اگر (j <n - 1)
{
jsonString += "} ، / n"؛
}
دیگری
{
jsonString += "} n"؛
}
}
jsonString += ("] n")؛
jsonString += ("} n")؛
//--------------------------------------------------------------------
Serial.println ("")؛
مشتری WiFiClientSecure ؛
// به مشتری متصل شوید و api را برقرار کنید
Serial.print ("URL درخواست:")؛
// ---- Google Maps Api Key را از اینجا دریافت کنید ، پیوند:
Serial.println ("https://" + (رشته) میزبان + این صفحه + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE") ؛
Serial.println ("")؛
if (client.connect (میزبان ، 443)) {
Serial.println ("متصل") ؛
client.println ("POST" + thisPage + key + "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')؛
if (بیشتر_متن) {
Serial.print (خط) ؛
}
JsonObject & root = jsonBuffer.parseObject (خط) ؛
if (root.success ()) {
عرض جغرافیایی = ریشه ["محل"] ["لات"]؛
طول جغرافیایی = ریشه ["محل"] ["lng"]؛
دقت = ریشه ["دقت"]؛
}
}
Serial.println ("بستن اتصال") ؛
Serial.println ()؛
client.stop ()؛
Serial.print ("Latitude =")؛
Serial.println (عرض جغرافیایی ، 6) ؛
Serial.print ("طول جغرافیایی =")؛
Serial.println (طول جغرافیایی ، 6) ؛
Serial.print ("دقت =")؛
Serial.println (دقت) ؛
تاخیر (10000) ؛
Serial.println ()؛
Serial.println ("راه اندازی مجدد …") ؛
Serial.println ()؛
تاخیر (2000) ؛
}
توصیه شده:
مرحله به مرحله ساخت کامپیوتر: 9 مرحله
گام به گام ساخت کامپیوتر: لوازم: سخت افزار: مادربرد CPU & amp؛ CPU coolerPSU (منبع تغذیه) ذخیره سازی (HDD/SSD) RAMGPU (لازم نیست) مورد ابزار: پیچ گوشتی دستبند ESD/خمیر ماتریسمی با اپلیکاتور
سه مدار بلندگو -- آموزش مرحله به مرحله: 3 مرحله
سه مدار بلندگو || آموزش گام به گام: مدار بلندگو سیگنال های صوتی دریافت شده از محیط را بر روی MIC تقویت می کند و از محل تولید صدای تقویت شده به بلندگو ارسال می کند. در اینجا ، من سه روش مختلف برای ساخت این مدار بلندگو با استفاده از موارد زیر را به شما نشان خواهم داد
مرحله به مرحله اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: 4 مرحله
گام به گام اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: اتوماسیون خانگی گام به گام با استفاده از Wemos D1 Mini با طراحی PCB چند هفته قبل ما آموزش "اتوماسیون خانگی با استفاده از تمشک پای" را در rootaid.com منتشر کردیم که مورد استقبال علاقه مندان و علاقه مندان قرار گرفت. دانشجو. سپس یکی از اعضای ما آمد
نصب Smapler V0002 مرحله به مرحله: 5 مرحله
نصب Smapler V0002 گام به گام: Smapler یک مدار است که به تولید صدای مولد توسط David Cuartielles و Ino Schlaucher از BlushingBoy.org اختصاص داده شده است. Smapler v0002 - نسخه آاکا سنگاپور - چیزی نیست جز سپر آردوینو که برای بازی استری بد بو استفاده می شود
نصب Smapler V0001r2 مرحله به مرحله: 3 مرحله
نصب Smapler V0001r2 مرحله به مرحله: این یک راهنمای عکاسی برای نصب Smapler v0001r2 است. این یک مدار مستقل سازگار با آردوینو با اتصال کارت SD داخلی ، اتصال PS2 برای ماوس/صفحه کلید ، تقویت کننده صدا و تعدادی پین I/O برای سنسورها است. با آن شما