📄 smscmd.h
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
// 短消息参数结构,编码/解码共用
// 其中,字符串以0结尾
typedef struct {
uchar SCA[16]; // 短消息服务中心号码(SMSC地址)
uchar TPA[16]; // 目标号码或回复号码(TP-DA或TP-RA)
uchar TP_PID; // 用户信息协议标识(TP-PID)
uchar TP_DCS; // 用户信息编码方式(TP-DCS)
uchar TP_SCTS[16]; // 服务时间戳字符串(TP_SCTS), 接收时用到
uchar TP_UD[60]; // 原始用户信息(编码前或解码后的TP-UD)
uchar index; // 短消息序号,在读取时用到
} SM_PARAM;
/**********************************************************
监控中心短信命令定义
***********************************************************
设置中心 CEN666666*1011111111*2022222222*3033333333*
更改密码 CEN666666*40888888*
设备布防 CEN666666#1
设置设备锁死 CEN666666#3
设备解除报警 CEN666666#4
设备撤防 CEN666666#4:0
查询当前状态和位置 CEN666666#5
//设备声光报警 CEN666666#6
//设置巡更基站 CEN666666#8:12345678,12345678,12345678,12345678,12345678
//设置巡更开关 CEN666666#9:0 0=关闭,1=开启
//设置越界基站 CEN666666#12:,,,,
设置报警方式 CEN666666#17:0 0=只发送给中心,1=只发送给用户,2=发送给中心和用户
设置免提拨打电话 CEN666666#18:12345678
查询免提拨打电话 CEN666666#18?
开启监听电话 CEN666666#19:12345678
设置免提接听电话 CEN666666#20:12345678
查询免提接听电话 CEN666666#20?
***********************************************************
短信返回信息定义
***********************************************************
布防 CEN1000000000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
打劫 CEN0100000000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
主电源被破坏 CEN0010000000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
布防时门没有关好 CEN0001000000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
顶盖断线 CEN0000100000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
主机被震动过 CEN0000010000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
顶盖倾斜 CEN0000001000000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
非法打开门 CEN0000000100000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
巡更 CEN0000000010000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
越界报警 CEN0000000001000000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
超速 CEN0000000000100000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
备用电源电压低 CEN0000000000010000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
咪头断线 CEN0000000000001000,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
声光报警 CEN0000000000000100,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
设备锁死 CEN0000000000000001,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
布防 CEN1000000000000010,#58B576A5,#58B546A4,#00000000,#00000000,#00000000,
***********************************************************
用户手机短信命令定义
***********************************************************
更改密码 666666M888888M
设备布防 666666BF
设备撤防 666666CF
设备查询 666666CX
开启监听电话 666666JT12345678
***********************************************************
用户手机短信命令回复定义
***********************************************************
更改密码 设置成功
设备布防 布防成功
设备撤防 撤防成功
设备查询 布防 或 撤防
开启监听电话 直接回拨设置的电话,无回复
***********************************************************
发送短信时数据编码分析
***********************************************************
AT+CMGS=16 0891683108501705F011000BA13109569102F2000800024F60
AT+CMGS=18 0891683108501705F011000BA13109569102F2000800044F60597D
AT+CMGS=19 0891683108501705F011000D91683109569102F2000800044F60597D
AT+CMGS=21 0891683108501705F011000D91683109569102F2000800064F60597D5417
CMGS=长度 长度=短信中心号码(683108501705F0)以后的字符串长度/2
短信中心号码长度+格式+号码=0891683108501705F0 共9个字节
发送相对格式短信+信息类型+目标号码长度+号码类型+号码=11 00 0D 91+683109569102F2 共11个字节
协议标识+数据编码方案+有效期+信息长度=00 08 00 06 共4个字节
信息=4F 60 59 7D 54 17 共6个字节
***********************************************************
发送短信时数据编码分析
***********************************************************
***********************************************************/
#define SET_CENTEN_CMD 30 //设置中心号码命令:CEN666666*1011111111*2022222222*3033333333*
#define SET_CONTROL_PASS 40 //设置设备控制密码:CEN666666*40888888*
#define FORCE_CONTROL 1 //强制布防:CEN888888#1
#define FORCE_STOP 3 //设备停用:CEN888888#3 //原来用作强制停车
#define FREE_CONTROL 4 //设备撤防:CEN888888#4
//设备关闭 CEN666666#4:0 //改用#3号命令
#define GET_STATE_POS 5 //查询当前状态和位置命令:CEN888888#5
#define CONTROL_ALARM 6 //对当前设备进行声光报警:CEN888888#6
#define SET_ALARM_SEND_TYPE 17 //设置报警发送方式:CEN666666#17:0
#define SET_FREE_PHONE 18 //设置免提拨打电话:CEN888888#18:12345678
#define GET_FREE_PHONE 181 //查询免提拨打电话:CEN888888#18?
#define OPEN_LISTEN_PHONE 19 //开启监听电话:CEN888888#19:12345678
#define SET_FREE_LISTEN_PHONE 20 //设置免提听电话号码CEN888888#20:12345678
#define GET_FREE_LISTEN_PHONE 201 //查询免提听电话号码CEN888888#20?
// 用户信息编码方式
#define GSM_7BIT 0
#define GSM_8BIT 4
#define GSM_UCS2 8
//SM_PARAM xdata gPDUsms;
//uchar gsmEncode7bit(uchar * pSrc, uchar * pDst, uchar nSrcLength);
//uchar gsmDecode7bit(uchar * pSrc, uchar * pDst, uchar nSrcLength);
extern uchar gsmEncodeUcs2(uchar * pSrc, uchar * pDst, uchar nSrcLength);
//uchar gsmDecodeUcs2(uchar * pSrc, uchar * pDst, uchar nSrcLength);
extern uchar gsmString2Bytes(uchar * pSrc, uchar * pDst, uchar nSrcLength);
extern uchar gsmBytes2String(uchar * pSrc, uchar * pDst, uchar nSrcLength);
extern uchar gsmInvertNumbers(uchar * pSrc, uchar * pDst, uchar nSrcLength);
extern uchar gsmSerializeNumbers(uchar * pSrc, uchar * pDst, uchar nSrcLength);
//uchar gsmEncodePdu(SM_PARAM xdata * pSrc, uchar * pDst);
//uchar gsmDecodePdu(uchar * pSrc, SM_PARAM xdata * pDst);
extern uchar gsmEncodePdu(uchar * pDst);
//uchar gsmDecodePdu(uchar * pSrc);
//uchar gsmDecode8bit(uchar * pSrc, uchar * pDst, uchar nSrcLength);
//uchar gsmEncode8bit(uchar * pSrc, uchar * pDst, uchar nSrcLength);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -