C#使用串口SerialPort开发短信猫收发短信系统总结

C#使用串口SerialPort开发短信猫收发短信系统总结

 

 开发环境:VS2008+SQLSERVER2008+单口短信猫+8口短信猫

主要知识:串口参数配置+短信猫常用操作+短信编码的加密解密

下面详细介绍下相关的知识经验和总结:

 

一串口参数配置:

PortName 串口名称,COM1, COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,COM10等(笔记本默认包括COM1-COM4,台式机默认COM1-COM2,单口短信猫端口为笔记本或者台式机对应的串口号,多口短信猫对应笔记本或者台式机之后的端口号)。

BaudRate 波特率(单口短信猫默认为9600,8口短信或者彩信猫为1152000)

Parity 奇偶校验(基本上选择默认设置就好,不进行自定义配置)

DataBits 数据位(基本上选择默认设置就好,不进行自定义配置)

StopBits 停止位(基本上选择默认设置就好,不进行自定义配置)

 

二短信猫常用操作:

短信猫编码模式:

主要是PDU模式跟TEXT模式,对应的指令分别是AT+CMGF=0和AT+CMGF=1

短信猫模块型号或者机器码,对应指令为AT+CGMI

读取短信猫中的短信,主要分以下六类:

读取所有已读短信,对应指令为AT+CMGF=1

读取所有未读短信,对应指令为AT+CMGF=0

读取所有已发短信,对应指令为AT+CMGL=3

读取所有未发短信,对应指令为AT+CMGL=2

读取所有短信,对应指令为AT+CMGL=4

读取指定编号的短信,对应指令为AT+CMGR=编号数字

串口的打开关闭写数据主要是SerialPort对象自带的Open(),Close(),Write(string/byte[])等方法

 

三短信编码的加密解密

短信收发时的编码方式主要分三种,7BIT、8BIT、UCS2,所以对应的加密解密函数对应就会有六个。

加密短信内容时的操作对象主要包括目标加密手机号码,加密短信内容,加密短信中心号码。

解密短信内容时的操作对象主要包括解密短信发送方的手机号码,解密收到短信的时间,解密收到短信的内容。

发送短信的编码格式类似于0011000B6831**********0008C408828265E55FEB4E50(08828265E55FEB4E50代表发送的短信长度为08个字节+内容为节日快乐)

收取短信的编码格式类似于08916831开头的

 

以上为本人原创经验总结分享给大家,相关函数方法可以在网络上比较容易搜索到,可以参考开源代码http://code.google.com/p/gsmmodem/。不过这个还是很不完善。凭借这个研究出能用到实际项目中的系统我觉得一般人还需要至少个把月时间。包括与数据库打交道的常用操作如记录收到所有短信内容和已发短信日志到数据库中等等。

你可能感兴趣的:(C#+WINFORM应用程序)