如何通过GSM调制解调器接收短信,以便我可以使用此短信进行进一步处理并发回回复短信。 我对如何实现这个没有特别的想法....... 我更喜欢在这个项目中使用java语言,而我正在使用Linux操作系统。
答案 0 :(得分:5)
您可能需要查看SMSLib:
SMSLib是程序员用于发送和接收SMS的库 通过GSM调制解调器或移动电话的消息。 SMSLib也支持一些 批量短信运营商。
答案 1 :(得分:3)
要使用3G调制解调器发送短信,您需要使用相应的AT
命令。首先,您需要将调制解调器设置为文本模式:
AT+CMGF=1
然后你发送信息:
AT+CMGS=<number><CR>
<message><CTRL-Z>
其中<CR>
是回车符(ASCII 13),而<message>
是您要发送的邮件,<CTRL-Z>
是ASCII 26,<number>
是数字你想发送你的信息。
要阅读收到的消息,请执行以下操作:
AT+CMGL=<stat><CR>
<stat>
之一是:"ALL"
,"REC UNREAD"
,"REC READ"
(带引号),分别表示所有消息,未读消息和已读消息。
要在Java中执行此操作,您需要使用Java通信API。这是一个简短的例子: http://java.sun.com/products/javacomm/reference/docs/API_users_guide_3.html
答案 2 :(得分:3)
嗨,我正在使用RXTX库,代码就在这里!..它的工作正常对我来说,我搜索了很多东西以获得正确的方法最终得到了短信的关键!..:D
String mValue = "AT\r";// strating to communicate with port starts here!
mOutputToPort.write(mValue.getBytes());
mOutputToPort.flush();
Thread.sleep(500);
mInputFromPort.read(mBytesIn);
value = new String(mBytesIn);
System.out.println("Response from Serial Device: "+value);
mValue = "AT+cmgf=1\r";
mOutputToPort.write(mValue.getBytes());
mOutputToPort.flush();
mValue="at+cmgs=\" Mobile number\"\r";
System.out.print(mValue);
mOutputToPort.write(mValue.getBytes());
mOutputToPort.flush();
mValue="at+cmgs="\032";//calling ctrl+z
System.out.print(mValue);
mOutputToPort.write(mValue.getBytes());
mOutputToPort.flush();
mOutputToPort.close();
mInputFromPort.close();
答案 3 :(得分:2)
查看SMSJ:一个功能齐全的库,允许使用GSM调制解调器或几种流行的Web服务发送和接收SMS。
答案 4 :(得分:1)
来自网站:“SMSLib是一个程序员的库,用于通过GSM调制解调器或移动电话发送和接收短信.SMSLib还支持一些批量短信运营商。”
答案 5 :(得分:0)
你应该看看你的调制解调器手册。有些设备支持telnet连接,您可以通过命令行发送 AT命令。
如果是这种情况,您必须了解(有时特定于每个设备),并编写使用telnet与您的调制解调器通信的应用程序。 Apache Commons Net project可能很有用。
一些AT命令指南:
或者,您可以尝试使用其他人建议的其中一个库。
答案 6 :(得分:0)
你可以使用很多方法......
接收短信最佳和最简单的解决方案 SMSenabler它会立即将您的短信保存到文件或数据库,您可以检索它 免费版最多支持12个字符 如果你想发送短信,那么你可以使用[在此输入链接描述] [Ozeki] Ozeki短信服务器网关