胡家明
(貴州高質云檢信息科技有限公司,貴陽550000)
打造全國頂尖的檢驗檢測認證大數據服務平臺,集在線下單、填寫委托、支付、物流等服務。檢驗檢測平臺保障人們吃得安心,住的放心,用的省心,提升檢驗檢測機構的綜合能力是時代的需要。利用“物聯網”技術,通過將無線終端、攝像設備、煙感設備、緊急求助設備等傳感探測設備與自動滅火裝置等予以整合聯動,通過“智能化”消防和服務功能相結合實現在線監督管理,智能化預警,遠程監測[1];有文獻通過互聯網與居家養老服務模式相結合全面提升老人生活水平[2];有文獻提出一種基于物聯網技術的移動網絡感知系統,多種網絡制式傳輸[3];有文獻使用物聯網計算探究計算機網絡安全實現對結構和框架的梳理,對本文設計提供的指導思路[4];有文獻網關采用硬件TCP/IP設計方案,交換機可支持8個TCP/IP客戶端訪問并預留有多類接口,接入方便、性價比高[5]。
在檢測機構中有成百臺PC機用于處理及分析各大型儀器設備生成的數據。檢測設備通過分離、采集被測物信息由COM口與PC機連接,在PC端生成PDF文檔,設備很難實現PDF文檔無線傳送至云端,所以需要通過Python腳本將PDF文檔解析成列表。解析后的列表利用Python中的正則規則封裝成Json格式發送。實驗室設備與PC機都是通過網線或串口線直連通信,在加裝前置機后,數據通過TCP/IP協議發送至前置機,實驗室的每個PC機與機房安裝的前置機實現局域網通信,前置機接受到數據發送至云端服務器,實現對數據遠程存儲。系統結構框圖如圖1所示。

圖1 系統總體結構框圖Fig.1 Overall structure diagram of the system
對一些物體或環境,需要了解其信息,人類的感官很難直接感受。傳感器設備代替人類感知,就是物聯網的感知層。通過傳感器去感知樣品成分,分析出數據,網絡層通過感知層協議實現與服務器數據通信,應用層實現樣品數據的顯示。通過物聯網的3層架構實現信息化平臺的連接,如圖2所示。

圖2 物聯網網絡架構圖Fig.2 Internet of Things network architecture diagram
實驗室的檢測數據通常以PDF格式保存,為實現檢測檢驗信息化,需要將生成的PDF文檔格式數據實現遠端存儲,為了減少數據失真、保證傳送的實時性,通過Python腳本將PDF文檔轉為列表,所有元素放在一對中括號中,并使用逗號分隔開;再通過對不同數據類型使用正則規則進行解析,實現對特征興趣的數據、字符的匹配,然后封裝成Json發送數據。PDF文檔解析如圖3所示。

圖3 PDF文檔解析流程圖Fig.3 PDF document parsing flow chart
設計使用pdfplumber庫對于PDF文檔解析,對文檔按行掃描,轉換成文本信息。在設計中首先得在電腦的DOS系統上安裝pip install pdfplumber,庫安裝之后就可以在pyCharm上實現程序運行。
設計針對實驗室操作人員實現檢驗檢測數據遠程傳送。所以需要設計使用界面,根據Python就有非常多的圖形化編程庫選用PyQt5兼容Python程序通過PyChram的tools實現與QT5的聯合開發,腳本上可調用PyQt5庫實現界面設計。
為了保證本地數據的安全可靠,減少外網攻擊,設置一道網關實現數據上的安全可信,既保證的數據不受外網的入侵,也實現數據遠程存儲、訪問的功能。數據在傳輸中屬于物聯網領域的傳輸層,采用TCP/IP協議發送數據。
電腦與設備之間通信交流需要雙方約定協議才能實現數據收發。物聯網架構在傳輸層設計中主要協議有TCP和UDP 2種協議,對于UDP協議采用發報文的形式,但由于數據包發送時不能對其發送結果進行驗證并且在一次發送中數據的載量相對于TCP協議不大,所以本次設計在傳輸層使用TCP協議傳輸。
TCP協議提出的一種端到端的字節流通信協議,客服端與服務器為保證數據傳輸的可靠性,將每個數據包定義一個序號,保證雙方能夠按序號通信。服務器收到一個序號之后返回一個ACK確認第一次握手成功;如果客戶端在心跳包時間內未收到服務器返回數據則連接失敗,繼續重傳。這樣保證了數據的正確性和合法性。在雙方通信中采用3次握手協議建立連接。TCP3次握手的過程如圖4所示。

