本文介紹卓嵐P2P物聯網解決方案的原理、產品系列、使用方法等。
P2P是(Peer to Peer)的縮寫,在計算機網絡通信中P2P是相對于服務器/客戶端模式而言的,通常的服務器/客戶端模式下有一臺強大的服務器接受大量的客戶端的連接。當客戶端之間需要通信的時候需要經由服務器轉發。這種模式當客戶端規模擴展到一定程度時對于服務器的CPU處理能力、帶寬都是很大的考驗。P2P技術可以讓客戶端之間直接通信,實現所謂的端到端(P2P)直接通信,此時中心服務器的負荷明顯降低。

如圖 1 所示,雖然P2P結構中也有一個“P2P驗證服務器”,但是該服務器只是在兩個客戶端需要通信的前期做一個身份驗證和牽線搭橋的作用,實際的數據交互都是在客戶端之間直接進行的。
互聯網應用中的下載工具BitTorrent、eMule,視頻點播PPLive、迅雷,即時通信SkyPe、QQ都采用這種技術。隨著物聯網的興起,上海卓嵐將P2P技術引入到物聯網中,并成功研發了P2P單芯片解決方案,把P2P硬件化、模塊化,為實現萬物互聯的概念邁出了重要的一步,此解決方案已經申請了國家發明專利,仿冒必究。
物聯網使用P2P技術有如下的幾點優勢。
第一,物聯網應用中,接入網絡的節點多、數量大。此時采用P2P技術可以有效降低中心節點的負荷。
第二,解決內網設備訪問難的問題。物聯網應用中采集、控制設備一般處于一個內網中,此時需要通過Internet訪問這個內網設備一般有兩種方法。(1)“動態域名”+“端口映射”。(2)架設服務器進行轉發。

如圖 2 所示,假設這里有一個物聯網智能網關,它工作于TCP服務器模式,它具有一個內網的IP地址192.168.1.200,它通過一個路由器上網,路由器的內網IP是192.168.1.1,外網IP為116.1.2.3。當用戶的手機在戶外想要通過3G/4G(Internet)訪問智能網關的時候用戶其實并不知道當前路由器的IP地址,因為這個地址是隨時可能變化的,此時就需要用到動態域名,比如在內網的一臺計算機上登錄動態域名軟件(某些路由器內部也支持動態域名),此時用戶手機可能可以通過訪問類似abc.gicp.net這樣的域名來實現訪問路由器,但是為了讓路由器將數據轉發給物聯網智能網關,還需要在路由器上做一個“端口映射”。但是某些路由器(比如電信定制網關)根本無法允許登錄路由器進行配置,另外配置也需要較強的專業知識。使用卓嵐P2P方案,可以借助P2P技術直接穿透路由器,在手機和智能網關之間建立通信,省去“動態域名”+“端口映射”的麻煩。
另一種方法是用戶通過在互聯網上租賃一臺服務器,將物聯網智能網關改為TCP客戶端模式連接到這臺服務器,手機也連接到這臺服務器然后通過服務器轉發,實際就是圖 1 所示傳統中心服務器模式。但是:
(1)架設服務器需要額外的費用,包括租賃費用和技術維護費用。
(2)需要用戶在服務器上開發一套客戶端服務器程序,系統開發和維護投入成本較大。
使用上海卓嵐的P2P方案只要購買卓嵐P2P芯片或者相關硬件產品,可以免費贈送計算機端軟件,無需進行開發和租賃服務器。一次投入成本低,產品成熟穩定。
第三,某些項目,比如遠程PLC監控、DCS系統中可能只有幾個監控點,此時沒有必要為這些獨立的項目單獨構建一個服務器。特別地,當這個采集點通過3G/4G DTU進行通信時,沒有一個固定的IP,也難以安裝動態域名軟件,此時使用基于P2P的3G/4G DTU ZLAN8343N就非常方便。
卓嵐P2P產品的特點:
1.專門為物聯網通信設計的P2P方案,以提供硬件為主,包括3G、4G、以太網、Wifi、單芯片、模塊等各類P2P產品。同時也提供相應的軟件配套開發包和程序。
2.結合多年的P2P研究成果,具有先進地P2P網關穿透算法。
3.支持多主機訪問,即多個用戶同時向設備索要數據時,不會產生混亂。數據將按照先后次序發給所需要的用戶。
4.支持Modbus TCP功能。在普通Modbus TCP轉RTU設備基礎上實現了P2P的遠程Modbus網關功能。存儲型的Modbus網關,數據自動采集并存儲在設備內部,加快了訪問/應答的速度。
5.支持用戶名、密碼方式訪問設備,實現設備的歸屬管理,防止未授權用戶的訪問。
6.計算機通信時,支持虛擬串口,適合各類工業通信和遠程數據采集系統。如果用戶原來使用串口軟件通信的,原來軟件無需修改。
7.支持計算機(ZLVircom軟件)、安卓手機、IOS手機連接設備,提供手機lib開發庫。
8.一個設備可以建立多個P2P連接,一個P2P計算機軟件可以連接多個設備。一個P2P連接可以支持同時建立多個TCP連接。
9.P2P建立以后,支持遠程管理、設置、搜索設備,方便配置設備名稱、波特率等。
10.支持P2P和傳統的TCP服務器方式共用。在一個設備處于P2P通信的時候,同時用戶也可以使用傳統的TCP工具、軟件向這個設備的IP的端口發起TCP連接,也就是說新的P2P產品兼容老的軟件用法。另外如果搜索到設備是在局域網內部,則完全可以直接建立TCP連接,無需再通過P2P進行連接。

