# Native Code > برنامه نویسی موبایل >  AT Command جهت شارژ ایرانسل

## hassan razavi

سلام دوستان
من برای شارژ سیم کارت ایرانسل از طریق GSM Modem ، با ATD Command به راحتی اینکار رو انجام می دادم.
ولی ATD بر روی مودم Tatung TCU-200 جواب نمیده. 
اگه کسی برای شارژ سیم کارت ایرانسل (ارسال Data Call) توسط tatung اطلاعی داره ممنون میشم کمک کنه.
با تشکر از همه دوستان

----------


## mohsenm66

اگر امكان داره دستورات شارژ ايرانسل را بذاريد تا آنهايي كه بلد نيستند نيز بتونند ياد بگيرند

بي سوادي و هزار درد بي درمان

 :گیج:

----------


## Hamishebahar

ممنون میشم کسی کمک کنه.

----------


## persiansoftware

دستور ATCOMMAND جهت اینجور کارها که بهش USSD گفته میشه به این صورته :

'دستور شارز',AT+CUSD=1

----------


## persiansoftware

Sub USSD() 	Set MSComm1=CreateObject("MSCOMMLib.MSComm")	MSComm1.Settings = "9600,n,8,1"	MSComm1.InputLen = 0	MSComm1.RThreshold = 5	MSComm1.CommPort = 4	MSComm1.InBufferCount = 0	MSComm1.PortOpen = True	MSComm1.Output="AT+CMGF=1" & vbcrlf	WScript.Sleep(1000)     TextCommand = "*124#"    strCommand = "AT+CUSD=1," & Chr(34) & TextCommand & Chr(34) & ",15"    MSComm1.Output=strCommand				' Send USSD Command    WScript.Sleep(10000)    strResponse=MSComm1.Input     If (InStr(strResponse, "OK") > 0) Then             	     ' Response should be OK        MSComm1.Output=" "	WScript.Sleep(10000)  	   			 	' Wait for response       	strResponse2=MSComm1.Input		If (InStr(strResponse2, "+CUSD:") > 0) Then          ' If USSD response is received, display text between ""            strFields = Split(strResponse2, Chr(34))            modemReply = strFields(1)	Else	    modemReply = "Error strResponse2"        End If    ELSE            modemReply = "Error strResponse"    End If     MSComm1.PortOpen = False   set MSComm1=nothing    End Sub Call USSD()msgbox modemReplyاینم sub ارسال ussd که توسط زبان C#‎ نوشتم.میتونین با Portcom دستور ussd رو ارسال کنید

----------


## mohsenm66

سلام
من امتحان كردم كار نكرد

ميتوني يه منبع خوب معرفي كني
البته قصد توهين ندارم فقط جهت اطلاعات بيشتر ميخواهم

----------


## @AM!R!

با سلام
دوست عزیز آیا شما نمونه برنامه ای برای ارسال sms چند قسمتی با مد PDU دارید؟
من از تمام پست های موجود در این قسمت استفاده کردم ولی نتیجه نگرفتم

----------


## tehran2009

اگه ممکنه سورس این برنامتونو در اختیار ما بزارین ممنون میشم.
آخه منم دنبال همچین چیزی هستم.

----------


## CYCLOPS

دوستان کسی در این زمینه به جواب نرسیده ؟؟

----------


## jafarabad

سلام
لینک دانلود at commandiکه اس ام اس می فرسته

دستور شارژ

http://www.2shared.com/fadmin/122262...82004.zip.html

2shared.com/fadmin/12226276/795974a8/www_222sms_com_09125982004.zip.html

Call Send("ATD*144*1;" & vbCrLf)                 in dastoore sharjeshe

مشکل داشتی تماس بگیر 09368492848

دستور تعویض آهنگ پیشواز ایرانسل با ای تی کامند هم دارم

----------


## mohsenm66

> سلام
> لینک دانلود at commandiکه اس ام اس می فرسته
> 
> دستور شارژ
> 
> http://www.2shared.com/fadmin/122262...82004.zip.html
> 
> 2shared.com/fadmin/12226276/795974a8/www_222sms_com_09125982004.zip.html
> 
> ...


 


لينك خراب است
اگر امكان داره دستور كامل را بنويسيد يا لينك را اصلاح كنيد.

با تشكر

----------


## jafarabad

با سلام
www.3mnan.blogfa.com
www.222sms.com


دستور atd  برای تماس گرفتن در ای تی کامند می باشد


at

atz


