همیشه هر وقت حرف از مکانیابی میشه ذهنمون سریع سراغ GPS میرود، اما آیا فقط با کمک GPS میشه مکانیابی کرد؟ همانطور که میدانید GPS معمولی در فضای باز و خارج ساختمان با دقتی حدود 2.5 متر میتونه مکان شما رو مشخص کنه، حالا اگربخواهید مکانتون رو در فضای بسته مثل خونه بزرگ، دفتر کار، سوله و … پیدا کنید چهکار باید کرد؟ اینجاست که تکنولوژی به کمک ما میاد! اجازه بدید اهمیت نیاز به مکانیابی داخلی رو با یک مثال براتون مشخص کنم، هنوز که تکنولوژی خانه های هوشمند در ایران پیشرفت چندانی نکرده اما در نظر میگیریم که چند سال جلوتر هستیم، در یک خونهی 300 متری گوشیمونو از داخل جیبمون در میاریم و میگیم “چراغ اینجا رو روشن کن” حالا این بنده خدا از کجا بدونه ما کجای این خونه هستیم و چراغای کدوم فضا رو باید روشن کنه؟!
اینیک مثال ساده و ملموس بود وگرنه کاربردهای خیلی بیشتری داره این تکنولوژی (مثل مکانیابی توی فروشگاه، نمایشگاه و …) حالا توی این مقاله آموزشی میخواهیم همین سؤال رو جواب بدیم، پس با سیسوگ همراه باشید…
چرا برای مکانیابی داخلی نمیشه از GPS استفاده کرد؟
خب اگر که با نحوه کار GPS آشنا باشید جواب این سؤال رو خودتان میدانید، اما اگر بهطور کوتاه بخواهم بگم، جواب اینه که سیگنال ماهوارههای gps (و کلاً همه ماهوارهها) داخل فضای بسته قابل دریافت نیستند. چه تکنولوژیهایی رو میشه برای مکانیابی داخلی استفاده کرد؟ شما میتونید از تکنولوژیهای WI-FI, Bluetooth, RFID, UWB استفاده کنید.
بهترین تکنولوژی برای مکانیابی داخلی چیست؟
بستگی داره که بهتر رو چطور معنی کنیم، اما بهطورکلی wifi بهترین گزینه هست، چراکه توی اکثر دستگاهها در دسترسه و تقریباً نیاز نمیشه از سختافزار اضافی استفاده کنیم، ماژولها و سختافزارهایی که دارای wifi هستند قیمت مناسبی دارند و بهراحتی پیدا میشند. دقت نسبتاً مناسبی هم دارند (حدود 15 متر) اما مثلاً ازنظر دقت UWB بهترین گزینه هست چراکه میتونه فاصله رو با دقت خیلی بالایی (تا زیر 10 سانتیمتر) برامون مشخص کنه، که در ادامه اون رو هم یه بررسی کوتاهی میکنیم.
UWB چیست ؟
در اصل آینده مکانیابی داخلی به کمک UWB هست چراکه برای این کار طراحیشده و کارهای دیگه هم میشه باهاش انجام داد، فناوری UWB (پهنای باند فوق عریض) یک پروتکل ارتباط بی140سیم با برد کوتاه هست که در فرکانس بالا (بین 3.1 تا 10.6 GHz) پهنای باند بالا (500MHz) کار میکنه. و روش کارش هم با کمک ToF (محاسبه مدتزمانی که دیتا از یک دستگاه به دستگاه دیگر میرسه) هست.
مکانیابی با wifi چطور کار میکنه ؟
اول از همه باید چند اکسس پوینت داشته باشیم و مکان آن ها رو هم بدونیم تا بتونیم موقعیت خودمان رو نسبت به آنها مشخص کنیم، مشخصاً هر چه تعداد اکسس پوینتها بیشتر باشه دقت ما هم بالاتره.
برای Indoor navigation با wifi میشه از روش Multilateration استفاده کرد، در این روش لازمه که فاصلمان رو از حداقل سه نقطه که مکان آنها رو میدونیم داشته باشیم. حالا ما در اینجا لازمه که حداقل سه اکسس پوینت که مکان آنها رو هم میدونیم داشته باشیم.
پارامتر بعدی که نیاز داریم، فاصله هست که با کمک RSSI میشه بهدستش آورد و بهاینترتیب موقعیت ما مشخص میشه. البته یک روش دیگه هم برای مکانیابی وجود داره.
حدودای سال 2010 بود که از گوگل بابت شنود اطلاعات کاربران از طریق WIFI که توسط ماشینهای google street view هنگام تصویربرداری دریافت میشده شکایت شد. البته که گوگل گفت یکم از دستمون دررفته و یه چیزایی اشتباهی ذخیره کردیم! و در ادامه گفت که ما فقط wifi ها رو scan میکرید اونم برای location services.
نقش wifi در location services
درواقع کاری که گوگل میکرد این بود که هرجایی میرفت wifi های اون منطقه رو اسکن میکرد و موقعیت جغرافیایی آنها را به همراه ssid و mac address ذخیره میکرد (البته چند سال بعد دیگه این کار رو ادامه نداد، چراکه بعد از اون خیلی راحت از طریق گوشیها این کارو انجام میداد که بسیار بهصرفهتر بود و مکانهای بیشتری رو توی زمان کمتری میتونست پوشش بده)، حالا فرض کنید شما در موقعیتی هستید که gps نمیتونه موقعیت تون رو دریافت کنه، خیلی راحت گوشیتون wifi های اطراف رو اسکن میکنه و برای سرور گوگل ارسال میکنه، سرور هم بررسی میکنه که این wifi قبلاً در چه موقعیت جغرافیایی مشاهدهشده بوده و مکان شما رو بر اون اساس مشخص میکنه (البته شرکت های بزرگ دیگه ای مثل apple و microsoft این location services رو دارند).
شما هم میتونید از این سرویس گوگل با پرداخت هزینه بهصورت api استفاده کنید. البته بعد از کمی بررسی که انجام دادم دیدم که سرویسی هست که این اطلاعات رو بهصورت رایگان هم در اختیار قرار میده و شما هم میتونید شبکهها رو scan و به اون اضافه کنید.
در تصویر پایین میتونید یکسری wifi های اسکن شده دریکی از مناطق تهران رو روی نقشه wigle ببینید.
خودم هم تونستم api اون رو برای دریافت موقعیت یک access point از طریق ارسال mac اون آدرس تست و استفاده کنم.
حالا شاید در زمان دیگر ssid اون wifi تغییر کرد یا اصال خاموش بود حلا چطوری مسیر رو پیدا کنیم
توی این روش باید طی زمان های خیلی کوتاه وای فای ها اسکن بشن و دیتابیس آبدیت بشه درسته ؟
سوال بدی این که چطوری فاصله ی خودمون رو تا اون دستگاه وایفای پیدا کنیم ؟
سلام. برای این سیستم ، وای فای ها با mac آدرس شناخته میشند ، نه با ssid .
همونطور که داخل مطلب اشاره شد ، با کمک RSSI میشه فاصله تقریبی از wifi را به دست آورد
جالب و مفید بود.
??
بسیار عالی بود
خداقوت
لطف دارید ?
عالی بود
ممنون از شما?