1. 程式人生 > >數字對講系統開發札記(前端linux c 後端 c#)

數字對講系統開發札記(前端linux c 後端 c#)

前言 數字化是一種趨勢,特別是在“提速降費”的大環境下,這種趨勢愈發明顯。對講機這種古老的系統也處在時代的變革之中,雖然手機的功能越來越強,讓人懷疑對講機是否還有存在的必要。誠然,對講機仍然有它的市場。有時候,功能太多太強反而不是優勢;對講機的優勢就是功能簡單,專業性強。

  筆者最近也涉足了對講系統的開發,發現這個行業也大有可為。特別是4G、5G的出現,數字對講系統的優勢逐步顯現;就像數碼相機代替光學相機,模擬對講機最終會被數字對講機代替。雖然筆者接觸數字對講時間並不長;但是敏銳的覺察到,在這一細分市場做好、做強,定有豐厚回報。我把開發對講系統的一些技術要點,想法寫下來;希望大家多多交流指導!有志同道合者,可以聯絡我。

對講系統現狀

  筆者是技術出身,對技術有一定的敏感性。對於市場,只能算作門外漢了;好在,技術人員推理能力比較強。對於對講系統現狀,我確實沒有過多的發言權,我就根據瞭解的一些的情況,做一些合理的推理。模擬對講系統出現已有幾十年了,直到最近幾年,數字對講系統才有突飛猛進的發展,有加速替換模擬對講系統的趨勢。有幾個原因:1流量費的降低。大家可以回想一下幾年前的流量資費,是多嘛的坑爹。2功能優勢:數字對講傳輸距離不受限制;可以傳輸文字、圖片、視訊等,並且可以儲存;做到保密通訊;方便群組、人員管理等等。可以說優點很多。最後再加一條:由於電腦處理系統的強大,單個對講機的服務費也非常的低,幾乎可以做到忽略不計;這樣就能做到,硬體便宜,後期使用費用也很低。免除了使用者的後顧之憂。

  模擬對講系統在國記憶體量市場很大,有幾千萬臺之多。每年會有相當比例的使用者轉為數字對講。加之,數字對講系統的優點,也會吸引相當一部分新使用者加入。對於一些要求比較高的群體,如公安等,有些功能是模擬對講無法滿足的,只能選擇數字對講。

  可以說涉足這個領域的風險極低。關鍵是技術上要過硬,功能上有靈活性。

數字對講系統組成

  

對講系統主要有:PPT終端、對講處理中心,排程平臺等組成。我逐一介紹一下開發要點。
PPT終端:可分為兩部分:硬體和軟體。對於硬體,需要找相關的生產廠家代工,國內主要的生產基地在泉州。軟體部分也不必完全從底層做起;比如4G通訊,與介面互動這些都大同小異;這些功能可採用第三方平臺。你所做的只是業務邏輯部分,暨如何與伺服器處理部分。這樣開發難度會大大降低。採用的作業系統只能是linux,開發語言一般是C語言。

  我們採用的是廣和通平臺,在該平臺開發,和在pc機開發幾乎沒有區別。網路功能部分,廣和通模組已經實現的非常完備。介面部分,也可以採用第三方平臺;介面與程式之間是通過AT指令完成。廣和通平臺已經支援AT指令,介面部分的工作量也非常的小。業務模組邏輯,一般可在一個月內完成開發。

 

  上圖為廣和通的開發平臺。右側為通訊模組(CP),左側為應用程式模組(AP)。AP與CP之間是通過標準介面通訊,CP端升級,不會影響到AP端。譬如:以後CP升級到5G,AP端無須任何改動。應用程式是執行在AP端,底層就是linux系統,開發語言是C。平臺集成了AT指令。這樣就大大減輕開發者負擔。

 對講處理中心:這裡是對講系統的中轉排程中心。時時刻刻處理著對講系統的登入、語音、群組切換等業務。我們採用的是c#開發的,執行在windows平臺。

該系統有如下幾個特點

1 效能: 提高單臺伺服器的處理能力,就意味著降低單個對講機的服務成本。一臺伺服器要滿足處理10萬臺以上的對講機的能力。流量資料每秒達到幾百兆頻寬的量,這部分處理需要極度優化;socket處理如何優化可以參考我的文章《高效能、高可用性Socket通訊庫介紹》。

由於很難模擬10萬臺裝置與伺服器互動,所以只進行了傳輸量測試。IOCP是可擴充套件性模型,單個連線與多個連線效率區別不大,通過單個連線測試,也可以窺探伺服器的效能與容量;

 

我使用c++寫的模擬程式,對該系統測試。收發資料總計超過50M,暨佔用500M頻寬,cpu佔用率23%。測試平臺為筆記本,硬體配置比較低。如果採用高效能伺服器,達到千兆頻寬傳輸,cpu佔用也不會很高。

2 穩定性:這點的重要性不言自明。如果伺服器出現故障,會影響數萬臺對講機。這裡的穩定性包括硬體和軟體兩個部分。硬體可以使用雲平臺,費用可能高點,但是硬體穩定性有了保障。軟體穩定性需要考慮很多因素,主要和開發人員水平有關,這裡不多敘述。

排程平臺:這裡可以看到所管轄的對講機;檢視對講機的狀態,GPS位置資訊等。排程臺同時也是一個對講終端,可以和別的對講機發起通話。由於系統應用的行業、場景有所不同,排程臺功能也會有非常大的差別。這部分的難點是介面開發,我們採用的WPF來開發介面。WPF可以說是微軟推出的迄今為止最優秀的框架,WPF的缺點是理念有些超常,不易理解。

 

擴充套件功能:數字化的優點是方便計算機處理,易擴充套件。除了以上基本功能,還能加上許多附加功能。比如:傳圖片、視訊、傳文字等。這些都不是對講系統的主流功能;但是,如有必要,實現這些功能並不很難。對於視訊的處理,可以參見我寫的相關文章。

 後記:常言道“時勢造英雄”;有時選對方向比努力更重要。隨著網際網路+國家戰略的推進,定會湧現不少符合潮流的產業。數字對講系統應該就是符合這個潮流的產業之一。 提前佈局,才能佔得先機!入行幾個月來,筆者也有一點感想,一點心得,粗筆草記,權當拋磚引玉!