基于嵌入式Linux的遠程數據采集系統
3.2 應用軟件的開(kāi)發(fā)
在 Qt/Embedded 開(kāi)發(fā)環(huán)境下,用C++語(yǔ)言編寫(xiě)應用程序,主要實(shí)現數據采集分析存檔 和遠程通訊。本系統通過(guò)以太網(wǎng)實(shí)現主機和客戶(hù)機的連接,考慮到嵌入式系統有限的軟硬件 資源,網(wǎng)絡(luò )通訊協(xié)議不能直接使用現有的TCP/IP 協(xié)議族,其過(guò)于龐大復雜,我們只需要使 用其中的一部分協(xié)議,并對其進(jìn)行簡(jiǎn)化。
嵌入式 Linux 中的網(wǎng)絡(luò )層次分為用戶(hù)進(jìn)程、套接字、網(wǎng)絡(luò )協(xié)議和網(wǎng)絡(luò )設備4 個(gè)層次[4]。 其中BSD 套接字由處理BSD socket 的通用套接字管理軟件來(lái)處理,并由INET socket 層來(lái) 支持,這一層為基于IP 的協(xié)議TCP 和UDP 提供端到端傳輸管理。UDP 是一個(gè)無(wú)連接協(xié)議 而TCP 是個(gè)可靠的端對端協(xié)議,IP 層包含了實(shí)現Internet 協(xié)議的代碼,這些代碼為要傳輸 的數據加上IP 頭,并把傳入的IP 包送給TCP 或UDP。在IP 層以下,是支持所有網(wǎng)絡(luò )應用 的設備層,如PPP、以太網(wǎng)等,建立一個(gè)有相應的以太網(wǎng)設備驅動(dòng)在內的內核后,就可以看 到/dev/eth0。ARP 協(xié)議位于IP 層與支持ARP 的底層協(xié)議之間,它負責把IP 地址解釋成底 層網(wǎng)絡(luò )設備可以辨認的地址。
系統加電后就開(kāi)始運行,系統初始化完成后,就開(kāi)始接收傳感器發(fā)送的信號,轉換成相 應數據并保存;socket 接口實(shí)現通信是基于客戶(hù)機/服務(wù)器模式下進(jìn)行的,根據客戶(hù)機的要 求,執行指定的操作或將采集來(lái)的數據發(fā)送給客戶(hù)機,實(shí)現了遠程實(shí)時(shí)監控,具體流程如圖 4 所示。
4 結論
本文作者創(chuàng )新點(diǎn)是構建的數據采集系統具有較強的遠程數據處理能力和實(shí)時(shí)性,所使用 的嵌入式Linux 操作系統可支持TCP/IP, PPP 等網(wǎng)絡(luò )協(xié)議,增強了系統的遠程分析和監控能 力。以后還需對本系統的嵌入式TCP/IP 協(xié)議棧進(jìn)行改進(jìn),并用對多路傳感器信號的采集和 處理來(lái)驗證系統的穩定性和傳輸采集數據的性能。
參考文獻:
[1].S3C2410Xdatasheethttp://www.dzsc.com/datasheet/S3C2410X_589566.html.
[2].ARM920T datasheethttp://www.dzsc.com/datasheet/ARM920T+_139814.html.
[3].RISC datasheethttp://www.dzsc.com/datasheet/RISC+_1189725.html.
[4].ADS8344datasheethttp://www.dzsc.com/datasheet/ADS8344_1095417.html.
[5].PC datasheethttp://www.dzsc.com/datasheet/PC+_2043275.html.
[6].device datasheethttp://www.dzsc.com/datasheet/device+_1397784.html.
評論