圖4 TCP/IP三次握手Fig.4 TCP/IP three handshakes
通過TCP協議建立實驗室PC機與前置機通信,實現數據傳輸。實驗仿真使用手機終端建立AP熱點可實現多臺PC機處于共同的網段下相互通信。手機AP熱點分配給連接的PC機IP地址。通過指定IP對特定的PC機建立通信連接。
實現前置機與云端通信對于TCP/IP應用層常用HTTP協議。服務器和客戶端之前建立連接需要由客戶端向服務器發起請求消息,服務器接受到請求返回響應消息。如圖5所示,客服端發送請求報文和服務器返回響應報文格式。

圖5 HTTP請求和響應報文格式Fig.5 HTTP request and response packet format
Http協議傳輸有8種不同的方法獲取指定的資源,在使用中主要應用有GET方法和POST方法。雖然在定義上2個方法不同,但在使用上并沒有明顯的界限,所以使用POST方法實現數據的上傳。
將實驗室檢測數據發送至云服務器,實現在線云存儲,減少實驗室數據存儲負擔,而且可實現遠程訪問,為后續客戶打印電子報告提供數據支撐。
云服務器是系統環境中運行的虛擬服務器,通過互聯網對計算機遠程操控,依靠配置多樣、獨立和快速的運算環境能夠實現安全、高效的彈性計算服務。云服務器提供獨立的運算、存儲和托管等基礎設施服務,但是由于組成結構較為復雜,有很多的集群節點組成,每一個集群節點又由很多的硬件構成。依靠強大的硬件設施提供虛擬化云盤、動態資源調度,提升檢測企業業務辦理綜合能力。云服務器架構如圖6所示。

圖6 云服務器框架Fig.6 Cloud server framework
通過物聯網將實驗室檢驗檢測設備和云端連接在一起,實現實驗室檢測數據遠端存儲,在線訪問等功能。功能需要完成實驗室設備數據PDF解析、封裝Json格式、操作人機界面設計、與前置機通信和云端交互。
首先實現PDF文檔解析,通過PyCharm編寫程序,PDF文檔轉換字符串,以“\n”換行符實現字符串分割,再轉換成列表利用正則規則封裝成Json格式發送特征數據。pdf文檔解析成字符串如圖7所示。

圖7 pdf文檔解析成字符串Fig.7 PDF documents parse into a string
使用pyQt5設計人機操作界面,生成exe應用程序。設置好前置機的IP地址和端口號,實驗室電腦通過設置對應的固定IP地址與前置機進行通信。操作人員只需在操作界面上發送數據至前置機,如圖8所示。

圖8 人機操作界面Fig.8 Operation interface
使用筆記本模擬機房中的前置機,實現多臺設備發送數據。實驗室PC機客戶端把數據封裝成JSON格式,以字符串、數字、對象、數組等形式把數據上傳至前置機數據庫,整個傳送過程全在局域網內實現,保證實驗室電腦不受外網入侵。多臺設備與模擬前置機數據通信如圖9所示。

圖9 多設備運行聯合通信Fig.9 Multiple devices joint communications
數據發送至云端實現遠端存儲,格式實時分類存儲,生成電子報告,提高檢驗檢測報告的安全、可信地存儲、查驗的能力,如圖10所示。

圖10 云端顯示數據Fig.10 Data display on cloud
前端界面以實驗室檢測檢驗數據為支撐,為客戶提供檢驗檢測認證、設備共享、專家咨詢、星級評價、強制檢定、檢定校準、信息庫、報告管理、交易維權、意見建議等方面服務,依托食品安全云和實驗室信息管理平臺,構建了以檢驗檢測認證服務為核心,并整合第三方資源平臺如線上線下支付體系、在線客服、物料體系、機構化標準數據、第三方實驗室信息管理系統,實現企業在線檢測、認證、設備共享、信息咨詢、在線支付、在線物流、在線報告等一列服務。檢驗檢測信息化平臺如圖11所示。

圖11 檢驗檢測信息化平臺搭建Fig.11 Construction of information platform for inspection and testing
本文設計實現了將實驗室檢測數據生成的PDF文檔,在PC端使用PyQt5設計的人機操作界面一鍵發送至云端,實現遠程存儲,遠程訪問,安全可信的在線生成電子報告,為搭建檢測檢驗信息化平臺提供了數據支撐,可建成檢驗檢測認證公共服務平臺,打造以檢驗檢測認證業務、培訓、咨詢、信息化產品、儀器、耗材、信息庫、星級評價、強檢、校準為一體的綜合服務平臺,提供在線全流程無紙化檢測;完成平臺食品板塊無紙化線上檢測下單、其他板塊提供在線咨詢服務,如認證服務、設備共享、橋梁、環境檢測等服務內容上線。