آموزش ها و پروژه های جامع SIMCOM
توسط mehdi sehati · منتشر شده · بروزرسانی شده
دستورات AT در ماژول های SIMCOM
AT Command ها دستوراتی برای کنترل مودم ها هستند.
AT Command ها در واقع برگرفته از Hayes Command ها هستند.
تمام دستورات AT Command ها با AT در ابتدا شروع می شود.
دقت کنید AT یک پیشوند است که با دریافت آن متوجه می شود دستوری ارسال شده است و جز نام فرمان نیست. به عنوان مثال یکی از فرامین ای تی کامند +CMGS نام دارد و زمان استفاده باید به صورت AT+CMGS استفاده شود. فرمان دیگری به نام D وجود دارد که به صورت ATD به مودم ارسال می شود.
بسیاری از ماژول های GSM ، GPRS , Bluetooth و … از دستورات AT برای ارتباط با کامپیوتر و میکروکنترلر استفاده میکنند.
آشنایی با کارکتر های خاص At Command
• کارکتر <CR>
کاراکتر <CR> یا Carriage return character ، کارکتر پایانی خط دستور یا پایان خط نتیجه است. کد دسیمال کارکتر <CR> در جدول ASCII برابر با ۱۳ است. شما باید در انتهای خط دستور این کارکتر را برای مودم ارسال کنید تا دستور اجرا شود.
• کارکتر <LF>
کارکتر Line Feed بیشتر در نتایج غیرعددی بازگردادنده شده از مودم دیده می شود. این کارکتر ، در واقع مکان نما را به سر خط بعد می برد و کد دسیمال آن در جدول ASCII برابر ۱۰ است.
• کارکتر <Z^>
کارکتر Z^ یا Ctrl+Zکه در حقیقت Substitute نام دارد، در پاسخ متنی بعضی دستورات به عنوان اتمام پاسخ به کار برده می شود. مثلا زمانی که قصد ارسال SMS را دارید می توانید زمانی که مودم از شما متن پیامک را درخواست کرد و متن را نوشتید ،این کارکتر را ارسال کنید تا مودم پیامک شما را ارسال کند. کد دسیمال این کاکتر در جدول ASCII برابر ۲۶ است.
قاعده معمول دستورات AT
# قاعده اول:
بسیاری از دستورات پایه در ابتدا با AT شروع می شوند سپس نام دستور نوشته می شود و در پایان کارکتر <CR> ارسال می شود.
ATدستور<CR>
مثال :
AT+CMGR<CR>
# قاعده دوم:
در هر خط دستور می توانید بیش از یک دستور AT را ارسال نمایید برای این کار یکبار AT را در ابتدای خط دستور قرار داده و سپس دستورات را بواسطه سمی کالن ( ; ) از یکدیگر جدا می کنیم.
ATدستور;دستور<CR>
مثال:
AT+CMGI;+CMGL<CR>
# قاعده سوم :
برخی از دستورات AT نیازمند مشخص نمودن یک پارامتر رشته ای هستند. مثلا زمانی که می خواهید تمام پیامک های مودم را بخوانید باید مقدار ALL را نیز به همراه CMGL استفاده کنید به این منظور ALL را باید بین دو دابل کوتیشن ( “ ) قرار دهید.
ATدستور=”String”<CR>
مثال :
AT+CMGL=”ALL”
# قاعده چهارم :
پاسخ ها و نتایجی که توسط مودم برگرنداده می شود همیشه در شروع و پایان خود یک کارکتر <CR> و یک کارکتر <LF> دارند.
<CR><LF>پاسخ<CR><LF>
نمونه :
<CR><LF>SIM900<CR><LF>
<CR><LF>OK<CR><LF>
This post is about showing how to use USSD code in SIM900 or SIM800 GSM modules.
SIM900 and SIM800 GSM modules provide a set of commands to check the balance of the SIM card. Here they are,
Before you dial a USSD code, you need to enable USSD commands and response notification using the command AT+CUSD=1.
Once you enter AT+CUSD=1 and receive a OK string as response , your USSD command response notification will be enabled and for the next USSD code you enter you will get a response notification.
Now in this example i have used Vodafone SIM card to check the balance. There are two ways to do it,
#Option 1: Using the standard number *111# and get a USSD response string with multiple options to select, and selecting the balance check in the options.
#Option 2: Using the shortcut number *111*2# and get a direct balance information string as a USSD response.
Enable USSD
Now to check balance using a two step process, you have to first enable the command USSD command response using command AT+CUSD=1 followed by \r\n or carriage return.
– You shoud get a response as OK.
Dial the command
Next dial the USSD code of your respective SIM card, in my case it is *111#, using the command AT+CUSD=1,”*111#” followed by \r\n or carriage return.
– You should get a response as shown in above image. Here the network gives you multiple options to select, like Tariff details or Balance check etc.
Dial the selected option number
In the response above, we need to check balance so we need to dial 2 since it is the corresponding code for checking balance as shown in options.
Select 2 as the next input using the command AT+CUSD=1,”2″ followed by \r\n or carriage return.
– You will receive response as OK followed by the balance information.
#Option 2 : (Note this might not always work with all network operators)
:فرمان هایی که در زمان دریافت پیام و زنگ پین تغییر وضعیت می دهد
فرمان ریست و روشن خاموش کردن ماژول از طریق کامند:
DTMF مخفف Dual-tone multi-frequency بوده و سيستمي جهت ارسال سيگنال از طريق خطوط تلفن به مراكز سوئيچينگ در باند فركانس صوتي (شنيداري) مي باشد كه مي تواند هم به منظور مشخص كردن شماره ي مورد نظر جهت ايجاد ارتباط از طريق مراكز سوئيچينگ مورد استفاده واقع شود، هم اينكه نقش انتقال فرامين را به اين مراكز يا ساير دستگاه هاي مخابراتي ايفا نمايد.
اين سيستم نيز كاربرد هاي ديگري در ايستگاه هاي تلويزيوني دارا مي باشد، بدين نحو كه فرستنده ي اصلي مي تواند در زمان نمايش تبليغات، سيگنال هاي DTMF را براي ايستگاه هاي واسطه محلي ارسال نمايد تا آن ايستگاه بتواند تبليغات محلي خود را در آن زمان به نمايش در آورد. همچنين در برخي سيستم هاي جاسوسي نيز مي توان فرامين خاموش يا روشن كردن دوربين ها و يا ساير سيستم هاي واسطه را از اين طريق ارسال نمود.
سيستم DTMF از ۸ فركانس مختلف كه بصورت زوجي ارسال مي شوند بهره مي گيرد كه در مجموع در برگيرنده ۱۶ عدد، حرف و علامت مي باشد كه جزييات آن در جدول زير مشخص شده است:
در اين جدول، هر سطر نمايش دهنده ي جزء فركانس پايين سيگنال و هر ستون نمايش دهنده ي جزء فركانس بالاي سيگنال ارسالي مي باشد. به عنوان مثال با فشردن كليد ۱، تُن سينوسي با ۲ فركانس ۶۹۷ و ۱۲۰۹ هرتز بر روي خط تلفن ارسال خواهد شد.
در بين كد هاي موجود در جدول قبل، حروف ستون آخر داراي كاربرد هاي استراتژيك خاصي مي باشند كه عمدتاً توسط مراكز نظامي، امنيتي و سياسي مورد استفاده قرار مي گيرند و استفاده از اين كد ها در اغلب مراكز مخابراتي، براي مشتركين عادي محدود مي باشد. (بطور كلي در جهت اولويت دادن به تماس ها در مواقع ضروري و ايجاد خطوط آزاد در مواقعي كه ممكن است كليه خطوط اشغال باشند، مورد استفاده قرار مي گيرد.)
اين فركانس ها به نحوي انتخاب شده اند كه هيچ فركانسي مضربي از فركانس ديگر نمي باشد. تفاضل يا جمع هر دو فركانس برابر با هيچ كدام از فركانس هاي موجود نمي باشد. حداكثر خطاي هر فركانس مي تواند +/- ۱.۸% باشد و براي مقادير بيشتر، اين سيگنال ها در مراكز سوئيچينگ ناديده گرفته مي شوند. تفاوت قدرت بين جزء فركانس بالا و فركانس پايين سيگنال حداكثر ۳dB مي باشد.
علاوه بر فركانس هاي جدول قبل، مطابق جدول زير، در سيستم DTMF حالت هايي براي بررسي وضعيت خطوط در نظر گرفته شده :
كه مورد اول در جهت مشخص نمودن اشغال بودن خط، مورد دوم در جهت تشخيص وجود تُن آزاد و مورد سوم همان تُني است كه پس از شماره گيري موفقيت آميز و در زمان انتظار برداشتن خط توسط طرف مقابل، قابل شنيدن مي باشد.
در تصویر بالا مشاهده میکنید که با ارسال دستور AT پاسخ OK از ماژول دریافت میشود که نشانگر صحت در ارتباط بین هایپر ترمینال و ماژول میباشد و ماژول آماده استفاده است.
در اینجا برای راحتی کار یک ماژول بلوتوث به SIM800 متصل کردیم اطلاعات رو از گوشی به بلوتوث میفرستیم بلوتوث هم دقیقا همون اطلاعات (ای تی کامند ها)به ماژول می دهد و پاسخ های ماژول را دریافت میکند و به گوشی ما میفرستد تا ببینیم شما میتونید مستقیم با ترمینال و لبتاب با ماژول این تستها رو انجام بدین.
در این آموزش قصد داریم که با برقراری تماس با ماژول ، بتوان کدهای DTMF را به ماژول ارسال کرد.
بعد از برقراری تماس با ماژول ، RING توسط ماژول ارسال میشود داخل هایپر ترمینال قابل مشاهده است.
برای ارسال کد های DTMF باید ارتباط وصل گردد ، که پاسخ دادن به تماس دریافتی با دستور ATA صورت میگیرد و پیغام OK برگشت داده میشود.
هم اکنون ارتباط برقرار شده و آماده ارسال کدهای DTMF از سوی شما میباشد.
همانطور که در تصویر مشاهده میکنید با ارسال هر شماره ، همان شماره روی هایپر ترمینال نمایش داده میشود.
مقدار سیگنال آنتن در اینجا ۱۹ است
آموزش ADC ماژول sim800c
طبق گفته دیتاشیت ماژول sim800c
قابلیت خواندن مقدار ماکسیمم ولتاژ از ورودی تا ۲٫۸ ولت را دارد
و ۱۰bits-ADC میباشد
و دارای نرخ نمونه برداری ۱٫۰۸۳۳MHz است
روی شکل شماره ۱و۲ گذاشته شده که شماره ۱ به معنی انجام کار و شماره ۲ مقدار ولتاژ بر حسب mv میباشد.
با ارسال دستور خواندن ولتاژ به ماژول sim800c مقدار ولتاژی که بر روی پایه ۳۸ این ماژول که مربوط به adc میباشد وجود دارد را بر میگرداند.
ماژول سری SIM800C میتواند باتری شارژ کند و وضعیت شارژ باتری را نمایش بدهد:
با استفاده از کد دستوری AT+CBC میتونید مقدار ولتاژ روی پایه VBAT رو بخونید
حالت شارژ
درصد شارژ
میزان شارژ
و…
وقتی که شما از طریق ماژول به شماره زنگ میزنید سه حالت وجود دارد که در زیر بررسی می کنیم:
حالت اکو حالتی هستش که شما هر کامندی به ماژول بفرستید ابتدا ماژول همون کامند شمارو بهتون برمیگردونه و بعد بهتون اوکی میده برای پروژه های حساس به کار میره
برای غیر فعال کردش کامند زیر رو بفرستید
ATE0
و برای فعال کردنش کامند زیر رو بفرستید
ATE1
رو عکس کلیک راست کنید و OPEN IN NEW TAB کنید…
برگرفته شده از کانال simcom تلگرام.
سپاس فراوان