پروژه ردیاب از طریق sms و ماژول sim808

به نام خدا وبا سلام خدمت دوستان عزیز!

در این مطلب پروژه ردیاب رو خدمتتون معرفی خواهم کرد که توسط ماژول sim808 که هر سه قابلیت gps , gprs , gsm رو داره و ما در این پروژه با ارسال پیامک به ماژول sim808 مختصات جغرافیایی رو از طریق پیامک ماژول گرفته و در برنامه اندرویدی در گوگل مپس نمایش خواهیم  داد.

ابتدا توضیحاتی در مورد بخش gps  و نحوه روشن و خاموش کردن و گرفتن لوکیشن خدمت دوستان میدم

این سه خط ابتدای برنامه gps رو کانفیگ میکنه.

و هر بار که بخواین مختصات جغرافیایی رو دریافت کنید کافیه فقط خط سوم رو بفرستید.

روی ماژول یک led داره که وقتی ماژول به ماهواره متصل بشه اون led چشمک میزنه و در این صورت مختصات جغرافیایی رو مانند شکل زیر دریافت خواهید کرد.

AT+CGPSINF=4

+CGPSINF: 4,3624.246300,N,5459.237800,E,171010.000,A,A

OK

که باید توسط یوزارت میکرو دیتا رو تفکیک کنید…

 

در این پست چند دستور (AT-COMMAND) برای GPS ماژول SIM908 را توضیح می دهم:

۱- AT+CGPSPWR=1 : روشن کردن GPS ماژول

۲- AT+CGPSPWR=0 : خاموش کردن GPS ماژول

۳- AT+CGPSRST=0 : شروع به کار GPS در حالت COLD

۴- AT+CGPSRST=1 : شروع به کار GPS در حالت Autonomy – در این حالت GPS سریعتر دیتا را دریافت میکند – غیر از اواین باری که ماژول را روشن میکنید.

۵- AT+CGPSINF=X : دریافت اطلاعات GPS

X می تواند: ۲-۴-۸-۱۶-۳۲-۶۴-۱۲۸ باشد

X = 2 >>>>>>   $GPGGA

X = 4 >>>>>>> $GPGLL

X = 8 >>>>>>> $GPGSA

X= 16 >>>>>>  $GPGSV

X = 32 >>>>>> $GPRMC

X= 64 >>>>>>  $GPZDA

اطلاعات موقعیت جغرافیای و سرعت به ازای X=32 دریافت میشود.

۶- ? AT+CGPSSTATUS   : برای آگاهی از وضعیت GPS میباشد.

جواب ماژول:

“Location Unknown” به ازای خاموش بودن یا عدم دریافت اطلاعات GPS

“Location Not Fix” به ازای روشن بودن ماژول و عدم کامل شدن اطلاعات GPS

“Location 2D Dix” به ازای ثابت شدن اطلاعات در حالت ۲D

“Location 3D Fix” به ازای ثابت شدن اطلاعات در حالت ۳D

 

۷- AT+CGPSOUT : کنترل دیتای خروجی NMEA از پورت سریال مربوط به GPS

حالت های موجود:

الف) ۰ = خروجی دیتا از پورت GPS غیر فعال

ب) ۲ = ” ” ” ” ” = GPGGA

پ) ۴ = ” ” ” ” ” = GPGLL

ت) ۸ = ” ” ” ” ” = GPGSA

ج) ۱۶ = ” ” ” ” ” = GPGSV

د) ۳۲ = ” ” ” ” ” = GPRMC

ه) ۶۴ = ” ” ” ” ” = GPVTG

ن) ۱۲۸ = ” ” ” ” ” = GPZDA

۸- AT+GPSIPR= x : تعیین باود ریت پورت سریال GPS

x: 4800 , 9600 , 19200 , 38400 , 57600 , 115200 , 230400 , 460800

نکته:آنتن gps حتما اکتیو باشه و آنتن در فضای باز قرار گرفته باشه.

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

//———————– GET LOCATION WHIT INTERNET ————————-
at+sapbr=1,1

OK
at+cipgsmloc=1,1

+CIPGSMLOC: 0,54.979904,36.401321,2018/09/02,17:10:43

OK

و در نهایت با ارسال پیامک GPS#  میتونید مختصات رو توسط گوشی دریافت کنید.

دقت کنید که شمارتون رو در برنامه در این خط وارد کرده و برنامه رو کامپایل و پروگرام کنید.

