SIM800

موقعیت یابی با sim800 بدون استفاده از GPS

در این آموزش قصد داریم نحوه پیدا کردن موقعیت مکانی  ماژول SIM900 یا SIM800 را بر روی نقشه گوگل پیدا کنیم . همانطور که می دانید برای بدست آوردن موقعیت مکانی نیاز به ماژول GPS مانند ماژول Ublox می باشد . همچنین ماژول هایی توسط شرکت SIMCOM  تولید شده که علاوه بر بخش GSM دارای بخش GPS مجزا می باشند و با قیمتی بالاتر در بازار عرضه می شوند . از جمله ماژول های GSM دارای GPS می توان به ماژول SIM808 و SIM908 اشاره کرد .

در مواقعی که ما دسترسی به یک دستگاه GPS مستقل نداریم ، یا نیاز به موقعیت خیلی دقیق نداریم و استفاده از ماژول GPS مجزا برای ما صرفه اقتصادی ندارد . یا از ماژول های GSM  استفاده می کنیم که فاقد بخش GPS می باشند ، مانند ماژول های SIM800 , SIM800C , SIM800L و … می توانیم از قابلیت دیگری برای به دست آوردن موقعیت تقریبی استفاده نماییم .

در این روش ما موقعیت دکل آنتن BTS  که ماژول GSM به آن متصل شده را بدست می آوریم . ماژول های sim800 قابلیت بدست آوردن مختصات یک دکل را دارند . بنابراین مختصات بدست آمده مختصات تقریبی ماژول را نشان می دهیم . ماژول های GSM پیشرفته تر دیگری مانند Tlit  وجود دارند که  مختصات سه دکل آنتن BTS یا بیشتر را به ما می دهند و ما می توانیم موقعیت دقیقتری را بدست آوریم ، این قابلیت (AGPS(Assistant GPS نام دارد و در اکثر گوشی های هوشمند وجود دارد .

برای شروع نیاز به اتصال به اینترنت توسط GPRS ماژول SIM800 می باشد . توسط دستور AT+COMMAND  ابتدا connection type  را در حالت GPRS  قرار می دهیم :

AT+SAPBR=3,1,"Contype","GPRS"
OK

در این آموزش از سیم کارت ایرانسل استفاده شده ، بنابراین APN را برابر mtnirancell  قرار می دهیم . اگر از نوع دیگر سیم کارت استفاده می کنید باید از APN اپراتور سرویس دهنده خود استفاده نمائید . APN دو نوع از اپراتورهای پر استفاده در کشور را قرار می دهیم .

همراه اول mcinet

رایتل  RighTel

در مرحله بعد بسته به نوع سیم کارت و اپراتوری که استفاده می کنیم ، مقدار APN  را تنظیم می کنیم :

AT+SAPBR=3,1,"APN","mtnirancell"
OK

برای فعال سازی اینترنت GPRS از دستور زیر استفاده م کنیم :

AT+SAPBR =1,1
OK

در صورتی که اتصال به اینترنت به درستی صورت پذیرد ، NETWORK LED یا نت لایت به حالت تند تند چشمکزن می شود ، و یک آدرس IP به ما اختصاص پیدا می کند :

AT+SAPBR=2,1
+SAPBR: 1,1,"100.120.204.132"
OK

فرمان زیر برای بدست آوردن تاریخ و زمان شبکه  استفاده می شود :

AT+CIPGSMLOC=2,1
+CIPGSMLOC: 0,2017/07/16,18:07:13
OK

فرمان زیر  موقعیت را به صورت طول و عرض جغرافیایی به ما می دهد :

AT+CIPGSMLOC=1,1
+CIPGSMLOC: 0,78.151830,15.958542,2017/07/16,18:07:47
OK

اگر با خطای ۶۰۳ مواجه شدید ، به علت عدم اتصال به شبکه یا آنتن دهی ضعیف می باشد . برای بدست آوردن مختصات دستور را تکرار نمائید . در صورت عدم مشکل  ماژول SIM800 طول و عرض جغرافیایی به همراه زمان و تاریخ را به ما می دهد، کادر سبز رنگ عرض جغرافیایی و کادر قرمز رنگ طول جغرافیایی می باشد .

موقعیت یابی توسط sim800 بدون استفاده از GPS
موقعیت یابی توسط sim800 بدون استفاده از GPS

 

 نمایش موقعیت بر روی google map توسط مختصات طول و عرض جغرافیایی توسط ماژول sim800:

جهت نمایش موقعیت بر روی google map  باید طول و عرض جغرافیایی را در لینک زیر وارد نمائید :

http://maps.google.com/maps?q= طول جغرافیایی , عرض جغرافیایی
نمایش موقیت بر روی google map با sim800
نمایش موقیت بر روی google map با sim800

 

وقتی مختصات را بر روی نقشه قرار می دهیم ، مکان تقریبی جایی که دستگاه ما در آن واقع شده است را دریافت می کنیم . اما این مکان دقت به دست آمده توسط GPS را ندارد . مختصاتی که با استفاده از موقعیت دکل  BTS به دست می آید می تواند از چند صد متر تا یک کیلومتر بسته به فاصله بین دستگاه و دکل BTS متفاوت باشد . لازم به ذکر است که این روش فقط در بازیابی محل دستگاه برای اهداف اضطراری مفید است ، زمانی که سیگنال GPS در دسترس نیست ، مانند مکان های داخلی و مسقف یا تونل ها . این روش می تواند جایگزین کم هزینه ای در مقایسه با استفاده از ماژول مستقل GPS  باشد.

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

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

AT+CIPGSMLOC=1,1
+CIPGSMLOC: 0,0.000000,0.000000,2020/12/10,10:12:05

OK

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

گزینه دیگری که جایگزین سرویس قبلی پیشنهاد شده استفاده از روش LBS مخفف عبارت Location Based Service  است . LBS با کمک ارسال و دریافت سیگنال به نزدیک‌ترین دکل مخابراتی مختصات طول و عرض جغرافیایی را برای ما دریافت می کند .

با استفاده از دستور زیر ما می توانیم طول و عرض جغرافیایی را توسط سرویس LBS بدست آوریم .

AT+CLBS=1,1
+CLBS: 2

OK

اما همانطور که در دستور فوق مشاهده می کنید ماژول در جواب عدد 2 را به ما می دهد . عدد 2 بیانگر خطای Time out می باشد . اگر شما نیز با همچین خطای مواجه شدید ، از روشی که در ادامه اشاره می کنیم استفاده کنید .

ماژولی که من با آن کار می کنم از نوع SIM800L می باشد . این ماژول را چون سالها پیش خریداری کرده ام فریمور ماژول سازگار با سرویس LBS نمی باشد و نیاز به بروزرسانی فریمور دارد .

برای آگاهی از ورژن Framware ماژول از دستور زیر استفاده می کنیم .

AT+CGMR

Revision:1418B04SIM800L24

OK

برای ماژول SIM800L حداقل ورژن Framware که سازگار با سرویس LBS باشد ، ورژن 1418B05SIM800L24 می باشد .

آموزش کامل بروزرسانی و آپدیت ماژول های سری SIM800 به همراه نرم افزار و فریمورها در پست دیگری در سایت قرار داده شده است ، می توانید مراجعه و مطالعه کنید .

توجه داشته باشید که اگر ماژول شما از نوع دیگری مثلا SIM800c است باید از فریمور مخصوص به ماژول SIM800c  جهت بروزرسانی استفاده کنید .

بعد از بروزرسانی ورژن Framware مجددا با استفاده از دستور زیر از آپدیت شدن ورژن فریمور ماژول خود اطمینان حاصل کنید .

AT+CGMR

Revision:1418B05SIM800L24

OK

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

AT+CLBS=1,1

+CLBS: 0,51.459497,35.684457,550

OK

 نویسنده : حسین غیاثوند

Admin

در حال حاضر در زمینه الکترونیک ، طراحی بورد و برنامه نویسی فعالیت می کنم . علاقه مند به یادگیری و اشتراک گذاری آموخته های خود هستم .
guest
30 دیدگاه
قدیمی ترین
جدیدترین محبوب ترین
بازخورد داخلی
مشاهده همه نظرات