راه اندازی ussd ماژول sim800
USSD پروتکل استاندارد بین المللی و مخفف Unstructured Supplementary Service Data به معنی ارسال پیام از طریق کد دستوری می باشد . USSD یک مکانیزم انتقال اطلاعات بر بستر شبکه GSM می باشد . سرویس USSD جزء خدمات ارزش افزوده تلفن همراه بهحساب میآید و بدون هزینه خاصی قابل پیاده سازی در تمام شبکههای GSM است و تقریبا تمام گوشیهای موجود USSD را پشتیبانی میکنند . USSD یک ارتباط REAL-TIME در شبکه را در اختیار قرار می دهد . در این روش مدت زمان انتظار جهت پاسخگویی بسیار کمتر از ارسال و دریافت SMS است .
ارتباط از طریق USSD شباهت زیادی به انتقال پیام از طریق SMS دارد اما یک اختلاف بزرگ بین نحوه انتقال اطلاعات USSD , SMS وجود دارد . SMS از مکانیزم ذخیره و فرستادن مجدد Store And Forward استفاده مینماید . بدین معنی که SMS ابتدا در شبکه ذخیره می شود و در زمانی دیگر برای مقصد ارسال میشود .
USSD نشست گرا Session Oriented است . یعنی در USSD داده ارسالی به سرور بدون ذخیره سازی ، پاسخ داده می شود و سرور بلافاصله پس از دریافت یک درخواست USSD از طرف موبایل ، یک ناحیه کاری توسط سرور برای درخواست رسیده ایجاد می کند و نرم افزار شروع به برقراری ارتباط با موبایل مربوطه می نماید.
در این روش که بر مبنای منوبندی Menu Based می باشد، مشتری ابتدا با ارسال یک درخواست به شکل *…# به شبکه امکان مشاهده گزینه هایی را به صورت منویی دارد و با انتخاب شماره هر کدام از منوها و ارسال به سرور شبکه درخواست خود را مطرح می نماید و سرور شبکه با دریافت این شماره و با استفاده از ناحیه کاری ایجاد شده مراحل درخواست مشتری را به سمت مربوطه هدایت می نماید.
USSD یک روش برقراری ارتباط بین گوشی با شبکه و برعکس است و بین دو تا گوشی موبایل نمی توان ارتباط USSD برقرار کرد . اما SMS برای ارتباط گوشی با گوشی به کار میرود . برخلاف SMS که ازفضای خالی داده ای شبکه جهت ارسال اطلاعات استفاده می کند ، در USSD از فضای ارسال صوت استفاده می شود بنابراین از لحاظ میزان امنیت در حد بسیار بالایی قرارداشته و امکان شنود آن به سختی امکان پذیر می باشد .
به همین دلیل در صورت از دست رفتن پوشش یا آنتن دهی به هنگام برگزاری یک جلسه با شبکه ، کلیه اطلاعات رد و بدل شده از بین می رود که به منظور برطرف کردن این قضیه بایستی از ترکیب این روش با یک روش نرم افزاری استفاده کرد. یک پیام USSD میتواند در حدود ۱۸۲ کاراکتر باشد . بنابراین محدودیت بیشتری در ارسال تعداد کاراکتر های فارسی و غیر فارسی نسبت به SMS دارد .
موضوعاتی که در این مقاله به آنها پرداخته خواهد شد :
استعلام شارژ با ماژول SIM800 :
این آموزش در مورد نحوه استفاده از کد USSD در ماژول های SIM800 یا SIM900 است . فرض کنید شما دستگاهی توسط ماژول SIM800 ساخته اید که اطلاعات و یا برخی وقایع را قرار است از طریق SMS و یا اینترنت GPRS برای شما ارسال کند . همانطور که می دانید ارسال SMS و یا اینترنت GPRS توسط ماژول SIM800 دربردارنده هزینه ریالی است .
بنابراین اگر سیم کارتی که بر روی دستگاه ساخته شده با SIM800 وجود دارد ، دارای شارژ یا اعتبار ریالی نباشد . SMS برای شما ارسال نخواهد شد و شما پاسخی از طرف ماژول SIM800 نخواهید داشت . برای فعال سازی قابلیت USSD ماژول SIM800 فرمان زیر را به ماژول SIM800 ارسال می کنیم . اگر در جواب کلمه OK را دریافت کردیم ، USSD ماژول SIM800 برای ما فعال شده است .
AT+CUSD=1 OK
برای استعلام شارژ باید کد دستوری USSD مربوط به سیم کارت خود را به شکل زیر برای ماژول SIM800 ارسال کنید . در جواب مقدار شارژ یا اعتبار سیم کارت توسط ماژول SIM800 برای شما ارسال می شود . اگر از سیم کارت اپراتور دیگری استفاده می کنید باید کد دستوری USSD مربوط به سیم کارت خود را استفاده کنید .
کد USSD میزان شارژ سیم کارت سه اپراتور پر استفاده در کشور قرار داده شده است .
ایرانسل :
*141*1#
همراه اول :
*140*11#
رایتل :
*140#
در این مثال من از سیم کارت رایتل استفاده کرده ام بنابراین از کد USSD استعلام شارژ *140# استفاده شده است .
AT+CUSD=1,"*140#" OK +CUSD: 0, "Etebar:11536 Rial Tarikhe engheza:1469.10.11 Jahate kasbe etela'ate bishtar be ecare.rightel.ir moraje'e farmaeed.", 15
تغییر زبان سیم کارت توسط ماژول SIM800 :
اگر زبان سیم کارت شما به صورت پیش فرض بر روی فارسی تنظیم شده باشد . جواب استعلام شارژ شما غیر قابل فهم و به صورت کد هگز دریافت می شود . بنا براین پیشنهاد می شود زبان سیم کارت خود را بر روی زبان انگلیسی تنظیم کنید تا جواب استعلام شارژ توسط ماژول SIM800 به زبان انگلیسی و کاراکترهای استاندارد اسکی دریافت شود .
برای تغییر زبان سیم کارت توسط ماژول SIM800 باید از کد USSD مربوط به این کار استفاده کنید . کد USSD تغییر زبان سیم کارت سه اپراتور پرکاربرد در کشور قرار داده شده است . همچنین می توانید سیم کارت خود را بر روی تلفن یا گوشی خود قرار دهید و توسط کد USSD زبان سیم کارت خود را تغییر دهید .
ایرانسل :
*555*4*3*2#
همراه اول :
*198*2#
رایتل :
*720*7*1*3#
توجه : کدهای استعلام شارژ و تغییر زبان سیم کارت در تاریخی که این مقاله نوشته شده است به شکل بالا می باشد . ممکن است در آینده این کدها از طرف خود اپراتورهای سیم کارت تغییر پیدا کنند . بنابراین اگر متوجه تغییری در کدهای USSD شدید از طریق ارسال یادداشت در زیر همین مقاله اطلاع رسانی نمایید تا کدهای USSD را بروزرسانی کنیم .
توجه : این آموزش و سورس کدها برای تمامی ماژول های سری sim800 مانند sim800l , sim800c , sim808 قابل استفاده می باشد .