主頁 > 知識庫 > 如何通過物聯(lián)網(wǎng)卡實現(xiàn)通信模塊?物聯(lián)網(wǎng)卡系統(tǒng)開發(fā)原理!(物聯(lián)網(wǎng)卡是什么原理)

如何通過物聯(lián)網(wǎng)卡實現(xiàn)通信模塊?物聯(lián)網(wǎng)卡系統(tǒng)開發(fā)原理!(物聯(lián)網(wǎng)卡是什么原理)

熱門標簽:貴港地圖標注app 安陽智能電話機器人公司 哪個品牌電話機器人好些 寧波語音電銷機器人招商 百度地圖標注怎么改地址 百度地圖標注審核 溫州crm外呼系統(tǒng)收費 長春智能外呼系統(tǒng)廠家 上海語音電銷機器人排名

在這個萬物互聯(lián)的時代下,物聯(lián)網(wǎng)卡廣泛的應用在我們生活中的方方面面,從共享經(jīng)濟、智慧交通、智慧城市、智能穿戴再到智慧農(nóng)業(yè)等等,都能夠看到物聯(lián)網(wǎng)卡的身影,今天物聯(lián)網(wǎng)要來跟各位分享和討論下物聯(lián)網(wǎng)卡通信模塊的開發(fā)知識,講解在物聯(lián)網(wǎng)系統(tǒng)源碼中通信模塊是怎么實現(xiàn)的以及開發(fā)原理,本文以中國移動CMPP協(xié)議為例進行步驟講解,下面讓我們一起來深入了解下吧。




在這個萬物互聯(lián)的時代,物聯(lián)網(wǎng)應用以及深入到我們生活的方方面面,大到智慧城市、智能交通,小到行車記錄儀,各種穿戴設備,智能家居,都有物聯(lián)網(wǎng)應用的身影,讓我們感受到生活品質(zhì)和檔次的提升。

那么作為程序員的我們,物聯(lián)網(wǎng)通信到底如何做呢?

本系列文章即將帶您一起走進物聯(lián)網(wǎng)系統(tǒng)開發(fā)的世界。也希望同行一起分享和討論物聯(lián)網(wǎng)相關知識和開發(fā)經(jīng)驗。

首先看一下物聯(lián)網(wǎng)系統(tǒng)的整體架構,

本篇將講解物聯(lián)網(wǎng)系統(tǒng)中的通信模塊實現(xiàn)原理及相關內(nèi)容

物聯(lián)網(wǎng)數(shù)據(jù)卡系統(tǒng)源碼——通信模塊

1.通信模塊的功能

系統(tǒng)發(fā)送指令信息到物聯(lián)網(wǎng)卡,物聯(lián)網(wǎng)卡接收到指令后做相應邏輯處理,并返回信息給系統(tǒng)。

2.通信模塊實現(xiàn)的原理

一般是通過運營商(移動、聯(lián)通、電信)提供的短信網(wǎng)關通信協(xié)議,來給物聯(lián)網(wǎng)數(shù)據(jù)卡發(fā)送信息。

三大運營商使用的協(xié)議不同,分別是:中國移動CMPP協(xié)議、聯(lián)通SGIP協(xié)議、電信SMGP協(xié)議。

具體的協(xié)議介紹這里就不展開了,參考閱讀:協(xié)議介紹

3.使用中國移動CMPP協(xié)議實現(xiàn)物聯(lián)網(wǎng)通信模塊

物聯(lián)網(wǎng)卡選任何一家運營商合作都沒有關系(但個人經(jīng)驗,移動的信號是最好的。根據(jù)自己情況選擇)

移動使用的是CMPP協(xié)議,此協(xié)議2001年出了CMPP2.0版,之后持續(xù)升級過CMPP2.1,到2002年出了CMPP3.0版之后就未升級過,一直很穩(wěn)定,能滿足各種應用需求。CMPP3.0擴展手機號為32位,增加了號碼類型和linkid等字段,做物聯(lián)網(wǎng)卡當然選擇支持擴展更多且最穩(wěn)定的CMPP3.0版本。

下面介紹一款程序,此程序為中國移動CMPP協(xié)議程序接口,適合在中國移動申請了短信發(fā)送端口的公司使用。

本程序功能包括:

1、支持Cmpp2.0、3.0協(xié)議;

2、支持一般的短信發(fā)送、上行短信接收、狀態(tài)報告;

3、支持長短信,包括下發(fā)長短信、上行接收長短信;

4、支持Ms Sql數(shù)據(jù)庫、MySql數(shù)據(jù)庫;

5、支持普通手機號和物聯(lián)網(wǎng)卡;

6、集成了郵件群發(fā)功能;

7、支持擴展號;比如你的發(fā)送號碼是1008622,可以擴展成100862201、100862202等

程序適用于Cmpp3.0、Cmpp2.0協(xié)議,可用.Net任何版本編譯。短信Win服務程序+MsSql/MySql數(shù)據(jù)庫源碼,直接配置好win服務并啟動,自己只需往數(shù)據(jù)庫里面寫入數(shù)據(jù)就可以發(fā)送短信,接收的短信保存在另一張表中,讀取即可收到上行短信。

4.設計原則

軟件設計的基本原則是“高內(nèi)聚,低耦合”,本模塊遵循此原則。

此類涉及通訊的應用中,短信通信部分本身是可以不帶任何業(yè)務邏輯的,即只負責短信收發(fā)這一單一功能,所以可以設計成獨立模塊與其他業(yè)務處理模塊分開,實現(xiàn)松耦合,獨立分布式部署。

