物聯網資料卡系統原始碼——通訊模組整體概述
在這個萬物互聯的時代,物聯網應用以及深入到我們生活的方方面面,大到智慧城市、智慧交通,小到行車記錄儀,各種穿戴裝置,智慧家居,都有物聯網應用的身影,讓我們感受到生活品質和檔次的提升。
那麼作為程式設計師的我們,物聯網通訊到底如何做呢?
本系列文章即將帶您一起走進物聯網系統開發的世界。也希望同行一起分享和討論物聯網相關知識和開發經驗。
本篇將講解物聯網系統中的通訊模組實現原理及相關內容
物聯網資料卡系統原始碼——通訊模組
1.通訊模組的功能
系統傳送指令資訊到物聯網絡卡,物聯網絡卡接收到指令後做相應邏輯處理,並返回資訊給系統。
2.通訊模組實現的原理
一般是通過運營商(移動、聯通、電信)提供的簡訊閘道器通訊協議,來給物聯網資料卡傳送資訊。
三大運營商使用的協議不同,分別是:中國移動CMPP協議、聯通SGIP協議、電信SMGP協議。
具體的協議介紹這裡就不展開了,參考閱讀:協議介紹
3.使用中國移動CMPP協議實現物聯網通訊模組
物聯網絡卡選任何一家運營商合作都沒有關係(但個人經驗,移動的訊號是最好的。^_^根據自己情況選擇)
移動使用的是CMPP協議,此協議2001年出了CMPP2.0版,之後持續升級過CMPP2.1,到2002年出了CMPP3.0版之後就未升級過,一直很穩定,能滿足各種應用需求。CMPP3.0擴充套件手機號為32位,增加了號碼型別和linkid等欄位,做物聯網絡卡當然選擇支援擴充套件更多且最穩定的CMPP3.0版本。
下面介紹一款程式,此程式為中國移動CMPP協議程式介面,適合在中國移動申請了簡訊傳送埠的公司使用。
本程式功能包括:
1、支援Cmpp2.0、3.0協議;
2、支援一般的簡訊傳送、上行簡訊接收、狀態報告;
3、支援長簡訊,包括下發長簡訊、上行接收長簡訊;
4、支援Ms Sql資料庫、MySql資料庫;
5、支援普通手機號和物聯網絡卡;
6、集成了郵件群發功能;
7、支援擴充套件號;比如你的傳送號碼是1008622,可以擴充套件成100862201、100862202等
程式適用於Cmpp3.0、Cmpp2.0協議,可用.Net任何版本編譯。簡訊Win服務程式+MsSql/MySql資料庫原始碼,直接配置好win服務並啟動,自己只需往資料庫裡面寫入資料就可以傳送簡訊,接收的簡訊儲存在另一張表中,讀取即可收到上行簡訊。
4.設計原則
軟體設計的基本原則是“高內聚,低耦合”,本模組遵循此原則。
此類涉及通訊的應用中,簡訊通訊部分本身是可以不帶任何業務邏輯的,即只負責簡訊收發這一單一功能,所以可以設計成獨立模組與其他業務處理模組分開,實現鬆耦合,獨立分散式部署。
簡訊通訊模組從資料庫讀取待發送簡訊資料,然後放入快取佇列進行多執行緒傳送,這樣其他模組只需要往資料庫插入資料,就可以傳送簡訊,從而實現了跨語言和跨平臺。不管業務系統使用JAVA、PHP、C#、Python或者其他語言,也不管業務系統是在Windows還是在Linux系統部署,只要可以遠端訪問資料庫,就可以使用簡訊通訊模組的簡訊收發功能。
通訊模組每天的傳送量比較大,每時每刻都在持續執行,這就必須能實現獨立部署,提高效能,同時也不影響其他業務功能的效能。
5.程式實現
程式設計成一個Windows服務的形式,可以安全的駐存在系統中穩定執行,防止人為因數關閉程式。同時設計成支援Sql Server和MySql兩種資料庫,且可以通過修改配置項來實時切換。
根據功能不同又可以細分成專門負責實現CMPP協議格式,與移動閘道器通訊的模組,和專門讀取資料庫資料,處理髮送任務的Windows服務模組。
上圖程式碼為簡訊win服務程式碼截圖,相關程式碼模組解釋:
Xiaoy.SMS專案:為簡訊元件原始碼,負責實現CMPP協議並與簡訊閘道器通訊.
SMSWinService專案: 簡訊服務原始碼,負責讀取資料庫待發簡訊併發送以及上行簡訊的接收,當然還包括windows服務的安裝等功能.
SMSTest專案:簡訊測試程式原始碼,Windows桌面程式,用於簡訊除錯.
上圖為簡訊除錯小程式截圖。簡訊程式開發好之後,聯調是一個繁瑣的工作,因為協議引數就有幾十個,任何一個引數填寫錯誤都有可能導致簡訊傳送不成功,這就需要有一款除錯工具來幫忙了,有時候不是你的程式編碼有問題,而是移動運營商那邊沒幫你配置好,或者你填的引數輸入錯誤,造成了傳送失敗。遇到這種情況,可以通過傳送後返回的狀態(見上圖中紅色日誌)來判斷是哪裡的問題。
簡訊傳送流程如下:
第一步:程式傳送Submit包到閘道器,閘道器會返回SubmitResp包,根據包中的Result的值來判斷是否傳送成功。
result=0代表傳送成功,其他代表失敗,失敗的原因可以查詢返回碼的意義:返回碼說明
這時候只是傳送到了閘道器,至於閘道器是否成功傳送到使用者手機或物聯網絡卡,尚不知道。比如使用者手機關機,或物聯網絡卡未插入裝置中則收不到簡訊。
第二步:當簡訊閘道器成功傳送簡訊到使用者手機卡或物聯網絡卡上時,會返回狀態報告給SP端(即本程式)。
如果狀態報告中的結果是DELIVRD,則證明資訊已經成功傳送到物聯網絡卡,併成功接收到。
也就是說,當第一步result=0的時候,基本SP的傳送任務完成了,如果收不到也是卡的問題(欠費、關機、未插卡等)。
第二步是更精確的知道卡是否收到資訊,但有可能一兩天才會返回。要接收狀態報告,需要在提交Submit包的時候把“RegisteredDelivery”欄位設為1。
上圖為簡訊閘道器模擬器工具截圖。在本地測試需要用到簡訊閘道器模擬器。
由於篇幅有限,本文從整體講解一個大概,未完待續。
本系列文章將繼續開新篇講解CMPP協議模組的實現,和SMSWindows服務模組的實現,歡迎持續關注。小y的QQ 271963990
相關推薦
物聯網資料卡系統原始碼——通訊模組整體概述
在這個萬物互聯的時代,物聯網應用以及深入到我們生活的方方面面,大到智慧城市、智慧交通,小到行車記錄儀,各種穿戴裝置,智慧家居,都有物聯網應用的身影,讓我們感受到生活品質和檔次的提升。 那麼作為程式設計師的我們,物聯網通訊到底如何做呢? 本系列文章即將帶您一起走進物聯網系統開發的世界。也希望同行一起分享和
物聯網資料卡系統原始碼——物聯網的主要應用領域
萬物互聯時代,物聯網的潛力毋庸置疑,其預言也在市場中得到論證。物聯網,顧名思義,就是物物相連的網際網路。這裡有兩層意思:其一,物聯網的核心和基礎仍然是網際網路,是在網際網路基礎上的延伸和擴充套件的網路; 其二,其使用者端延伸和擴充套件到了任何物品與物品之間,進行資訊交換和通訊,也就是物物相息。
物聯網資料卡系統原始碼——物聯網技術架構圖
物聯網作為一個系統網路,與其他網路一樣,也有其內部特有的架構。你知道物聯網的架構分為幾層麼? 物聯網系統有三個層次。一是感知層,即利用 RFID、感測器、二維碼等隨時隨地獲取物體的資訊;二是網路層,通過各種電信網路與網際網路的融合,將物體的資訊實時準確地傳遞出去;三是應用層,把感知層的得到的資訊進行處理,實
C#工業物聯網和整合系統解決方案的技術路線(資料來源、資料採集、資料上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)
目 錄 工業物聯網和整合系統解決方案的技術路線... 1 前言... 1 第一章 系統架構... 3 1.1 硬體構架圖... 3 1.2 元件構架圖... 4 第二章 技術選型與介紹... 5 2.1
利用irc伺服器做物聯網資料轉發 c# winform程式
利用irc協議的優點: 免費,不用購買伺服器就可以實現穩定公網轉發資料 開源,irc的客戶端和開源庫眾多,省去了自己造輪子的時間 歷史悠久,網際網路誕生伊始就有irc 缺點:安全性比較差 簡單協議接收可以用:https://kiwiirc.com/ 下面是傳送客戶端
物聯網絡卡為什麼會這麼火,主要有哪些優勢?
由於物聯網的快速發展,物聯網絡卡也跟著火爆起來,受到了越來越多的企業歡迎。這個時候就有人問了,物聯網絡卡為什麼會這麼火?它有哪些優勢呢?接下來小編來個大家講解一下吧。 物聯網絡卡為什麼會這麼火? 1.發展趨勢 由於現在需要物聯網絡卡的智慧裝置太多了,所以物聯網絡卡的發展會越來越
物聯網絡卡不能運用於安防?智宇物聯對此說“不”
隨著科學技術的發展,社會的發展也在飛速發展,物聯網技術的應用越來越廣泛,社會的發展已經向智慧化和資訊化的方向發展,許多行業或領域都實現了智慧化。安全是我們生存發展的根本,那麼隨著新時代的發展,我們應該如何保證自己的安全呢?智慧安防的誕生為我們提供了更加安全的平臺,而作為智慧安防的運用物聯網絡卡起
Splunk for Industrial IoT讓物聯網資料變得可操作
Splunk首個物聯網解決方案通過擴充套件對連線裝置的資料訪問許可權,幫助工業企業降低成本並提高績效 中國,北京--(美國商業資訊)--致力於將資料轉化為行動和價值的Splunk公司(NASDAQ:SPLK)今天宣佈全面推出Splunk的首個物聯網(IoT)解決方案,即Sp
【智宇物聯】:物聯網絡卡10大常見問題
如今,我們的生活已經離不開物聯網絡卡的存在了,物聯網絡卡在我們生活中的應用十分廣泛,但是有些使用者對於物聯網絡卡這一方面還是有很多的問題,下面智宇物聯歸納了使用者關於物聯網絡卡的一些常見問題,並且做了詳細的解答。 1、什麼是物聯網絡卡? 物聯網絡卡是有運營商(
智慧抄表物聯卡批發可定位垂直行業智慧抄表NB物聯網絡卡
風行科技智慧抄表NB物聯卡批發可定位垂直行業智慧抄表NB物聯網絡卡,目前面向全國代理商開展批發代理業務,目前只要諮詢即可享5張免費1G物聯網絡卡,瞭解詳情請點選>>>風行科技。活動有限先到先得請速速電話聯絡! 風行科技目前提供插卡式(適合大、中
你和物聯網之間就差著一張物聯網絡卡!
近這些年來,隨著科學技術的不斷髮展,物聯網技術應用也變得越來越廣泛,社會發展也走向了智慧化和資訊化的道路,許多行業或領域都實現了智慧化,包括農業生產、車聯網、智慧穿戴等等,物聯網技術應用也因此成為了十分適用智慧化和資訊化發展的技術支援。 然而近日百度就依託物聯網絡卡開發出了屬於自己的一
物聯網時代,物聯網絡卡將何去何從?
這幾年來隨著資訊科技的不斷髮展,物聯網技術開始嶄露頭角已經成為經濟增長的新動力。與物聯網有 關聯的行業都需要對應的技術支撐,這也為物聯網絡卡的發展帶來巨大的產業機遇。物聯網絡卡是物聯網的 一種新產品,近年來,物聯網絡卡引起了人們的廣泛關注。它是實現物聯網通訊的一種基本硬體,它也逐 漸進入我們的生
為什麼物聯網絡卡越來越便宜?
隨著我國近些年來資訊科技的不斷髮展和萬物互聯計劃的實施,一種新興的產業開始形成——物聯網。 物聯網作為一種興起的事物,已經成為了資訊科技的重要組成部分。相信也有人會問,何為網際網路?我 來解釋一下,物聯網就是物物相連的網際網路,可以通過網路進行資料上的無限傳輸。其實相信大多數人 對物聯網中的物聯
物聯網絡卡的常見套路,你中招了嗎?
隨著社會的不斷進步和科技的發展,物聯網技術的運用也變的越來越廣泛,許多行業或領域都實現了智慧化。在這個物聯網技術勃發的年代,很多企業都想在這個時代佔有一席之地,紛紛投資物聯網終端產品,其實很多人不瞭解這個剛剛興起的行業,開始盲目跟風。而物聯網絡卡作為物聯網技術的核心,更是吸引了一大群人的投資和購
物聯網絡卡在智慧穿戴裝置中的應用——蜂窩物聯網
隨著物聯網時代的發展,物聯網技術也變得越來越成熟,如今,物聯網絡卡應用於各個領域。如:車聯網、智慧家居。智慧醫療、智慧穿戴裝置、移動支付、智慧農業。物聯網絡卡技術已經環繞我們的身邊,那一張小小的物聯網絡卡是如何在智慧穿戴中的應用呢? 什麼是物聯網絡卡? 物聯網絡
物聯網絡卡使自動售貨機更加智慧!
這幾年來,隨著物聯網的快速發展,物聯網絡卡也開始進入人們的視野。一些企業也開始藉助物聯網絡卡對智慧販賣機進行更 加合理規範的管理。 總的來說,科技的發展必然會帶動人們生活方式的改變。如果說移動網際網路讓手機變的更加智慧,那麼物聯網則是使跟中 裝置實現了智慧互聯。目前,隨著智慧智慧門鎖、
物聯網絡卡有哪些渠道辦理?
在網際網路和物聯網迅速發展的今天,物聯網絡卡開始被越來越多的使用者所接受,在物聯網絡卡剛開始發展的時候相 信大多數人都不知道物聯網絡卡是什麼東西。其實物聯網絡卡很簡單,物聯網絡卡就是運營商基於物聯網公共服務網 絡,面向物聯網使用者提供的行動通訊接入業務。其實辦理物聯網絡卡的業務也並不麻煩,你可以
物聯網絡卡在智慧家居中到底發揮著怎樣的作用?
在科技發展的今天,網際網路技術的發展帶動了物聯網技術的發展,而物聯網技術的發展也帶動了人工智慧的發展,這也讓我們的生活進入了資訊時代。 隨著資訊時代的不斷髮展和進步,在當今的世界,數以萬計的小工具依託資訊化時代開始讓我們的家變的更加智慧。這些小工具可以通過物聯網絡卡的資料連線實現資訊的互聯互
物聯網絡卡就是不能打電話的電話卡?
物聯網作為當今比較熱門的話題,一直受到業界的關注。在最近幾年,一些企業也開始加大了對物聯網的投入,爭相佈局。而物聯網絡卡作為物聯網技術中的關鍵一環,當然是企業佈局的重點專案。接下來我就來講一講物聯網絡卡究竟有什麼魔力會有這麼大的影響力! 物聯網絡卡,也被叫做物聯網機器卡,是中國三大運營