﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-应用，一定要应用-随笔分类-短信/彩信/sms/mms</title><link>http://www.blogjava.net/flyffa/category/11124.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 01:31:22 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 01:31:22 GMT</pubDate><ttl>60</ttl><item><title>短信程序更新1.2</title><link>http://www.blogjava.net/flyffa/archive/2006/06/07/51096.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Wed, 07 Jun 2006 05:11:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/06/07/51096.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/51096.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/06/07/51096.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/51096.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/51096.html</trackback:ping><description><![CDATA[20060607<br />1.2版本，下载地址<br /><a href="/Files/flyffa/javaSms1.2.rar">http://www.blogjava.net/Files/flyffa/javaSms1.2.rar</a><br />1、对联通手机号码进行支持，主要的处理就是在短信中心的控制上<br />2、对容错能力进行提高,对于发送失败的信息,加以提示.<br />3、解决以手机做为gsm模块时不能正常接收短信的问题，从而达到聊天的效果。<br /><br />如果需要了解其他更多，访问：<br /><a href="/flyffa/archive/2006/05/15/46177.html"><font color="#000080">http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html</font></a><img src ="http://www.blogjava.net/flyffa/aggbug/51096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-06-07 13:11 <a href="http://www.blogjava.net/flyffa/archive/2006/06/07/51096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【SMS】怎样获得手机的新到短信</title><link>http://www.blogjava.net/flyffa/archive/2006/06/07/51078.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Wed, 07 Jun 2006 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/06/07/51078.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/51078.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/06/07/51078.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/51078.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/51078.html</trackback:ping><description><![CDATA[在<a id="viewpost1_TitleUrl" href="/flyffa/archive/2006/05/15/46177.html"><font color="#000080">自己写的一个小的发短信的程序</font></a>一文中，我提到了一个我遇到的问题：<br /><font color="#ff0000">用手机（作为gsm模块）的话会因为手机截获了接收信息而不能达到聊天的效果，大家如果有什么好的方法可以在这里告诉我，或者给我email,邮箱地址是</font><a href="mailto:flyffa@gmail.com"><font color="#ff0000">flyffa@gmail.com</font></a><font color="#ff0000">。<br /></font><font color="#000000">这两天我有空来继续深入做的时候发现我自己犯了一个错误。用手机不能达到聊天效果的原因，不是因为手机截获了消息，而是因为消息的存储位置的变化，也就是说在简单的gsm模块中（如tc35i）消息是存储在sim卡中的，而在手机中，却是存在于ME中的，这个是由AT+CNMI决定的。<br />AT+CNMI指令语法为 :<pre class="bhw98">AT+CNMI=[&lt;mode&gt;[,&lt;mt&gt;[,&lt;bm&gt;[,&lt;ds&gt;[,&lt;bfr&gt;]]]]]<br />其中mode指的是新短信到来时的通知方式。<br />而mt就指的是新短信到来时的存储方式。<br /><li class="bhw98">0 – 储存到默认的内存位置(包括class 3) </li><li class="bhw98">1 – 储存到默认的内存位置，并且向TE发出通知(包括class 3) </li><li class="bhw98">2 – 对于class 2，储存到SIM卡，并且向TE发出通知；对于其它class，直接将消息转发到 TE </li><li class="bhw98">3 – 对于class 3，直接将消息转发到 TE；对于其它class，同mt=1 </li></pre><p class="bhw98"><font face="Courier New">这个默认存储位置就是由手机决定的了，在gsm0705规范的3。4。1节中，我们可以查到一段关于mt的描述，在具体的mt值的描述在gsm0338中，但这里有一句话需要注意：but use &lt;mem3&gt; as preferred memory，也就是说，gsm更加建议采用&lt;mem3&gt;做为默认的手机存储实现。<br /><br />现在的问题就是&lt;mem3&gt;是什么，在gsm0705的3.1节中，我们可以找到mem3的定义：<br />&lt;mem3&gt; string type; memory to which received SMS are preferred to be stored (unless forwarded directly to TE; refer command New Message Indications +CNMI); <font color="#ff0000">refer &lt;mem1&gt; for defined values</font>; received CBMs are<br />always stored in "BM" (or some manufacturer specific storage) unless directly forwarded to TE; received status reports are always stored in "SR" (or some manufacturer specific storage) unless directlyforwarded to TE<br />中间有一段话说值请参考mem1的值，查了一下mem1的值，有以下这些：<br />"BM" broadcast message storage<br />"ME" ME message storage<br />"MT" any of the storages associated with ME<br />"SM" SIM message storage<br />"TA" TA message storage<br />"SR" status report storage<br /><br />我再查了一下gsm0705的4.1节，关于pdu模式下的cmgl命令的执行，果然提到了存储的部分，Execution command returns messages with status value &lt;stat&gt; from preferred message storage &lt;mem1&gt; to the TE.<br />这就开始有点明白了，gsm模块的&lt;mem3&gt;和&lt;mem1&gt;应该是一致的，所以，我们没有发现问题，但是手机下这两是不一致的，所以我读不到任何短信，我想应该是这样了，问题是如何读到呢。<br />AT+CPMS提供了方法：<br />命令：+CPMS=&lt;mem1&gt;[,&lt;mem2&gt;[,&lt;mem3&gt;]]<br />返回：+CPMS: &lt;used1&gt;,&lt;total1&gt;,&lt;used2&gt;,&lt;total2&gt;,&lt;used3&gt;,&lt;total3&gt;<br /><br />命令：+CPMS? <br />返回：+CPMS: &lt;mem1&gt;,&lt;used1&gt;,&lt;total1&gt;,&lt;mem2&gt;,&lt;used2&gt;,&lt;total2&gt;,&lt;mem3&gt;,&lt;used3&gt;,&lt;total3&gt;<br /><br />命令：+CPMS=? <br />返回：+CPMS: (list of supported &lt;mem1&gt;s),(list of supported &lt;mem2&gt;s),(list of supported &lt;mem3&gt;s)<br /><br />我用Erricsion的t39做了个测试，超级终端下做的：<br /><em><font color="#0000ff">at+cpms=?<br />+CPMS: ("ME","SM"),("ME","SM"),("ME")</font></em></font></p><p class="bhw98"><font face="Courier New" color="#0000ff"><em>OK<br />at+cpms?<br />+CPMS: "SM",0,25,"SM",0,25,"ME",0,40</em></font></p><p class="bhw98"><font face="Courier New" color="#0000ff"><em>OK<br /></em><font color="#000000">可以看到这里的&lt;mem1&gt;是SM,而&lt;mem3&gt;是ME，这就是问题所在了，由于这部手机的&lt;mem3&gt;不支持SM，所以把&lt;mem1&gt;设为ME，我的程序就可以运行了。<br />以上是我解决这个问题的方法，不知道还有没有更好更方便的方法，如果有，希望能回复在blog下，我不甚感激。也欢迎同道中人关注和讨论。<br /></font><br /><font color="#000000">用tc35i做了个测试：</font><br /><em>at+cpms?<br />+CPMS: "ME",0,25,"ME",0,25,"SM",0,25</em></font></p><p class="bhw98"><font face="Courier New" color="#0000ff"><em>OK<br />at+cpms=?<br />+CPMS: ("MT","SM","ME"),("MT","SM","ME"),("MT","SM")</em></font></p><p class="bhw98"><font face="Courier New" color="#0000ff"><em>OK<br /></em><font color="#000000"><font color="#ff0000">这就让我有点郁闷了，这里的&lt;mem3&gt;和&lt;mem1&gt;不同，可并没有象我想象的那样，接收的短信被放到SIM卡中，而是被放到了ME中，是不是tc35i没有按照规范执行呢，请教各位。</font><br /></font><br /><font color="#000000"><br /></font></font></p></font><img src ="http://www.blogjava.net/flyffa/aggbug/51078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-06-07 12:02 <a href="http://www.blogjava.net/flyffa/archive/2006/06/07/51078.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信程序更新1.1</title><link>http://www.blogjava.net/flyffa/archive/2006/05/26/48288.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Fri, 26 May 2006 03:51:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/05/26/48288.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/48288.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/05/26/48288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/48288.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/48288.html</trackback:ping><description><![CDATA[20060526<br />发出1.1版本，这个版本主要是在图形化界面上做了一些修改，为了提高一定的操作便捷性。<br />下载地址：<a href="/Files/flyffa/javaSms1.1.rar">http://www.blogjava.net/Files/flyffa/javaSms1.1.rar</a><br />1、将窗口改成了一般的聊天窗口形态，同时支持alt+s的快捷方式。<br />2、窗口大小可拖拽<br />3、增加发送声音和接收声音，以及在短信来的时候激活窗口<br />4、将号码栏设置为下拉框形态，并提供地址自动保存功能，生成文件Address<br /><br />如果需要了解其他更多，访问：<br /><a href="/flyffa/archive/2006/05/15/46177.html">http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html</a><img src ="http://www.blogjava.net/flyffa/aggbug/48288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-05-26 11:51 <a href="http://www.blogjava.net/flyffa/archive/2006/05/26/48288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信开发小结</title><link>http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Mon, 15 May 2006 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/46180.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/46180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/46180.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.1.																														基本知识								短信开发指通过串口				at				命令驱动短信猫进行短信发送和接收操作。														在						java														中								主要使用				javax.comm				包进...&nbsp;&nbsp;<a href='http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html'>阅读全文</a><img src ="http://www.blogjava.net/flyffa/aggbug/46180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-05-15 11:22 <a href="http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己写的一个小的发短信的程序</title><link>http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html</link><dc:creator>flyffa</dc:creator><author>flyffa</author><pubDate>Mon, 15 May 2006 03:10:00 GMT</pubDate><guid>http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html</guid><wfw:comment>http://www.blogjava.net/flyffa/comments/46177.html</wfw:comment><comments>http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.blogjava.net/flyffa/comments/commentRss/46177.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyffa/services/trackbacks/46177.html</trackback:ping><description><![CDATA[
		<p>前段时间公司的工作涉及到了短信部分，写了一些程序，写来写去，觉得在电脑上发短信还是很方便的，就自己给自己写了一个，通过串口驱动gsm设备的短信程序。<br />说是串口，其实红外口，蓝牙口，还是usb转换的com口，其实本质都是一样的，只要能在电脑里找到com口就行了。<br />大家有兴趣的可以下载下去看看。下载地址列在这篇文档的下面。<br /><br />大多操作都很简单，把手机连上，（红外，蓝牙，数据线都可以）然后启动程序，当然，这是java写的程序，你的保证你的path里有$JAVA_HOME/bin的路径，或者你自己改我的bat文件也行。<br /><br />主要要注意的问题是波特率的选择，因为各个手机的各种连接方式的波特率都是不同的，选择的波特率不正确容易导致数据传输问题，甚至可能会失败。<font color="#ff0000">我现在不能自动获取端口的波特率，大家如果有什么好的方法可以在这里告诉我，或者给我email,邮箱地址是</font><a href="mailto:flyffa@gmail.com"><font color="#ff0000">flyffa@gmail.com</font></a><font color="#ff0000">。<br /></font><br />当然，你的手机要能支持标准的at命令了，程序是通过at命令完成的，比如发送的时候是at+cmgs,接收的时候用的是at+cmgl。<br /><br />有一个地方需要注意，我为了避免sim卡中的信息上溢，隔段时间就会把sim中的信息删除一次，呵呵，大家卡里有什么重要的内容最好提前保存起来。（1。2版本之后就不再自动删除了）<br /><br />程序写的还很不完善，后续慢慢支持吧。<br /><br />unix/linux主机没有测过，不过都是标准java，改起来应该也不难，后面有时间再继续支持吧。<br /><br />欢迎各路高手交流。<br /><br /></p>
		<p>
				<font color="#ff0000">使用说明：</font>
				<br />1、jdk1.4以上支持，请正确配置path,或者自行修改javaSms.bat中的命令。<br />2、gsm模块一台，可以是专门的gsm模块，也可以是一些支持at命令的手机。<br />3、程序在simens的tc35i模块上开发。用simens的s75，nokia的3230手机红外测试通过。<br />4、西门子的SX1不能支持，由于其com口（红外，数据线，蓝牙）被内置的fax模块接管，不能直接连到gsm模块上，说白了就是不支持at命令，特别说明的原因是我的机器就是SX1，苦啊。<br />5、手机或者gsm设备正确连接上电脑之后，设备管理里面应该出现一个新的com口（数据线方式连接），或者出现新的红外设备（红外方式连接），或者蓝牙设备（蓝牙方式连接），找到后通过属性可以查看其最高波特率，这个能有效帮助你选择javaSms的连接波特率。</p>
		<p>
				<br />20060405<br />发出第一版：<br />下载地址：<a href="/Files/flyffa/javaSms.rar">http://www.blogjava.net/Files/flyffa/javaSms.rar</a><br />底层包实现了短信发送，超长短信发送，wap-push发送，超长wap-push发送<br />图形界面实现短信发送，超长短信发送。<br />图形界面支持com口选择，波特率选择。</p>
		<p>未支持：<br />wap-push接收，超长短信接收。<br />除了发送接收之外的其余四种短信格式，均未支持。<br /><br />20060526<br />发出1.1版本，这个版本主要是在图形化界面上做了一些修改，为了提高一定的操作便捷性。<br />下载地址：<a href="/Files/flyffa/javaSms1.1.rar">http://www.blogjava.net/Files/flyffa/javaSms1.1.rar</a><br />1、将窗口改成了一般的聊天窗口形态，同时支持alt+s的快捷方式。<br />2、窗口大小可拖拽<br />3、增加发送声音和接收声音，以及在短信来的时候激活窗口<br />4、将号码栏设置为下拉框形态，并提供地址自动保存功能，生成文件Address<br /><br />20060607<br />1.2版本，下载地址<br /><a href="/Files/flyffa/javaSms1.2.rar"><font color="#000080">http://www.blogjava.net/Files/flyffa/javaSms1.2.rar</font></a><br />1、对联通手机号码进行支持，主要的处理就是在短信中心的控制上<br />2、对容错能力进行提高,对于发送失败的信息,加以提示.<br />3、解决以手机做为gsm模块时不能正常接收短信的问题，从而达到聊天的效果。<br />4、停止自动删除短消息的功能。<br /></p>
<img src ="http://www.blogjava.net/flyffa/aggbug/46177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyffa/" target="_blank">flyffa</a> 2006-05-15 11:10 <a href="http://www.blogjava.net/flyffa/archive/2006/05/15/46177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>