PC機控制簡訊收發裝置原理及實現(1)

來源:互聯網
上載者:User

最近公司某部門要在管理系統中整合簡訊收發功能,任務落到我頭上,雖然簡訊平台並不是什麼新鮮事,買裝置也能提供二次開發庫,但之前沒接觸過,於是也很投入地作了學習和研究。起初很神秘很刺激,在網上一通搜,發現純收發簡訊功能其實並不複雜,也就是通過串口把AT

指令發送到簡訊收發裝置,然後從串口讀取傳回的資料,解析其內容可以判斷是指令響應還是返回的資料。

     這裡附帶說一下測試的工具,如果只是用來測試一般的AT指令,手頭又沒有可用的串口測試載入器,windows內建的超級終端工具是個不錯的選擇,但是超級終端沒法對已經編碼的簡訊息進行解碼,因此讀取簡訊只能看到一堆亂碼。     說到簡訊息的編碼,現在各類終端支援能支援Text和PDU兩種模式,據說Text模式對中文支援不好,因此被我直接忽略,PDU模式要掌握也並不複雜,一是要瞭解PDU編碼後的報文格式,二是要掌握編碼解碼的特定規則,一般的
PDU

編碼分為十三段,由
A


M

十三個英文字母表示,各段的簡單說明我列了個表

 

序號

PDU


分段號

說明

1

A

簡訊息中心地址長度,
2

位十六進位數
(1

位元組
)

2

B

簡訊息中心號碼類型,
2

位十六進位數。

3

C

簡訊息中心號碼,
B+C

的長度將由
A

中的資料決定。

4

D

檔案頭位元組,
2

位十六進位數。

5

E

資訊類型,
2

位十六進位數。

6

F

被叫號碼長度,
2

位十六進位數。

7

G

被叫號碼類型,
2

位十六進位數,取值同
B

8

H

被叫號碼,長度由
F

中的資料決定。

9

I

協議標識,
2

位十六進位數。

10

J

資料編碼方案,
2

位十六進位數。

11

K

有效期間,
2

位十六進位數。

12

L

使用者資料長度,
2

位十六進位數。

13

M

使用者資料,其長度由
L

中的資料決定。
J

中設定採用
UCS2

編碼,這裡是中英文的
Unicode

字元。

關於PDU更詳細的內容,可以到非犬犬的Blog(http://xinos.cn/downloads/sms/manual/index.shtml
)下載《SMS PDU 手冊》

和簡訊相關的AT指令也能在非犬犬這找到,在此表示感謝。
最後把串口操作、AT指令封裝、PDU編解碼一通攪和做了一個實現,

在普通手機、簡訊Modem、移動上網卡都測試成功


本想附上實現的源碼,但沒找到上傳的地方,如果遇到有興趣的,可以發郵件到dubing.lee@gmail.com問我索取...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.