2013-04-06 34 views
10

Używam minicom (oprogramowanie portu szeregowego dla Linuksa) do interakcji z moim modemem GSM, aktualnie próbuję użyć jednej z moich usług operatora mobilnego z AT-Command.Polecenie AT - USSD

tutaj mówię, chcę zobaczyć mój balans:

AT+CUSD=1,*555*87*1234# 

OK 

+CUSD: 1,"this service will deduct you 5cent from your balance, to continue please enter 1",15 

tak, tutaj wysłałem "1", ale nic nie stało i sesja się zamknięty.

AT+CUSD=1,1 

OK 

nic się nie dzieje, ale sesja jest zamknięta.

W zwykłym telefonie, po wprowadzeniu 1, otrzymam bieżące saldo.

Proszę, pomóż mi.

Odpowiedz

17

Format polecenia to AT+CUSD=[<n>[,<str>[,<dcs>]]], a drugi parametr, <str>, jest łańcuchem, który powinien być ujęty w cudzysłowy. Na przykład.

AT+CUSD=1,"*555*87*1234#" 
AT+CUSD=1,"1" 

Zobacz 27.007 więcej szczegółów na temat AT+CUSD i V.250 do ogólnego na obsługę poleceń.


Jeśli telefon daje odpowiedź na AT+CUSD=1,1 że jest naprawdę źle OK powinno dały ERROR. V.250 jest krystalicznie jasne w tej sprawie:

String stałe zostanie ograniczony na początku i na końcu przez znaku cudzysłów

+0

Bardzo dziękuję za tak przydatne informacje, próbowałem również, ale wciąż nic .. – atari83

+0

problem został rozwiązany :) w rzeczywistości moje konto było na początku zerowe, a normalnie powinienem otrzymać komunikat o błędzie "moje saldo to nie wystarcza ", w każdym razie po tym, jak przeniosłem pieniądze na moje konto, przetestowałem ponownie i teraz widzę komunikat potwierdzający i .. – atari83

8
AT+CUSD=1,"your_service_code",15 

więc w Twoim przypadku

AT+CUSD=1,"*555*87*1234#",15 

i nie odszedłem 15 na końcu, to pytanie pomogło mi rozwiązać problem.

+0

Działa dla modułu GSM SIM900a. Dzięki. –