atd*144* kode ramz#;      '09125982004


 
Call Send1("AT" & vbCrLf)                 'www.222sms.com
If Not VerifySuccess(Receive, True) Then GoTo finally
Call Send1("ATZ" & vbCrLf)                 'www.222sms.com
If Not VerifySuccess(Receive, True) Then GoTo finally
Call Send1("ATD*144*" & SMSC.Text & "#;" & vbCrLf)               'www.222sms.com
If Not VerifySuccess(Receive, True) Then GoTo finally
For ij = 0 To 5
Call Send1("AT" & vbCrLf)                  'www.222sms.com
If Not VerifySuccess(Receive, True) Then GoTo finally
Next

finally:

----------


## mahdi206

چرا دستورات دریافت اس ام اس کار نمی گنه

----------


## ehsanocx

آقا دمت گرم با این برنامه کا با برنامه ای که برای ارسال دادی با یک سری  تغییرات به دریافت sms تبدیلش کردم و جواب داد اگر بدونی چقدر بدردم خورد و راحتم کردی . یک دنیا ممنون.

----------


## nathan

دوستان يك مشكل كوچيك وجود داره و اونم اينه كه AT+CUSD با همراه اول كار نمي كنه و به عنوان مثال در جواب اين كد   AT+CUSD=1,"*140*11#",15 برگشتي ERROR بر مي گردونه كسي علت رو مي دونه؟

----------


## faravaghi

سلام،
منم با این دستور مشکل دارم
 AT+CUSD=1,"*140*11#",15
OK
 بهم OK هم میده ولی جواب دیگه نمیاره
آیا پارامتری هست که باید ست بشه؟ مثلا کدینگ یا هر چیز دیگه؟
البته بگم سیم کارت همراه اول و مودم هم یک GSM Modem DWM-152 از نوع دلینک است.

----------


## nathan

من فكر مي كنم همراه اول از CUSD پشتيباني نمي كنه براي همينه كه جواب درست و حسابي بر نمي گردونه

----------


## faravaghi

> من فكر مي كنم همراه اول از CUSD پشتيباني نمي كنه براي همينه كه جواب درست و حسابي بر نمي گردونه


بازم سلام،
این که شما گفتی درست نیست!
من این کارو با سیم کارت همراه اول با مودم DWM-156 Dlink تست کردم جواب داد ولی می خوام با مدل DWM-152 هم تست بگیرم.
راستی من به یک سری اطلاعات که تو این جستجوها رسیدم میگم هر تونست کامل ترش کنه منم استفاده کنم.


قبل ارسال هر دستور چک کنید کدینگ تون چیه؟AT+CSCS?
+CSCS: "UCS2"

OK

اگه کدینگ شما تو حالت UCS2 باشه باید متنی که میخواین ارسال کنید به صورت تبدیل شده به حالت PDU باشه یعنی اینجوری:
AT+CUSD=1,002A003100340030002A003100310023,15
البته این برای همراه اول است. و اگر کدینگ شما به صورت IRA یا GSM باشه باید به صورت زیر ارسال کنید:
AT+CUSD=1,"*140*11#",15
بعد یادتون باشه که در کدوم محیط دارید کار می کنید، اگه تو حالت متنی هستید جواب هم قابل تشخیصه یعنی جوابی که از طرف اپراتور میاد قابل درکه:
+CUSD: 0,"Your balance is 42182 Rial. Your account will expire after 10/04/2013.",72
اگر هم تو حالت PDU باشین این جوری جواب میاد:
+CUSD: 0,"0059006F00750072002000620061006C0061006E0063006  50020006900730020003400320031003800320020005200690  061006C002E00200059006F007500720020006100630063006  F0075006E0074002000770069006C006C00200065007800700  06900720065002000610066007400650072002000310030002  F00300034002F0032003000310033002E0020",72که تو این وضع باید متن PDU را تبدیل کنید که همون یکی بالا میشه.

حالا من موندم چه تنظیم دیگه ای داره که باید جواب اپراتور توسط مودم قابل دریافت بشه چون ماکه میفرستیم جواب OK رو میگیریم ولی چیزی از طرف مودم دریافت نمیشه.
یه جورایی همین مشکل رو با تایید ارسال پیام کوتاه داشتم تو مدل 156 می داد ولی تو مدل 152 نمی گرفتم.
بعد از کلی درگیری و وب گردی فهمیدم باید پارامتر های AT+CNMI رو تو مدل 152 این طوری تنظیم کنم تا دریافت تایید ارسال انجام بشه به همین راحتی:
AT+CNMI=1,2,0,1,0
OK
حالا موندم که تنظیم این دستور چطوریه؟
حالا اگه کسی پیدا کرد به منم بگه.

----------


## behi88

سلام دوستان

من هم با همراه اول مشکل دارم
البته ایرانسل درست کار میکنه و دقیقا مقدار شارژ رو بر میگردونه
ولی اگر سیم کارت رو عوض کنم و با همون تغییرات بخوام شارژ همراه اول رو ببینم اینطور جواب میده
AT+CUSD=1,"*140*11#",15
OK

