`
zsj01005432
  • 浏览: 43098 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

CDMA短信modem开发总结

阅读更多
转载请注明原文地址:http://sailingsky.iteye.com/blog/1816579

本文并不是完整的从头到尾介绍怎么用java通过短信modem发送短信,只是侧重讲解决短信modem中文发送短信的问题。
    首先,由于短信modem型号的不同,你所采用的AT命令的格式以及解决中文短信乱码的方案也不同。
    1.Anydata 即西门子的短信modem      
    
                //AT+CMGF=1命令将设置短信格式设置为text 
                tmp = "AT+CMGF=1\r\n";
                //writeContent方法就是将命令或内容通过串口写入短信modem的方法 
                if (writeContent(tmp, rt) != 1) {
                     return -1;
                 }
                 // “AT+CMGS=msgid,number,callback-number,option,data”
                 //Msgid是用户指定的消息代号
                 //Number是短消息的目的地号码
                 //Callback-number是用户填写的回叫号码
                 //Option: 这个参数是几个选项的组合
                 //bit 0-1:coding
                 //0: ascii,原文;
                 //1: ascii, HEX格式化
                 //3: Unicode, HEX格式化;
                 //2: OCTET,HEX格式化
                 tmp = "AT+CMGS=2,"+mobile+",,3,"+stringToUnicode(message)+"\r\n";
                 if (writeContent(tmp, rt) == 1) {
                     return 0;
                 }

        中文肯定是先用转换成unicode码字符串才能发送,不然会是乱码
      
          /*
     * 将字符串转化为unicode码字符串
     */
    public  String stringToUnicode(String s) {
		String str = "";
		for (int i = 0; i < s.length(); i++) {
			int ch = (int) s.charAt(i);
			if (ch > 255)
				str += Integer.toHexString(ch) ;
			else
				str +="00" + Integer.toHexString(ch);
		}
		return str;
	}
     


   2.wavecom 短信modem

    
      //AT+CMGF=1同样是将短信模式设置为text模式
      tmp = "AT+CMGF=1\r\n";
                 if (writeContent(tmp, rt) != 1) {
                     return -1;
                 }
                
//Command syntax: AT+CMGS=<da> [,<length>] [,<priority>] [,<privacy>] [,<reply>]
//[,<cbn>] <cr><messagetext> [<term>]
                 tmp = "AT+CMGS=\"" +mobile+"\","+message.getBytes("UNICODE").length+"\r";
               //这是先写命令的前半部分
                 writeContent(tmp, rt);
                 //这是写后半部分,也就是写短信内容  
                 if(writeCNContent(message,rt,(char)-1)==1){
                	 return 0;
                 };  
     


    
      /**
        *写中文短信内容
       **/  
       public int writeCNContent(String content, Rxtx rt, char last) {

        try {
            //将短信内容转码成unicode的byte数组
            byte[]  b =  content.getBytes("UNICODE");
            char[] carr = new char[170]; 

            rt.writeData(b, 0, b.length);
            Thread.sleep(500);
            //b2是ctrl+z命令的byte数组形式
            byte[] b2 = new byte[] { 0x00, 0x1a }; 
            rt.writeData(b2, 0, b2.length);
            int ret = rt.read(carr, 170, 2000);
            if (ret == 0) {
                debug.error(" command read failed");

                rt.closeConnection();
                return 0;
            }
            //解析从短信modem返回回来的结果信息
            String t = parseByte(carr);
            if ((!(t.indexOf("OK") > -1)) && (!(t.indexOf(">") > -1))) { 
            }
            
        } catch (Exception ce) {
            ce.printStackTrace();
            return 0;
        }
        return 1;

    }
     
分享到:
评论

相关推荐

    短信开发包 gsm modem

    短信开发包和GSM MODEM在IT行业中是用于实现设备或软件通过移动网络发送和接收短信的技术。GSM(Global System for Mobile Communications)是一种广泛使用的移动通信标准,特别是在2G网络中,它允许设备通过GSM ...

    Q2358C CDMA MODEM

    基于CDMA网络开发的无线高速外置式MODEM,铝质外观,精致小巧,待机状态仅耗电5毫安。使用标准RS-232接口,台机、手提电脑均可使用. CDMA MODEM功能介绍: 功能强大 无线上网 拨打电话 接收和发送短消息 ...

    Java控制CDMA MODEM完成短信息收发.pdf

    7. CDMA短信结构:文中提到了短信结构的定义,包括公司ID、长度、目的地、短信数据等字段。这些字段的定义对于构造和解析短信数据包至关重要。 8. 串行通信:指的是计算机与外部设备之间通过串行端口进行的数据传输...

    短信MODEM二次开发接口-数据库方式

    标题中的“短信MODEM二次开发接口-数据库方式”是指一种专为短信MODEM设计的软件开发接口,允许开发者通过数据库方式进行通信和管理。这个接口旨在帮助程序员高效地集成短信功能到他们的应用程序中,特别是那些需要...

    GSM&CDMA短信猫二次开发接口

    标题中的“GSM&CDMA短信猫二次开发接口”指的是使用GSM(Global System for Mobile Communications)和CDMA(Code Division Multiple Access)技术的短信猫设备的二次开发接口。短信猫是一种硬件设备,它能够通过...

    cdma.rar_CDMA Delphi_cdma_cdma 短信_delphi cdma

    在本文中,我们将深入探讨使用Delphi 7.0开发的CDMA手机短信发送程序,以及涉及到的相关技术和知识点。 Delphi是一款由Embarcadero Technologies开发的集成开发环境(IDE),它基于Pascal编程语言,特别适合快速...

    短信猫:又称GSM MODEM,GSM猫,无线猫,短信模块,GSM模块

    按照无线网络制式的不同,又可分为GSM短信猫、CDMA短信猫和小灵通短信猫。 短信猫开发接口(GSM MODEM SDK),基于短信猫开发行业短信应用,软件开发商可以采取以下四种方式:1、直接使用AT指令,基于串口通讯模式...

    短信接口delphi源代码DLL_gsmmodem_短信接口_delphi短信接口源码_

    标签“gsmmodem”、“短信接口”和“delphi短信接口源码”进一步明确了这个项目的焦点,即使用Delphi语言开发的GSM模块短信接口,它对于想要在自己的应用中集成短信功能,特别是使用GSM模块的开发者来说具有很高的...

    anydata cdma modem at手册

    通过以上内容的详细介绍,我们可以看出《AnyDATA CDMA Modem AT手册》提供了丰富的AT命令集合,涵盖了从基本配置到高级功能的各种需求,对于从事无线数据解决方案开发的专业人员来说具有很高的参考价值。

    深圳短信猫控件,短信猫开发包

    亚商·无线通讯事业部主要经营 GSM/GPRS/CDMA Module & Modem,GSM短信猫,八口短信猫池,西门子短信猫,TC35短信猫,WAVECOM短信猫,MC39I短信猫等产品及各种配件,此系列支持话音、短信息、数据和传真,可用于开发成各种...

    China3G CDMA CDMA800的AT命令

    总结来说,CDMA AT命令是CDMA网络中控制和管理MODEM的关键工具,理解和正确使用这些命令对于开发、调试和优化CDMA通信设备至关重要。在实际应用中,应确保使用的命令与所处的网络环境和技术标准相匹配,以确保通信的...

    串口短信开发手册

    ### 串口短信开发手册知识点总结 #### 一、引言 本开发手册主要针对基于COM接口的GSM Modem设备进行短信功能的开发指导。它着重介绍了如何使用AT命令集来实现短信的发送与接收,并提供了详细的SDK文档以及相关的...

    Gsm_gprs_cdma modem_模块_短信模块_终端pdu编解码编程方法.pdf

    ### Gsm/GPRS/CDMA Modem 模块与短信模块之PDU编解码编程方法 #### 一、短消息收发实现模式概述 在短消息收发领域,主要存在三种模式:**BLOCK模式**、**TEXT模式**以及**PDU模式**。 - **BLOCK模式**:该模式在...

    详细讲解CDMA

    ZWD-15A是一款由广州致远电子有限公司开发的工业级外置式CDMA Modem,主要应用于工业控制领域,帮助用户轻松实现CDMA拨号无线上网、短信息收发以及拨打电话等功能。 1. **产品性能**: - ZWD-15A支持IS-95A/B、IS-...

    短信猫软件-破解版(TC35短信软件)下载-【深圳亚商短信猫】

    亚商·无线通讯事业部主要经营 GSM/GPRS/CDMA Module & Modem,GSM短信猫,八口短信猫池,西门子短信猫,TC35短信猫,WAVECOM短信猫,MC39I短信猫等产品及各种配件,此系列支持话音、短信息、数据和传真,可用于开发成各种...

    基于短信猫的短信管理平台

    短信猫,又称短信Modem,是一种硬件设备,它可以连接到计算机并通过GSM或CDMA网络发送和接收短信。这种设备在企业级应用中广泛使用,如批量短信发送、报警系统、自动通知等。基于短信猫的短信管理平台就是一种利用...

    Java 使用SMSLib通过串口通讯收发短信

    在本案例中,Java程序通过串口与GSM modem或其他支持短信功能的硬件设备连接,实现短信的收发。 4. **GSM Modem**:GSM modem是一种能够接入GSM网络的设备,它可以连接到计算机的串口,通过AT命令集控制,实现短信...

    anyDATA CDMA模块 收发短消息文档

    - **目的**: 本文档旨在详细介绍AnyDATA公司的CDMA无线MODEM进行短消息收发的过程及相关的数据协议。这些协议主要面向DTE(数据终端设备)与MODEM之间的交互。 - **版本**: 本文档经历了多次迭代,最新的版本为1.4...

Global site tag (gtag.js) - Google Analytics