CDMA 猫用AT命令发中文短信(C#)

CDMA猫真是!@#¥#%(*,连PDU都不支持,只能发文本短信。而且发中文短信居然是UNICODE,无法在超级终端里输入。只能写程序。
网上这个问题谈论地比较多,做起来比较累,还偶尔会出乱码。还是将C#的成功代码帖一下吧。
转载请注明来源


代码如下:

void SendCHNSms(string content,string phone)
{
//中文CDMA发送,UNICODE编码字节
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手机号码前面不能加86,否则虽然显示成功发送,但短信中心回应错误代码5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假设是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM猫不同,波特率是115200,这个问题困扰了很久的说
sp.BaudRate = 115200;
sp.Open();
//设置中文短信
sp.Write("AT+WSCL=6,4\r");
Thread.Sleep(500);
//设置文本格式短信
sp.Write("AT+CMGF=1\r");
Thread.Sleep(500);
//设置发送的号码和发送内容字节长度
sp.Write("AT+CMGS=\"" + phone + "\"," + b.Length + "\r");
Thread.Sleep(500);
//写入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//写入CTRL+Z结束短信内容,注意在UNICODE模式下需要两个字节,这个也是不能在超级终端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}

5月15日

【原创】CDMA猫用AT命令发中文短信(C#)

(0)

相关推荐

  • 利用VBS发送短信的实现代码(通过飞信)

    光看标题就已经觉得很牛逼了,听说过可以用 PHP 发送短信(飞信),也使用过 Python 实现的 PyFetion 发送过短信(飞信).我也看过对应的 PHP 和 Python 源码,实现起来还是比较复杂的,难道可以用 VBS 来实现? 看到代码后更觉得牛逼,竟然是使用 10086.cn (移动官网)上面的接口来实现的,飞信官方难道已经公布飞信接口了?若不是,难道是代码的作者自己发现的接口?那也太强大了!Google 了一下才发现,哦,都不是,而是 WAP 飞信.像我这种还在用着 2005 年

  • Android发送短信功能代码

    本文实例讲述了Android发送短信功能代码,是进行Android程序开发中非常常见的重要功能.分享给大家供大家参考之用.具体方法如下: // 发送短信 public void sendMsg(){ String content = edtSend.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessag

  • php发送短信验证码完成注册功能

    短信验证码注册,很简单,用的是  云通讯的短信系统(收费的,不过有测试的api给我们做测试).好了,不多说,进入正题. 1.收到到云通讯短信系统注册账号,然后下载他们的封装好的短信api接口代码,解压,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,将其拉到根目录文件夹里. 2.打开SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千万别包含错路径了,将云通讯给的测试主账号,主账号Token

  • WPF MVVM制作发送短信小按钮

    最近做一个项目,因为涉及到注册,因此需要发送短信,一般发送短信都有一个倒计时的小按钮,因此,就做了一个,在此做个记录. 一.发送消息 没有调用公司的短信平台,只是模拟前台生成一串数字,将此串数字输出一下. 在这个部分写了两个类文件:一个是生成随机数,一个是模拟发送此数字的. 1.因为生成几位随机数,是必须要到项目上线之前才能定的,因此,写了一个带参数的函数,如下 /// <summary> /// 生成随机验证码 /// </summary> public static class

  • 基于JavaScript实现手机短信按钮倒计时(超简单)

    在淘宝等购物网站,我们都会看到一个发送短信倒计时的按钮,究竟是如何实现的呢?下面我就给大家提供一段代码很实用的. 废话不多说了,直接给大家贴js代码了. /* 120秒手机短信按钮倒计时 */ exports.sendmessage = function (name) { var second = 120; $(name).attr("disabled", true); var color = $(name).css('background-color'); $(name).attr(

  • java、php、C#、asp实现短信群发功能的方法

    本文实例讲述了java.php.C#.asp实现短信群发功能的方法.分享给大家供大家参考.具体如下: 首先去http://www.smschinese.cn/上下载jar包以及注册用户,然后调用api接口,取得秘钥 1. ASP 调用例子 <% '常用函数 '输入url目标网页地址,返回值getHTTPPage是目标网页的html代码 function getHTTPPage(url) dim Http set Http=server.createobject("MSXML2.XMLHTT

  • C#代码实现短信验证码接口示例

    本文实例为大家分享了C#实现短信验证码接口示例,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Net; using System.IO; using System

  • android中可以通过两种方式调用接口发送短信

    第一:调用系统短信接口直接发送短信:主要代码如下: 复制代码 代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage("150xxxxxxxx&qu

  • C#怎么实现手机短信发送功能

    为了个人信息的安全,很多网站都有短信发送的功能,究竟是怎么实现的呢?对于个人站长来说的话,通过使用SMS短信通API接口相对比较划算和简单.那怎么实现呢,步骤如下: 1. 从网上(http://sms.webchinese.cn/)申请账号,记住用户名,密码会发到手机上,这仅是登陆密码.注册后会送5条短信.和3条彩信的发送量. 2.查看SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),然后获取秘钥,其实就是加密后的登录密码.开始敲代码,相关代码如

  • Android Mms之:短信发送流程(图文详解)

    信息的发送,对于Mms应用程序来讲主要就是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理. 总体的来讲,当信息创建完成后,对于信息通常有三个去处,一个是放弃这个信息,也就是用户不想要此信息,一旦选择,信息将不会被保存:第二个去处就是保存为草稿:最后一个去处就是发送此信息. 当点击了发送后,UI层暂不会有变化,UI层要监听负责发送的各个类的回调信息和数据库的变化信息来更新UI.信息发送的第一站是WorkingMessage,它会先处理一下信息的相关

随机推荐