與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 則恰好相反。否則會出現發送內容亂碼問題。