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