ERROR

ممنون میشوم اگر راهنمایی کنید

----------


## faravaghi

سلام دوست گرامی،
شما هر بار سیم کارت رو عوض می کنی به این معنی است که داری مودم یا گوشی رو از رایانه جدا می کنی. این عمل(جدا کردن مودم یا گوشی از رایانه) باعث Reset شدن تنظیمات آنها می شود. پس باید بعد از تعویض سیم کارت یکبار دیگه پارامترها رو تنظیم کنی:
AT+CMGF=1
OK
AT+CSCS="IRA"
OK
AT+CUSD=1,"*140*11#",15
OK
+CUSD: 0,"Your balance is 42182 Rial. Your account will expire after 10/04/2013.",72
برای اینکه چک کنی تنظیمات مثل زمانیه که از ایرانسل جواب گرفتی پارامترها رو چک کن:
AT+CMGF?
+CMGF: 1

OK
AT+CSCS?
+CSCS: "IRA"

OK

----------


## nathan

> بازم سلام،
> این که شما گفتی درست نیست!
> من این کارو با سیم کارت همراه اول با مودم DWM-156 Dlink تست کردم جواب داد ولی می خوام با مدل DWM-152 هم تست بگیرم.
> راستی من به یک سری اطلاعات که تو این جستجوها رسیدم میگم هر تونست کامل ترش کنه منم استفاده کنم.
> 
> 
> قبل ارسال هر دستور چک کنید کدینگ تون چیه؟AT+CSCS?
> +CSCS: "UCS2"
> 
> ...




آقا من با همه این دستورات ور رفتم نشد که نشد با دو نوع مختلف مودم هم چک کردم باز هم نشد با همراه اول نتونستیم کار کنیم و AT+CUSD روی این اپراتور ظاهراً جواب نمی ده

----------


## faravaghi

> آقا من با همه این دستورات ور رفتم نشد که نشد با دو نوع مختلف مودم هم چک کردم باز هم نشد با همراه اول نتونستیم کار کنیم و AT+CUSD روی این اپراتور ظاهراً جواب نمی ده


سلام گلم،
جواب نداد یا اپراتور مشکل داره که نمی شه؟
 مشکل از ماست که نمی تونیم تنظیمات رو درست انجام بدیم!
بگو ببینم شما چکار کردی؟ یا دستوراتی که میفرستی چیه؟ آیا مراحلی که گفتم رو انجام دادی؟

من یه چیز بگم:
من همیشه میگم اگه موبایل های درپیت مثلا نوکیا اگه میتونن، پس من هم می تونم!
من یه استاد داشتم همیشه میگفت:
فقط غیر ممکنه که غیر ممکنه! پس همه چیز میشه! فقط باید ببینی چطوری.

----------


## nathan

سلام نازنین دقیقاً و مو به مو همین دستورات رو وارد کردم نتیجه نمی ده آخه جالبش اینه وقتی شما سیم کارت رو عوض می کنید و سیم کارت ایرانسل رو وارد می کنید با همین دستورات جواب می گیریم ولی وقتی سیم کارت اعتباری همراه اول رو وارد میکنیم نتیجه همین Error گرامی هستن!! پس دستورات ایرادی نداره اپراتور ایراد داره!
AT+CSCS="GSM"
AT+CMGF=1
AT+CUSD=1,"*140*11#",15

OK

ERROR!!!!!

----------


## danial82

هیچکدوم از دستورات زیر روی همراه اول اعتباری جواب نمیده 

AT+CUSD=1,002A003100340030002A003100310023,15
ERROR
AT+CUSD=1,"*140*11#",15
ERROR

البته من برای ارسال از pdu استفاده میکنم
 :متفکر:  :متفکر:  :متفکر:

----------


## mohammad2319

با سلام
من هر کاری کردم با این کدها جواب نمیده فکر کنم دستورات همراه اول متفاوت باشه
اگه کسی با همراه اول جواب گرفته لطفا راهنمایی کنه
ممنون

----------


## mosi20

ببخشی میدونم تاپیک قدیمیه ولی من در همراه اول مشکل دارم
AT+CSCS?
+CSCS: "PCCP437"


وقتی 
AT+CUSD=1,"*140*11#",15
را میزنم هیچ جوابی نمیگیرم یا اگه جواب بگیرم فقط اینا نوشه +CUSD: 4
نمیدوم چرا اینجوری هست
برخی دیگر از ussd ها را میتونم صدا بزنم ولی این مورد و چندتا دیگه را نمیتونم

+CNMI: 0,1,0,0,0 
لطفا راهنمایی کنید

----------

