簡訊貓開發經驗歸納

來源:互聯網
上載者:User

最近為一家代價公司做一個軟體,其中需要用到話務系統整合,其餘倒還罷了,就是簡訊貓不好搞,因為賣家居然沒有提供動態連結程式庫的介面,所以沒辦法,就只得寫實現與硬體的互動相關操作的代碼了。首先看看所用到的東西。

  第一:at指令

  第二:串口通訊,我用的c#,裡面有類支援

  其中at指令最麻煩,要是細節搞不好的話,很麻煩的,所以需要一個好的調試器。

  我們都知道吧,xp內建了一個超級終端,對了,就是 開始->程式—>附件->通訊->超級終端。

  這個的用法很簡單的,建立相對應的針對com連接埠的串連,然後就可以輸入命令了。

  這裡不說別的了,就直接說下at指令的注意點

  1 執行命令的時候,最後必須要有/r。

  2 在傳送簡訊的時候,pud支援漢字最好,所以一般都是pud模式發送。傳送簡訊的格式如下:

AT+CMGS=【pud格式的字串個數】

> 23232 ^z

 很多網上的control+z是^z,但是我放在c#中不對,最後沒辦法,根據內碼查出來對應ascall碼值,然後抓換為char類型的,這樣才實現了。語句是:convert.tochar(26)這個放到最後,當然也要一個換行/r

 最好在超級終端上把需要功能的命令都調試通了,再放到代碼中。

 至於在代碼中注意的就是,一般命令的話,比如擷取簡訊貓品牌,設定傳送簡訊類型【text,pud】的時候一般情況下都是讓線程sleep(1000)後才擷取傳回值,而發簡訊的話,最好sleep(3000)才可以擷取傳回值。

   我的解決方案是發送後,不停地掃描緩衝區,直到有正常值,因為也有可能移動或者聯通服務商訊號有問題,導致傳送簡訊時間過長。而寫指定時間擷取的話,這樣很不靈活了。

   再看類,完成這個功能只需用兩個類,一個是 操作at指令類,一個是pud產生類【這個是別人提供的,感謝他把我從繁雜的pud格式中解救出來,哈哈哈哈哈哈】,其中pud類最方便,你如果有幸看到pud產生的麻煩,就會有這種感覺。它可以根據簡訊中心號碼,接受號碼,內容,就可以產生發送的pud字串了,你在後面加上結束符convert.tochar(26)和/r。恭喜,你可以傳送簡訊了。

   以後我會把相關代碼貼出來,以及超級終端的用法也會貼。但是需要等到項目完成後再說。。。

 

 

 隨便提一點,這個軟體的設計可真垃圾,當然是我設計的,可維護性是負數級。哈哈。。。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.