短信通訊模塊從數(shù)據(jù)庫讀取待發(fā)送短信數(shù)據(jù),然后放入緩存隊列進行多線程發(fā)送,這樣其他模塊只需要往數(shù)據(jù)庫插入數(shù)據(jù),就可以發(fā)送短信,從而實現(xiàn)了跨語言和跨平臺。不管業(yè)務系統(tǒng)使用JAVA、PHP、C#、Python或者其他語言,也不管業(yè)務系統(tǒng)是在Windows還是在Linux系統(tǒng)部署,只要可以遠程訪問數(shù)據(jù)庫,就可以使用短信通訊模塊的短信收發(fā)功能。

通信模塊每天的發(fā)送量比較大,每時每刻都在持續(xù)運行,這就必須能實現(xiàn)獨立部署,提高性能,同時也不影響其他業(yè)務功能的性能。

5.程序?qū)崿F(xiàn)

程序設計成一個Windows服務的形式,可以安全的駐存在系統(tǒng)中穩(wěn)定運行,防止人為因數(shù)關閉程序。同時設計成支持Sql Server和MySql兩種數(shù)據(jù)庫,且可以通過修改配置項來實時切換。

根據(jù)功能不同又可以細分成專門負責實現(xiàn)CMPP協(xié)議格式,與移動網(wǎng)關通信的模塊,和專門讀取數(shù)據(jù)庫數(shù)據(jù),處理發(fā)送任務的Windows服務模塊。



上圖代碼為短信win服務代碼截圖,相關代碼模塊解釋:

Xiaoy.SMS項目:為短信組件源碼,負責實現(xiàn)CMPP協(xié)議并與短信網(wǎng)關通信.

SMSWinService項目: 短信服務源碼,負責讀取數(shù)據(jù)庫待發(fā)短信并發(fā)送以及上行短信的接收,當然還包括windows服務的安裝等功能.

SMSTest項目:短信測試程序源碼,Windows桌面程序,用于短信調(diào)試.



上圖為短信調(diào)試小程序截圖。短信程序開發(fā)好之后,聯(lián)調(diào)是一個繁瑣的工作,因為協(xié)議參數(shù)就有幾十個,任何一個參數(shù)填寫錯誤都有可能導致短信發(fā)送不成功,這就需要有一款調(diào)試工具來幫忙了,有時候不是你的程序編碼有問題,而是移動運營商那邊沒幫你配置好,或者你填的參數(shù)輸入錯誤,造成了發(fā)送失敗。遇到這種情況,可以通過發(fā)送后返回的狀態(tài)(見上圖中紅色日志)來判斷是哪里的問題。

短信發(fā)送流程如下:

第一步:程序發(fā)送Submit包到網(wǎng)關,網(wǎng)關會返回SubmitResp包,根據(jù)包中的Result的值來判斷是否發(fā)送成功。

result=0代表發(fā)送成功,其他代表失敗,失敗的原因可以查詢返回碼的意義:返回碼說明

這時候只是發(fā)送到了網(wǎng)關,至于網(wǎng)關是否成功發(fā)送到用戶手機或物聯(lián)網(wǎng)卡,尚不知道。比如用戶手機關機,或物聯(lián)網(wǎng)卡未插入設備中則收不到短信。

第二步:當短信網(wǎng)關成功發(fā)送短信到用戶手機卡或物聯(lián)網(wǎng)卡上時,會返回狀態(tài)報告給SP端(即本程序)。

如果狀態(tài)報告中的結果是DELIVRD,則證明信息已經(jīng)成功發(fā)送到物聯(lián)網(wǎng)卡,并成功接收到。

也就是說,當?shù)谝徊絩esult=0的時候,基本SP的發(fā)送任務完成了,如果收不到也是卡的問題(欠費、關機、未插卡等)。

第二步是更精確的知道卡是否收到信息,但有可能一兩天才會返回。要接收狀態(tài)報告,需要在提交Submit包的時候把“RegisteredDelivery”字段設為1。



物聯(lián)網(wǎng)(http://www.m2mzy.com/)在本文中主要講解了物聯(lián)網(wǎng)卡、通信模塊以及物聯(lián)網(wǎng)系統(tǒng)開發(fā)的原理,通過CMPP協(xié)議模塊的開發(fā)實踐進行講解,目前運營商物聯(lián)網(wǎng)卡的短信協(xié)議主要分為中國移動CMPP協(xié)議、聯(lián)通SGIP協(xié)議、電信SMGP協(xié)議,在配置好后我們能夠通過網(wǎng)關返回的SubmitResp包值進行確認是否發(fā)送成功,result=0為成功,其余則為失敗,失敗的具體原因需要根據(jù)返回碼進行查詢。


標簽:白銀 衡陽 赤峰 達州 鎮(zhèn)江 恩施 龍巖 寧波

巨人網(wǎng)絡通訊聲明:本文標題《如何通過物聯(lián)網(wǎng)卡實現(xiàn)通信模塊?物聯(lián)網(wǎng)卡系統(tǒng)開發(fā)原理!(物聯(lián)網(wǎng)卡是什么原理)》,本文關鍵詞  如何,通過,物聯(lián),網(wǎng)卡,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何通過物聯(lián)網(wǎng)卡實現(xiàn)通信模塊?物聯(lián)網(wǎng)卡系統(tǒng)開發(fā)原理?。ㄎ锫?lián)網(wǎng)卡是什么原理)》相關的同類信息!
  • 本頁收集關于如何通過物聯(lián)網(wǎng)卡實現(xiàn)通信模塊?物聯(lián)網(wǎng)卡系統(tǒng)開發(fā)原理?。ㄎ锫?lián)網(wǎng)卡是什么原理)的相關信息資訊供網(wǎng)民參考!
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266