前段时间公司的工作涉及到了短信部分,写了一些程序,写来写去,觉得在电脑上发短信还是很方便的,就自己给自己写了一个,通过串口驱动gsm设备的短信程序。
说是串口,其实红外口,蓝牙口,还是usb转换的com口,其实本质都是一样的,只要能在电脑里找到com口就行了。
大家有兴趣的可以下载下去看看。下载地址列在这篇文档的下面。
大多操作都很简单,把手机连上,(红外,蓝牙,数据线都可以)然后启动程序,当然,这是java写的程序,你的保证你的path里有$JAVA_HOME/bin的路径,或者你自己改我的bat文件也行。
主要要注意的问题是波特率的选择,因为各个手机的各种连接方式的波特率都是不同的,选择的波特率不正确容易导致数据传输问题,甚至可能会失败。我现在不能自动获取端口的波特率,大家如果有什么好的方法可以在这里告诉我,或者给我email,邮箱地址是flyffa@gmail.com。
当然,你的手机要能支持标准的at命令了,程序是通过at命令完成的,比如发送的时候是at+cmgs,接收的时候用的是at+cmgl。
有一个地方需要注意,我为了避免sim卡中的信息上溢,隔段时间就会把sim中的信息删除一次,呵呵,大家卡里有什么重要的内容最好提前保存起来。(1。2版本之后就不再自动删除了)
程序写的还很不完善,后续慢慢支持吧。
unix/linux主机没有测过,不过都是标准java,改起来应该也不难,后面有时间再继续支持吧。
欢迎各路高手交流。
使用说明:
1、jdk1.4以上支持,请正确配置path,或者自行修改javaSms.bat中的命令。
2、gsm模块一台,可以是专门的gsm模块,也可以是一些支持at命令的手机。
3、程序在simens的tc35i模块上开发。用simens的s75,nokia的3230手机红外测试通过。
4、西门子的SX1不能支持,由于其com口(红外,数据线,蓝牙)被内置的fax模块接管,不能直接连到gsm模块上,说白了就是不支持at命令,特别说明的原因是我的机器就是SX1,苦啊。
5、手机或者gsm设备正确连接上电脑之后,设备管理里面应该出现一个新的com口(数据线方式连接),或者出现新的红外设备(红外方式连接),或者蓝牙设备(蓝牙方式连接),找到后通过属性可以查看其最高波特率,这个能有效帮助你选择javaSms的连接波特率。
20060405
发出第一版:
下载地址:http://www.blogjava.net/Files/flyffa/javaSms.rar
底层包实现了短信发送,超长短信发送,wap-push发送,超长wap-push发送
图形界面实现短信发送,超长短信发送。
图形界面支持com口选择,波特率选择。
未支持:
wap-push接收,超长短信接收。
除了发送接收之外的其余四种短信格式,均未支持。
20060526
发出1.1版本,这个版本主要是在图形化界面上做了一些修改,为了提高一定的操作便捷性。
下载地址:http://www.blogjava.net/Files/flyffa/javaSms1.1.rar
1、将窗口改成了一般的聊天窗口形态,同时支持alt+s的快捷方式。
2、窗口大小可拖拽
3、增加发送声音和接收声音,以及在短信来的时候激活窗口
4、将号码栏设置为下拉框形态,并提供地址自动保存功能,生成文件Address
20060607
1.2版本,下载地址
http://www.blogjava.net/Files/flyffa/javaSms1.2.rar
1、对联通手机号码进行支持,主要的处理就是在短信中心的控制上
2、对容错能力进行提高,对于发送失败的信息,加以提示.
3、解决以手机做为gsm模块时不能正常接收短信的问题,从而达到聊天的效果。
4、停止自动删除短消息的功能。