if(get_text_masege[1]==’G’ & get_text_masege[2]==’P’ & get_text_masege[3]==’S’ )
{
lcd_clear();
sprintf(status_str,”https://www.google.com/maps/place/%s,%s”,lat,lng);
SendTextMesage(“0911——-“,status_str);
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (1<<TOIE1) | (0<<TOIE0);

}

همانطور که مشاهده میکنید با تابع ارسال پیام داریم و برنامه به صورت کاملا مرتب نوشته شده است و طبق if میتونید عبارت gps رو هم برای دریافت مختصات تغییر بدین.

نحوه عملکرد برنامه:

برنامه به این صورته ابتدا میاد میکروکنترلر رو برای دریافت و ارسال پیامک و همچنین gps به صورت فول داپلکس کانفیگ میکنه و تمامی مراحل روی lcd نمایش داده میشه.

پس از اتمام کانفیگ هر ۵ ثانیه یک بار از ماژول gps رو درخواست میکنه و روی lcd نمایش میده و شما هر زمان که پیامک دادین مختصات جغرافیایی رو براتون میفرسته.

وقتی که هنوز gps به ماهواره متصل نشده و اطلاعات نرسیده میکرو دچار هنگ نمیشه و اطلاعات رو به صورت زیر روی lcd نمایش میده.

برنامه اندرویدی نوشته شده برای پروژه:

برای این پروژه برنامه اندرویدی به شکل زیر نوشته شده است که میتوانید شماره سیم کارت داخل ماژول را در آن وارد کنید که در حافظه گوشی ذخیره میشود و نیاز به وارد کردن هر بار شماره نیست

حال با زدن دکمه صورتی در پایین سمت راست عبارت GPS# به شماره ارسال مبشود و پس از دریافت مختصات روی نقشه گوگل مپس نمایش داده می شود.

برای ساخت این پروژه از میکروکنترلر atmega8  با فرکانس کاری ۸ مگا هرتز استفاده شده و برنامه نویسی آن به زبان سی در کامپایلر کدویژن انجام شده است.

ورودی ماژول sim808  اداپتور ۱۲ ولت ۳ امپر هستش که از همین ورودی با استفاده از رگولاتور ۵ ولت کل مدار میکرو و lcd تغذیه شده.

دوستان عزیز برنامه به صورت کاملا بهینه و بدون خطا نوشته شده و عملکرد کاملا پایداری دارد.

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

 

لیست قطعات مورد استفاده :

۱-ماژول SIM808

۲-میکرو کنترلر atmega8

۳-lcd کاراکتری ۲ در ۱۶

۴-مبدل USB به سریال

و دیگر قطعات کاربردی و رایج و لازم…

«این قطعات رو از هر فروشگاهی میتونید تهیه کنید»

توضیحات تنظیمات میکروکنترلر:

فرکانس کاری میکرو ۸ مگا هرتز است که میتوانید از اسیلاتور داخلی استفاده کنید و فیوز بیت ها رو به صورت زیر تنظیمات کنید:

کلاک سلکت صفر برابر ۰

کلاک سلکت یک برابر ۰

کلاک سلکت دو برابر ۱

کلاک سلکت سه برابر ۰

و در صورت اتصال کریستال خارجی ۸ مگا هرتز تمامی کلاک سلکت هارو ۱ کنید

توضیحات بیشتر در مورد نحوه پروگرام کردن میکرو از این لینک ببینید.

برای تهیه پروژه میتوانید از لینک های زیر اقدام کنید

 

 

mehdi sehati

در این سایت پروژه و آموزش های انواع ماژول ها و میکروکنترلر ها و نحوه ارتباط سخت افزار با نرم افزار (برنامه نویسی اندروید برای گوشی و برنامه نویسی سی شارپ برای کامپیوتر) و برنامه نویسی پایتون و رسبری پای و ماژول های وای فای قرار میگیرد همچنین دوستان برای توضیحات بیشتر و سفارش پروژه میتوانند به آی دی تلگرام بنده مراجعه کنند

مطالب مرتبط

Subscribe
Notify of
guest

1 دیدگاه
Inline Feedbacks
View all comments
احمد احسانی
احمد احسانی
2 years ago

سلام . برای اینکه فرمت خروجی مکان رو تبدیل به dd کنیم در برنامه چه عملی باید انجام بدیم که بتونیم رشته lat به جز دو رقم اول رو تقسیم بر ۶۰ کنیم؟

1
0
Would love your thoughts, please comment.x