串口服務(wù)器分為RS232/RS485/RS422串口電平,通常選擇485單串口服務(wù)器的較多。如果是特殊工作需求,需要RS232/RS485/RS422三個串口相互切換。這類串口服務(wù)器的常見工作模式有TCP Server、TCP Client、UDP Client、UDP Server、HTTPD Client。
1.TCP Client模式
1) TCP Client 為 TCP 網(wǎng)絡(luò)服務(wù)提供客戶端連接。主動向服務(wù)器發(fā)起連接請求并建立連接,用于實現(xiàn)串口數(shù)據(jù)和服務(wù)器數(shù)據(jù)的交互。根據(jù)TCP協(xié)議的相關(guān)規(guī)定,TCP Client是有連接和斷開的區(qū)別,從而保證數(shù)據(jù)的可靠交換。通常用于設(shè)備與服務(wù)器之間的數(shù)據(jù)交互,是最常用的聯(lián)網(wǎng)通信方式。
2) 本模式具備主動識別連接異常的功能,當連接建立后,會有以大約15s的間隔發(fā)送的KeepAlive保活探查包,如果連接有異常中斷等情況,則會被立即檢測到,并促使306斷開原先的連接并重連。
3) 306在TCP Client模式下嘗試連接服務(wù)器并且本地端口為0時,每次都以隨機的端口發(fā)起連接。
4) 本模式支持有人自主的同步波特率功能、透傳云功能,另外還支持短連接功能。
5) 在同一局域網(wǎng)下,如果306設(shè)為靜態(tài)IP,請保持306的IP和網(wǎng)關(guān)在同一網(wǎng)段,并且正確設(shè)置網(wǎng)關(guān)IP,否則將不能正常通信。
6) 注:KeepAlive功能、同步波特率功能、透傳云功能。
2. TCP Server模式
1) TCP Server即TCP服務(wù)器。在TCP Server模式下,306監(jiān)聽本機端口,有連接請求發(fā)來時接受并建立連接進行數(shù)據(jù)通信,當306串口收到數(shù)據(jù)后會同時將數(shù)據(jù)發(fā)送給所有與306建立連接的客戶端設(shè)備,同樣TCP Server模式也有KeepAlive功能用于實時監(jiān)測連接的完整。
2) 通常用于局域網(wǎng)內(nèi)與TCP客戶端的通信。適合于局域網(wǎng)內(nèi)沒有服務(wù)器并且有多臺電腦或是手機向服務(wù)器請求數(shù)據(jù)的場景。同TCP Client一樣有連接和斷開的區(qū)別,以保證數(shù)據(jù)的可靠交換。
3) 本模式支持有人自主的同步波特率功能(RFC2217)功能。
4) 306做TCP Server的情況下,最多可以接受16個Client連接(連接數(shù)可自定義),本地端口號為固定值,不可設(shè)置為0。
3. UDP Client模式
1) 本工作模式從屬于UDP協(xié)議。
2) UDP Client一種無連接的傳輸協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù),沒有連接的建立和斷開,只需要制定IP和端口即可將數(shù)據(jù)發(fā)向?qū)Ψ?。通常用于對丟包率沒有要求,數(shù)據(jù)包小且發(fā)送頻率較快,并且數(shù)據(jù)要傳向指定的IP的數(shù)據(jù)傳輸場景。
3) UDP Client模式下,306只會與目標IP 的目標端口通訊,如果數(shù)據(jù)不是來自這個通道,則數(shù)據(jù)不會被306接收。
4) 在本模式下,目標地址設(shè)置為255.255.255.255,則可以達到UDP全網(wǎng)段廣播的效果;同時也可以接收廣播數(shù)據(jù);4015及以后的固件支持網(wǎng)段內(nèi)的廣播,比如xxx.xxx.xxx.255的廣播方式。
4. UDP Server模式
1) UDP Server 是指在普通UDP的基礎(chǔ)上不驗證來源IP地址,每收到一個UDP數(shù)據(jù)包后,都將目標IP改為數(shù)據(jù)來源IP和端口號,發(fā)送數(shù)據(jù)時,發(fā)給最近通訊的那個IP和端口號。
2) 該模式通常用于多個網(wǎng)絡(luò)設(shè)備都需要跟模塊通信并且由于速度頻率較快不想使用TCP的數(shù)據(jù)傳輸場景。
5. Httpd Client
在此模式下,用戶的終端設(shè)備,可以通過306發(fā)送請求數(shù)據(jù)到指定的HTTP服務(wù)器,然后306接收來自HTTP服務(wù)器的數(shù)據(jù),對數(shù)據(jù)進行解析并將結(jié)果發(fā)至串口設(shè)備。
用戶不需要關(guān)注串口數(shù)據(jù)與網(wǎng)絡(luò)數(shù)據(jù)包之間的數(shù)據(jù)轉(zhuǎn)換過程,只需通過簡單的參數(shù)設(shè)置,即可實現(xiàn)串口設(shè)備向HTTP服務(wù)器的數(shù)據(jù)請求。
Httpd Client模式具體工作示意圖和設(shè)置示例圖如下: