Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: RadimD 21. 12. 2022, 17:05:52
-
Zdravím všechny,
najde se zde někdo, kdo se vyzná v GSM modemech a posílá přes ně SMS? Chtěl bych poslat SMS v režimu PDU pomocí modemu GSM-BGS5-T2M a nějak mi to nejde. Když jí posílám v textovém režimu, tak není problém. Mým cílem je posílat zřetězené SMS s diakritickými znaky. Tak daleko jsem se ale vůbec nedostal. Mám problém poslat jednoduchou SMS v kódování UCS2. Zkusím následující posloupnost AT příkazů (kde ^Z značí CTRL Z):
AT+CMGF=0
OK
AT+CMGS=42
>0001000C9124103254769800080800410068006F006A^Z
+CMS ERROR: operation not supported
Měl by to být text „Ahoj“ v kódování UCS2 poslaný na telefonní číslo v mezinárodním formátu 420123456789. Teď neřešme, že to číslo neexistuje, je to příklad, nechce se mi tady psát mé funkční číslo. Nefunguje to ani na číslo mého mobilu. Blok PDU sestavuji:
00 – Úvodní oktet
01 – Typ SMS – Submit
00 – Reference zprávy – automaticky
0C – Délka telefonního čísla v šestnáctkové soustavě
91 – Typ tel. čísla je mezinárodní
241032547698 – zakódované tel. číslo (počet cifer je sudý => nepřidávám F nakonec a prohodím pořadí cifer ve dvojicích)
00 – Typ zprávy implicitní
08 – Kódování UCS2
08 – Délka těla zprávy v šestnáctkové soustavě (Ahoj – 4 znaky po dvou bytech)
Následuje slovo AHOJ v USC2, což je 00410068006F006A
Místo odeslání SMS je ale odpověď
+CMS ERROR: operation not supported
, případně
+CMS ERROR: 303
.
Můžete mě prosím nakopnout, co dělám špatně? Podle různých on-line služeb, například http://smstools3.kekekasvi.com/topic.php?id=288 , to nevypadá, že by PDU bylo sestaveno špatně, nebo se mýlím? Je potřeba ještě něco udělat s modemem kromě přepnutí do PDU režimu pomocí AT+CMGF=0?
Děkuji za odpovědi
Radim
-
Tak jsem na to přišel, pro případ, že to někoho bude zajímat:
PDU je v pořádku. Problém je v příkazu AT+CMGS=42. 42 má být délka (v oktetech) textu zprávy a hlavičky PDU (bez úvodního SMSC). Nedošlo mě, že oktet je v hexa výpisu reprezentován dvěma znaky. 42 je počet znaků bloku dat, ale je potřeba zadat počet oktetů, takže AT+CMGS=21.
-
Mozna se ti bude hodit tento program "PDU Spy"
http://www.nobbi.com/pduspy.html