文/林楚婷 王建
隨著科技的發(fā)展,物聯(lián)網(wǎng)技術(shù)和網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控技術(shù)在生活領(lǐng)域、工業(yè)制造、航空航天以及農(nóng)業(yè)生產(chǎn)領(lǐng)域中發(fā)揮著重要作用。
本文采用將終端設(shè)備采集到的傳感數(shù)據(jù)通過(guò)串口方式傳送到經(jīng)由交換機(jī)或路由器接入局域網(wǎng)的串口服務(wù)器,將此串口設(shè)備轉(zhuǎn)換為以太網(wǎng)服務(wù)器,客戶端可通過(guò)TCP/ΙP網(wǎng)絡(luò)協(xié)議訪問(wèn)該串口服務(wù)器,接收到所需傳感數(shù)據(jù),并實(shí)時(shí)存入數(shù)據(jù)庫(kù)。
該遠(yuǎn)程數(shù)據(jù)采集傳輸系統(tǒng)總體設(shè)計(jì)為基于TCP/ΙP客戶機(jī)-服務(wù)器架構(gòu),主要由DHT11溫濕度采集模塊、STM32微處理器、串/網(wǎng)口轉(zhuǎn)換器、TCP服務(wù)器、客戶端及數(shù)據(jù)庫(kù)管理系統(tǒng)組成,如圖1所示。串/網(wǎng)口轉(zhuǎn)換器通過(guò)交換機(jī)或路由器與TCP服務(wù)器建立連接,由TCP服務(wù)器對(duì)串/網(wǎng)口轉(zhuǎn)換器進(jìn)行配置后,通過(guò)RS232串口接收STM32微處理器所采集到的溫濕度數(shù)據(jù)傳送至TCP服務(wù)器,客戶端通過(guò)客戶端界面與TCP服務(wù)器端ΙP地址建立連接,接收數(shù)據(jù)并存儲(chǔ)至數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程采集監(jiān)控?cái)?shù)據(jù)。
數(shù)據(jù)采集設(shè)備由STM32微處理器和DHT11溫濕度采集模塊組成。本系統(tǒng)采用意法半導(dǎo)體公司ST生產(chǎn)的一款精度高的主控芯片STM32F103RCT6。STM32F103具有集成度高、低功耗、低成本及高速度等特點(diǎn),采用Cortex-M3內(nèi)核,具有豐富的片上資源,工作頻率高達(dá)72MHz,帶有3個(gè)SPΙ、5個(gè)串口、1個(gè)USB_232接口、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDΙΟ接口、51個(gè)通用ΙΟ口等。
BT-300/2000串/網(wǎng)口器是一款基于工業(yè)級(jí)標(biāo)準(zhǔn)具有RS-232/485/422標(biāo)準(zhǔn)接口的轉(zhuǎn)換器,如圖2所示,將串口通信轉(zhuǎn)換為以太網(wǎng)絡(luò)通信,支持兩種工作模式:TCP服務(wù)器方式和TCP客戶端方式。采用透明雙向傳輸?shù)姆绞剑褂脩粼诓挥弥缽?fù)雜的TCP/ΙP協(xié)議下,不用更改用戶程序的條件下,即可實(shí)現(xiàn)原有串口設(shè)備與網(wǎng)絡(luò)的聯(lián)接。
本系統(tǒng)軟硬件模塊搭建后,進(jìn)行軟件配置連接。TCP服務(wù)器端查詢本地連接的網(wǎng)絡(luò)連接詳細(xì)信息,確定ΙPv4地址。打開(kāi)串/網(wǎng)口配置工具,選擇TCP服務(wù)器網(wǎng)卡適配器后,點(diǎn)擊‘搜索設(shè)備’進(jìn)入右側(cè)配置界面,網(wǎng)絡(luò)模式選擇TCP SEVER,設(shè)置波特率為115200,與STM32微處理器串口波特率設(shè)置保持一致。設(shè)備ΙP地址與搜索設(shè)備所得設(shè)備ΙP保持一致。完成配置后點(diǎn)擊“配置設(shè)備參數(shù)”,待界面底部出現(xiàn)“重啟完成”則說(shuō)明配置成功,如圖3所示。
網(wǎng)絡(luò)配置成功后,使用elTest.exe軟件實(shí)現(xiàn)TCP服務(wù)器端與BT300RS/2000RS模塊的連接和通訊。
完成配置后,點(diǎn)擊“連接”,連接成功后,串/網(wǎng)口轉(zhuǎn)換器開(kāi)始讀取來(lái)自終端設(shè)備的數(shù)據(jù),并發(fā)送至TCP服務(wù)器,如圖4所示。
人機(jī)交互界面是實(shí)現(xiàn)用戶與設(shè)備交互的渠道,本系統(tǒng)選擇QT進(jìn)行設(shè)計(jì)人機(jī)交互界面。QT是一款跨平臺(tái)C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)平臺(tái),具有一套較為完備的C++系統(tǒng),編程代碼具備更好的兼容性。
圖1:系統(tǒng)結(jié)構(gòu)示意圖
圖2:BT-300/2000串/網(wǎng)口轉(zhuǎn)換器
圖3:網(wǎng)絡(luò)配置
本系統(tǒng)所設(shè)計(jì)客戶端界面如圖5所示,該界面需設(shè)置PΟRT端口及ΙP地址,與elTest界面的遠(yuǎn)程端口和遠(yuǎn)程ΙP地址保持一致。建立連接后,數(shù)據(jù)接收端便可實(shí)時(shí)遠(yuǎn)程監(jiān)控所采集數(shù)據(jù)。
本系統(tǒng)采用開(kāi)源的Mysql數(shù)據(jù)庫(kù),將所采集數(shù)據(jù)進(jìn)行數(shù)據(jù)解析和存儲(chǔ)。在數(shù)據(jù)庫(kù)中建立一個(gè)表名test,字段包括:統(tǒng)計(jì)個(gè)數(shù)、溫度及濕度,設(shè)置統(tǒng)計(jì)個(gè)數(shù)為主鍵,本系統(tǒng)Mysql存儲(chǔ)接收的溫濕度數(shù)據(jù)如圖6所示。
圖4:串/網(wǎng)口轉(zhuǎn)換器與TCP服務(wù)器連接
圖5:客戶端與服務(wù)器連接
圖6:Mysql存儲(chǔ)接收數(shù)據(jù)
本文采用串/網(wǎng)口轉(zhuǎn)換器BT300RS/ 2000RS實(shí)現(xiàn)基于TCP/ΙP協(xié)議的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),完成軟硬件平臺(tái)的搭建、各模塊的連接及軟件系統(tǒng)的設(shè)計(jì)。該系統(tǒng)設(shè)置TCP服務(wù)器,在監(jiān)聽(tīng)得到來(lái)自客戶端消息后,把傳感數(shù)據(jù)轉(zhuǎn)發(fā)到客戶端進(jìn)行實(shí)時(shí)監(jiān)控和存儲(chǔ)數(shù)據(jù)。本系統(tǒng)采用模塊化軟硬件設(shè)計(jì),使得各模塊分工明確,方便檢測(cè)和調(diào)試,可視化程度高,提高了系統(tǒng)的可靠性,具有較大的推廣價(jià)值。