卓嵐P2P產品系列中包含有硬件設備和芯片、軟件開發包、開發板和計算機軟件。P2P設備分為兩大類:一類是將網絡數據透傳到設備RS232/485串口的;另外一類是可以將網絡過來的數據轉發給局域網中另外一個IP的網絡設備的。
第一類包含大多數產品,將串口設備(RS232、RS485、UART)連接到P2P成品、P2P芯片的串口上, P2P上位機軟件可以直接和這個串口進行通信。每一個卓嵐P2P產品都具有一個全世界唯一的ID。當用戶需要通過P2P通信的時候只要在手機、計算機上填寫ID即可與設備建立P2P連接。此時從手機、計算機發送的數據將從硬件產品的RS232/RS485/UART串口輸出,反之從串口收到的數據將發給、手機、計算機。在計算機端通過zlvircom工具可以通過虛擬的TCP端口或者虛擬的串口的方法進行通信,在手機上可以通過卓嵐P2P 開發包進行通信。
第二類如圖 3 所示是N2N產品,它一般用于代理轉發局域網中TCP服務器端的網絡設備的數據,實現基于P2P的Internet傳輸。特別適合于網口PLC的監控。
成品系列包括:3G/4G、以太網、Wifi 。3G/4G產品的型號為ZLAN8343N。一般來說3G/4G DTU都要通過中心服務器通信,即將采用的數據發給服務器,此時DTU作為TCP客戶端。采用卓嵐P2P后無需構建服務器,只要在上位機上添加這個ZLAN8343N的ID即可和8343N的串口進行收發通信。除3G/4G外,8343N也具有以太網通信功能。
ZLAN5143N是一款以太網的P2P轉串口產品,只要接入以太網即可遠程和5143N的串口進行收發通信。
ZLAN7144N和ZLAN5143N類似,但是它具有wifi和以太網兩種通信方式。
為了能夠將用戶的串口設備、網絡設備變為P2P設備,卓嵐提供了P2P芯片ZLAN1043N和P2P模塊。
芯片實現了基于P2P以太網轉UART,可以方便、低成本地集成到用戶設備內部。P2P模塊分為以太網接口和WIFI/以太網雙接口。用戶可以根據需要進行選擇,型號分別為ZLSN2043BN和ZLSN7044N。模塊方案的設計比芯片要簡便一些。
N2N產品,就是Net-to-Net的簡稱,型號為ZLAN7144N2。它實現對原有的內網網口設備的訪問,而其它的P2P產品都是實現串口設備的訪問或者P2P轉串口。特別地,可以應用內網網口PLC的程序下載和升級。如圖 3 所示,當有一個網口PLC需要通過Inernet訪問時,在這個PLC的局域網內放置一個ZLAN7144N2,此時用戶就可以在任何一個具有網絡的地方訪問這個PLC,無需對內網路由器做任何的配置。
如果用戶希望自己架構一套完整的P2P系統,方便自己維護和管理,也可以購買卓嵐的P2P服務器程序。卓嵐提供詳細的服務器配置方法、步驟和培訓。購買P2P服務器軟件的好處是,用戶可以自己管理各個用戶的設備歸屬和密碼。無需再通過卓嵐P2P平臺添加設備ID、注冊用戶,客戶品牌統一性好。
為了能夠用戶能夠方便地開發出基于P2P硬件的手機軟件,卓嵐提供有P2P手機SDK開發包。分別有安卓和IOS平臺,該開發包中不僅含有庫文件和說明書,也有完整地基于該庫的使用例子。對于簡單的應用只要在例子基礎上稍加修改就可以成為一個基于P2P的手機軟件。
為了用戶能夠快速測試和檢驗P2P模塊、P2P芯片的功能,并進行開發。卓嵐提供有P2P SDK開發板。結合手機庫可以開發出想要的遠程智能采集和控制系統。詳細參考開發板說明書。開發板上具有按鍵輸入、模擬量采集、溫度采集輸入、繼電器輸出等。內嵌一個51 MCU,51MCU串口和P2P模塊串口連接。可以方便用戶開發基于自己的單片機控制程序。
這是一個windows版本的P2P設備管理和P2P虛擬串口工具。在這個軟件里可以添加P2P設備的ID,并且將這個ID和某個虛擬的串口(比如COM5)綁定,這樣用戶的軟件可以打開COM5和遠處連接到P2P產品串口的RS485/232設備通信。通過zlvircom工具,你可以遠程修改P2P設備的參數,如波特率等,也可以通過P2P遠程升級程序。
這個軟件是手機上的P2P管理軟件,實現了zlvircom類似的功能,只不過它是在安卓和IOS手機上運行的,另外它不具有虛擬串口功能。用戶的手機組態軟件可以通過這個軟件和遠程的P2P設備建立TCP連接,特別地,用于建立Modbus TCP通信,采集遠程設備的寄存器。
P2P產品的設備端基本無需設置。只要將設備上電,此時設備會從網絡中獲得一個ip地址,然后設備就等待遠程的zlvircom等軟件的通信了。如果設備已經就緒此時設備的LINK燈會藍色閃爍,該指示燈方便用戶檢查設備是否處于正常狀態。
如果需要更進一步的配置請注意以下幾點:
1.用戶可以自己關閉和開啟P2P功能:方法是使用zlvircom搜索設備,進入設備編輯對話框。點擊“更多高級選項”將“啟用P2P”勾選擇上或者取消。
2.注意一般工作模式需要選擇為TCP Server模式,否則P2P功能會被自動禁用。
3.請注意設置正確的串口波特率等串口參數。
在計算機上運行具有P2P功能的zlvircom_p2p_pc軟件,進入zlvircom的設備管理界面。點擊 “P2P設備”彈出添加P2P設備對話框。
點擊添加按鈕,彈出添加P2P設備對話框。
輸入設備ID用戶名和密碼。其中模擬端口是在本地計算機上虛擬一個TCP端口,這樣計算機上的用戶軟件可以連接到這個虛擬的端口后發送和接收遠程串口的數據。點擊“添加”按鈕。過一會兒就可以看到P2P的狀態已經變為“內網”方式(是否為“內網”需要根據網絡情況來定)。
此時點擊返回,然后點擊自動搜索可以和本地局域網設備一樣去管理和修改P2P的設備。注意P2P設備的類型顯示為“手動”。
卓嵐P2P支持多個用戶添加一個ID,添加后也可以允許多個TCP連接到同一個模擬端口。
如果不希望通過模擬的TCP端口訪問P2P設備,而是使用虛擬串口訪問設備,那么設置的方法和普通的串口服務器是類似的。即在設備管理對話框中選中一個設備,進入設備編輯對話框,然后將這個設備和某個虛擬串口(比如COM5)綁定即可。卓嵐P2P虛擬串口同樣支持自適應串口參數。
在很多應用,比如智能家居應用,需要多個用戶去索要一個串口設備(即卓嵐P2P產品的串口接的設備)的數據,此時需要將返回的數據準確地返回給詢問者。不能夠產生返回數據同時發給所有人的簡單處理辦法。此時就需要啟用多主機功能。啟用的方法是,進入設備編輯對話框的“更多高級選項”,勾選RS485多主機支持,填寫多主機時間為256ms。
Modbus網關是一種將Modbus RTU(一般是RS485/232通信)通信轉化為Modbus TCP(以太網/Wifi等)通信的轉換器。在網絡端,Modbus網關是一個TCP服務器,所以傳統的方法想要通過internet訪問Modbus網關是比較困難的。
卓嵐的P2P系列產品都支持Modbus網關功能,即當它作為Modbus網關時,仍然可以通過遠程P2P的方式實現通信。需要設置Modbus網關時,進入設備編輯對話框,在高級選項中將轉化協議選擇為“Modbus TCP轉RTU”。
通過以上的介紹相信讀者已經對卓嵐P2P解決方案有了一個大概的認識。下面我們介紹幾個典型的應用案例。
某智能家居公司,之前采用TCP服務器的方式智能家居網關,雖然在家里用戶可以手機訪問這個智能家居網關,但是如果在戶外訪問智能家居網關則比較麻煩。此時將卓嵐的ZLAN1043N單芯片嵌入到該智能家居網關中,結合卓嵐的安卓、IOS手機庫可以方便的升級原來的手機軟件。此后再也不用擔心某些用戶的路由器無法做端口映射的棘手問題。由于用戶P2P設備較多,希望自己架設P2P驗證服務器,用戶從卓嵐購買P2P服務器軟件后組建了自己所有的完整的P2P系統。
某公司使用手機組態軟件對某農業物聯網項目進行監控,包括農業大棚的溫度,控制澆灌等。但是此手機組態軟件無法通過3G/4G訪問物聯網網關。此時采用卓嵐ZLAN5143N,連接各種Modbus RTU的儀表和控制器。在手機上運行手機端P2P管理軟件ZLP2pSDK,用戶可以方便地在任何地方都可以監控農業大棚的狀態。
某機械廠生產的機械上裝有各類的PLC和觸摸屏,其中有PLC和觸摸屏都有網口和串口的。為了遠程升級程序、調試程序經常需要派工程師到現場調試。通過安裝ZLAN5143N后可以遠程調試和升級串口PLC和串口屏,通過安裝ZLAN7144N2后可以遠程調試和升級網口屏。省去了出差的麻煩。
某公司做野外地質災害和安全報警項目,由于在野外必須采用3G/4G網絡。但是3G/4G網絡的IP地址是變化的,需要采用上傳到服務器的方法。但是該項目只有幾個數據采集點,專門租賃一個服務器不合算,維護成本也高。在現場安裝ZLAN8343N這個基于P2P的3G/4G DTU后立即解決了問題,成本低、實施方便、維護成本低。
某高校電子創意大賽,某參賽隊伍需要制作一個自動化澆花系統,即通過手機、計算機軟件自動能夠控制家庭中的陽臺的澆花系統。由于是創新、創業型項目,需要用最低的成本、最直接、最簡便的方法實現該系統的網絡控制部分。傳統的TCP轉串口方法難以實現外網訪問內網設備。該團隊使用了P2P開發板,P2P開發板上有自帶的繼電器,利用該繼電器可以控制澆花電機。在卓嵐手機P2P的demo基礎上稍加修改,發送自己想要的控制指令。使用該開發板該團隊快速地實現了創新項目。
