GSM¶ÌÐÅÄ£¿éͨ¹ýATÖ¸Áî·¢ËͶÌÐŵ½Ð¡ÁéͨµÄ·½·¨
2010-11-23

ΪÁËÍê³É¹«Ë¾µÄ¶ÌÐÅÊÕ·¢³ÌÐò£¬ÎÒÕÒ±éÁËËùÓÐ×ÊÁÏ£¬×îºóÔںܶàÍøÓѵÄÖ§³ÖÏÂ
»ù±¾ÉÏÍê³ÉÁËÕâ¸ö³ÌÐò£¬ÎªÁËʹºóÀ´µÄÈËÃâ×ßÎÒͬÑùµÄÍä·£¬ÎÒ½«ATÖ¸Áî·¢ËÍPDU
¶ÌÐŵÄÈ«¹ý³Ì¼°º¯ÊýÕûÀí³öÀ´£¬Ï£ÍûÄܸø´ó¼ÒÐÖú£¬»¶Ó´ó¼ÒÓëÎÒÒ»Æð̽ÌÖ£º
QQ £º119547601
E_Mail £ºTang_717@163.com
ÎÒÔÚ´ó¸»ÎÌÉϵÄÌû×Ó£ºhttp://www.delphibbs.com/delphibbs/dispq.asp?lid=3043115
±¾ÎÄÒÔÒ»¸öʵÀýÀ´½â˵ATÖ¸Áî·¢ËÍPDU¶ÌÐŵÄÈ«¹ý³Ì£¬¼ÙÈçÎÒÒª·¢ËÍÏÂÃæµÄ¶ÌÐÅ£º
½ÓÊÕºÅÂ룺£«8613602433649
¶ÌÐÅÄÚÈÝ£º¹¤×÷Óä¿ì£¡
¶ÌÐÅÖÐÐĺÅÂ룺£«8613800200500
Ò»¡¢¶ÌÐÅÖÐÐĺÅÂë´¦Àí£ºÓÃ×Ö·û´® addr ±íʾ
1¡¢½«¶ÌÐÅÏ¢ÖÐÐĺÅÂëÈ¥µô+ºÅ£¬¿´¿´³¤¶ÈÊÇ·ñΪżÊý£¬Èç¹û²»ÊÇ£¬×îºóÌí¼ÓF
¼´ addr = "+8613800200500"
=> addr = "8613800200500F"
2¡¢½«ÆæÊýλºÍżÊýλ½»»»¡£
=> addr = "683108020005F0"
3¡¢½«¶ÌÐÅÏ¢ÖÐÐĺÅÂëÇ°Ãæ¼ÓÉÏ×Ö·û91£¬91Êǹú¼Ê»¯µÄÒâ˼
=> addr = "91683108020005F0"
4¡¢Ëã³ö addr ³¤¶È£¬½á¹û³ý2£¬¸ñʽ»¯³É2λµÄ16½øÖÆ×Ö·û´®£¬16 / 2 = 8 => "08"
=> addr = "0891683108020005F0"
¶þ¡¢ÊÖ»úºÅÂë´¦Àí£ºÓÃ×Ö·û´® phone
1¡¢½«ÊÖ»úºÅÂëÈ¥µô+ºÅ£¬¿´¿´³¤¶ÈÊÇ·ñΪżÊý£¬Èç¹û²»ÊÇ£¬×îºóÌí¼ÓF
¼´ phone = "+8613602433649"
=> phone = "8613602433649F"
2¡¢½«ÊÖ»úºÅÂëÆæÊýλºÍżÊýλ½»»»¡£
=> phone = "683106423346F9"
Èý¡¢¶ÌÐÅÏ¢²¿·Ö´¦Àí£ºÓÃ×Ö·û´® msg ±íʾ
1¡¢×ª×Ö·û´®×ª»»ÎªUnicode´úÂ룬ÀýÈç¡°¹¤×÷Óä¿ì£¡¡±µÄunicode´úÂëΪ 5DE54F5C61095FEBFF01£¬
(ת»»º¯Êý¼û×îºó¸½Â¼)
2¡¢½« msg ³¤¶È³ý2£¬±£ÁôÁ½Î»16½øÖÆÊý£¬¼´ 5DE54F5C61095FEBFF01 = 20 / 2 => "0A"£¬ÔÙ¼ÓÉÏ msg
=> msg = "0A5DE54F5C61095FEBFF01"
ËÄ¡¢×éºÏ
1¡¢ÊÖ»úºÅÂëǰ¼ÓÉÏ×Ö·û´® 11000D91£¨1100£º¹Ì¶¨£¬0D£ºÊÖ»úºÅÂëµÄ³¤¶È£¬²»Ë㣫ºÅ£¬Ê®Áù½øÖƱíʾ£¬91£º·¢Ë͵½ÊÖ»úΪ91£¬·¢Ë͵½Ð¡ÁéͨΪ81£©£¬
¼´ phone = "11000D91" + phone
=> 11000D91683106423346F9
2¡¢ÊÖ»úºÅÂëºó¼ÓÉÏ 000800 ºÍ¸Õ²ÅµÄ¶ÌÐÅÏ¢ÄÚÈÝ£¬000800ҲдËÀ¾Í¿ÉÒÔÁË
¼´ phone = phone + "000800" + msg
¼´ 11000D91683106423346F9 + 000800 + 0A5DE54F5C61095FEBFF01
=> phone = 11000D91683106423346F90008000A5DE54F5C61095FEBFF01
3¡¢phone ³¤¶È³ýÒÔ2£¬¸ñʽ»¯³É2λµÄÊ®½øÖÆÊý
¼´ 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 => 50λ / 2 => 25
Îå¡¢ËùÒÔÒª·¢Ë͵ÄÄÚÈÝΪ
AT+CMGF=0 <»Ø³µ>
OK
AT+CMGS=25<»Ø³µ>
> addr+phone <Ctrl+Z·¢ËÍ>
Áù¡¢Èç¹û·µ»Ø²»ÊÇERROR£¬¹§Ï²Ä㣬·¢Ëͳɹ¦ÁË^_^
var
i,len:Integer;
cur:Integer;
t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin
cur:=ord(s);
Result:=Result+IntToHex(Cur,4);
inc(i);
end;
end;
function DecodeUniCode(s:String):WideString; //PDU£>×Ö·û´®
var
p:PWord;
i,len:Integer;
cur:Integer;
TempChar:WideChar;
t:String;
begin
New(p);
Result:='';
len:=Length(s) div 4;
i:=1;
for i:=0 to Len-1 do
begin
t:=Copy(s,4*i+1,4);
p^:=HexToInt(t);
Move(p^,TempChar,2);
Result:=Result+TempChar;
end;
Dispose(p);
»ù±¾ÉÏÍê³ÉÁËÕâ¸ö³ÌÐò£¬ÎªÁËʹºóÀ´µÄÈËÃâ×ßÎÒͬÑùµÄÍä·£¬ÎÒ½«ATÖ¸Áî·¢ËÍPDU
¶ÌÐŵÄÈ«¹ý³Ì¼°º¯ÊýÕûÀí³öÀ´£¬Ï£ÍûÄܸø´ó¼ÒÐÖú£¬»¶Ó´ó¼ÒÓëÎÒÒ»Æð̽ÌÖ£º
QQ £º119547601
E_Mail £ºTang_717@163.com
ÎÒÔÚ´ó¸»ÎÌÉϵÄÌû×Ó£ºhttp://www.delphibbs.com/delphibbs/dispq.asp?lid=3043115
±¾ÎÄÒÔÒ»¸öʵÀýÀ´½â˵ATÖ¸Áî·¢ËÍPDU¶ÌÐŵÄÈ«¹ý³Ì£¬¼ÙÈçÎÒÒª·¢ËÍÏÂÃæµÄ¶ÌÐÅ£º
½ÓÊÕºÅÂ룺£«8613602433649
¶ÌÐÅÄÚÈÝ£º¹¤×÷Óä¿ì£¡
¶ÌÐÅÖÐÐĺÅÂ룺£«8613800200500
Ò»¡¢¶ÌÐÅÖÐÐĺÅÂë´¦Àí£ºÓÃ×Ö·û´® addr ±íʾ
1¡¢½«¶ÌÐÅÏ¢ÖÐÐĺÅÂëÈ¥µô+ºÅ£¬¿´¿´³¤¶ÈÊÇ·ñΪżÊý£¬Èç¹û²»ÊÇ£¬×îºóÌí¼ÓF
¼´ addr = "+8613800200500"
=> addr = "8613800200500F"
2¡¢½«ÆæÊýλºÍżÊýλ½»»»¡£
=> addr = "683108020005F0"
3¡¢½«¶ÌÐÅÏ¢ÖÐÐĺÅÂëÇ°Ãæ¼ÓÉÏ×Ö·û91£¬91Êǹú¼Ê»¯µÄÒâ˼
=> addr = "91683108020005F0"
4¡¢Ëã³ö addr ³¤¶È£¬½á¹û³ý2£¬¸ñʽ»¯³É2λµÄ16½øÖÆ×Ö·û´®£¬16 / 2 = 8 => "08"
=> addr = "0891683108020005F0"
¶þ¡¢ÊÖ»úºÅÂë´¦Àí£ºÓÃ×Ö·û´® phone
1¡¢½«ÊÖ»úºÅÂëÈ¥µô+ºÅ£¬¿´¿´³¤¶ÈÊÇ·ñΪżÊý£¬Èç¹û²»ÊÇ£¬×îºóÌí¼ÓF
¼´ phone = "+8613602433649"
=> phone = "8613602433649F"
2¡¢½«ÊÖ»úºÅÂëÆæÊýλºÍżÊýλ½»»»¡£
=> phone = "683106423346F9"
Èý¡¢¶ÌÐÅÏ¢²¿·Ö´¦Àí£ºÓÃ×Ö·û´® msg ±íʾ
1¡¢×ª×Ö·û´®×ª»»ÎªUnicode´úÂ룬ÀýÈç¡°¹¤×÷Óä¿ì£¡¡±µÄunicode´úÂëΪ 5DE54F5C61095FEBFF01£¬
(ת»»º¯Êý¼û×îºó¸½Â¼)
2¡¢½« msg ³¤¶È³ý2£¬±£ÁôÁ½Î»16½øÖÆÊý£¬¼´ 5DE54F5C61095FEBFF01 = 20 / 2 => "0A"£¬ÔÙ¼ÓÉÏ msg
=> msg = "0A5DE54F5C61095FEBFF01"
ËÄ¡¢×éºÏ
1¡¢ÊÖ»úºÅÂëǰ¼ÓÉÏ×Ö·û´® 11000D91£¨1100£º¹Ì¶¨£¬0D£ºÊÖ»úºÅÂëµÄ³¤¶È£¬²»Ë㣫ºÅ£¬Ê®Áù½øÖƱíʾ£¬91£º·¢Ë͵½ÊÖ»úΪ91£¬·¢Ë͵½Ð¡ÁéͨΪ81£©£¬
¼´ phone = "11000D91" + phone
=> 11000D91683106423346F9
2¡¢ÊÖ»úºÅÂëºó¼ÓÉÏ 000800 ºÍ¸Õ²ÅµÄ¶ÌÐÅÏ¢ÄÚÈÝ£¬000800ҲдËÀ¾Í¿ÉÒÔÁË
¼´ phone = phone + "000800" + msg
¼´ 11000D91683106423346F9 + 000800 + 0A5DE54F5C61095FEBFF01
=> phone = 11000D91683106423346F90008000A5DE54F5C61095FEBFF01
3¡¢phone ³¤¶È³ýÒÔ2£¬¸ñʽ»¯³É2λµÄÊ®½øÖÆÊý
¼´ 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 => 50λ / 2 => 25
Îå¡¢ËùÒÔÒª·¢Ë͵ÄÄÚÈÝΪ
AT+CMGF=0 <»Ø³µ>
OK
AT+CMGS=25<»Ø³µ>
> addr+phone <Ctrl+Z·¢ËÍ>
Áù¡¢Èç¹û·µ»Ø²»ÊÇERROR£¬¹§Ï²Ä㣬·¢Ëͳɹ¦ÁË^_^
¸½Â¼£º
[code="delphi"]
function EncodeUniCode(s:WideString):String; //×Ö·û´®£>PDUvar
i,len:Integer;
cur:Integer;
t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin
cur:=ord(s);
Result:=Result+IntToHex(Cur,4);
inc(i);
end;
end;
function DecodeUniCode(s:String):WideString; //PDU£>×Ö·û´®
var
p:PWord;
i,len:Integer;
cur:Integer;
TempChar:WideChar;
t:String;
begin
New(p);
Result:='';
len:=Length(s) div 4;
i:=1;
for i:=0 to Len-1 do
begin
t:=Copy(s,4*i+1,4);
p^:=HexToInt(t);
Move(p^,TempChar,2);
Result:=Result+TempChar;
end;
Dispose(p);
end;
[/code]