与GSM模块通信采用的是串口来实现数据传输(由于现在的笔记本没有串口 也可以采用USB转串口)。
GSM模块采用的是AT命令。
At命令发送短信,有三种方式:Block、Text、PDU。
Block: 已经很少使用了
Text : 一般用于发送英文(也可以发送中文,但需要做一些工作)
PDU : 用于发送中文,国内一般都用这种模式。(大部分手机都支持)
项目采用的PDU模式来发送短信。
PDU的格式:
第一步: AT+CMGF=0/r
第二步: AT+CMGS=发送内容的字节数
第三步: 发送内容
例如 我要发送一个短信:"你好" 给手机号为15853288251的人
0011000D91685158238852F1000800044F60597D
因为是在国内 所以0011000D91是固定的
685158238852F1 是手机号码15853288251通过变换而得到
00 08 00 是发送标志位设置 根据自己情况而定
04 是要发送的字节数
4F60597D 发送的内容 '你好'
特别需要注意第二步完成后,需要等待一段时间,再进行第三步。否则发送短信可能失败。等待着一段时间是个给串口的一个准备时间。
还要注意系统运行的OS平台
Windows和Liunx是有区别的 在对发送内容进行编码是 注意这两个系统的内存存放的方式不同。
Windows : 高对高,低对低
Liunx 则恰好相反。否则会出现发送内容乱码问题。