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