我是靠谱客的博主 害羞小蝴蝶,最近开发中收集的这篇文章主要介绍java at 短信_让老手机变成短信平台-AT指令的应用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

以NOKIA8250为例。通过8250的红外与PC连接之后,会产生一个虚拟串口,这个串口的序号可能在每台电脑上都不一样。利用这个串口,就可以对手机进行一系列操作,包括发送、接收短信。通过程序操作串口,就可以把这部手机做成短信平台。

在Windows中,打开超级终端,在手机未连接之前,查看连接可使用的串口列表,然后连接手机,再查看列表,多出来的那个串口就是与手机通信的串口。通过该串口连接手机,就可以用AT指令来操作它。

输入AT回车,出现OK,就说明这个串口是支持AT指令的,有可能是手机,也有可能是普通的MODEM。

输入AT+CGMI回车,出现手机厂商信息,例如NOKIA,就说明这是手机,下面就可以进行一系列的操作了。

AT指令有几个实用的规则:

1.输入AT指令然后加“?”,就能列出该指令的当前状态,例如输入AT+CSCS?,就能列出当前手机使用的字符集,例如:+CSCS: "PCCP437"。

2.输入AT指令然后加“=?”,就能列出该指令的可选值,也就是手机所能支持的所有值,例如输入AT+CSCS=?,就能列出手机能支持的所有字符集,例如:+CSCS: ("GSM","HEX","IRA","PCCP437","PCDN","8859-1"),可以通过AT+CSCS="HEX"来设置手机的字符集为HEX。

短信内容的格式有两种,一种是text,一种是PDU,text格式比较简单,但不能发送特殊的短信,例如免提短信,发送中文短信也会乱码。PDU格式则可以发送各种形式(免提,闪烁)和字符集的短信,不过PDU不够直观,需要通过程序来编码解码,例如发送到8613000000000的短信“中文信息”的PDU编码为:0011000D91683100000000F00008A70C4E2D65874FE1606F000D000A,其长度为27。在PDU格式下,短信内容还包含了目标号码,而在text格式下,目标号码和短信内容是分开的。锐方超级SMS控件是一个很好的PDU编解码控件。

与短信相关的AT指令:

AT 指令

功 能

AT+CMGC

Send an SMS command(发出一条短消息命令)

AT+CMGD

Delete SMS message(删除SIM卡内存的短消息)

AT+CMGF

Select SMS message formate(选择短消息信息格式:0-PDU;1-文本)

AT+CMGL

List SMS message from preferred store(列出SIM卡中的短消息,在PDU模式下,该值为数字,在text模式下,该值为字符串。PDU/text:0/"REC UNREAD"-未读,1/"REC READ"-已读,2/"STO UNSENT"-待发,3/"STO SENT"-已发,4/"ALL"-全部的)

AT+CMGR

Read SMS message(读短消息)

AT+CMGS

Send SMS message(发送短消息。在PDU格式下,该值设置为PDU长度,例如30;在Text格式下,该值设置为目标手机号码字符串,例如"8613888888888"。注意,在PDU模式下,手机号码需要加上86开头,否则不能发送。)

AT+CMGW

Write SMS message to memory(向SIM内存中写入待发的短消息)

AT+CMSS

Send SMS message from storage(从SIN|M内存中发送短消息)

AT+CNMI

New SMS message indications(设置是否显示新收到的短信,一般设成2,1,0,0,0,手机收到新的短信后会给PC发一条消息,包含了该短信在内存中的索引号,通过该索引号就可以读出该短信)

AT+CPMS

Preferred SMS message storage(选择短消息内存)

AT+CSCA

SMS service center address(短消息中心地址)

AT+CSCB

Select cell broadcast messages(选择蜂窝广播消息)

AT+CSMP

Set SMS text mode parameters(设置短消息文本模式参数)

AT+CSMS

Select Message Service(选择短消息服务)

知道这些之后,就可以通过编程来操作手机。在java中,利用Java Communication包可以操作串口,但官方的包在3.0之后就支持Linux和Solaris平台了,Windows平台的只支持到2.0,98年出的,不过在XP下还能使用,google一下就可以下载到,例如:http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip。也可以用开源的Rxtx实现串口通信。

如果不想直接操作AT指令,还可以使用开源的SMSLib包,该包封装了与短信相关的所有AT指令,也实现了PDU编解码功能,使用起来十分方便。

最后

以上就是害羞小蝴蝶为你收集整理的java at 短信_让老手机变成短信平台-AT指令的应用的全部内容,希望文章能够帮你解决java at 短信_让老手机变成短信平台-AT指令的应用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部