掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
目前,大多數(shù)遠(yuǎn)程測(cè)控系統(tǒng)中,系統(tǒng)的硬件采用8/16位的單片機(jī),軟件多采用匯編語(yǔ)言編程,該編程僅包含一個(gè)簡(jiǎn)單的循環(huán)處理的控制流程;單片機(jī)與單片機(jī)(或上位機(jī))之間的通信通過(guò)RS232、RS485或CAN總線來(lái)組成局域網(wǎng),再用Pc機(jī)作為 Web服務(wù)器,與Internet進(jìn)行通訊。這樣的遠(yuǎn)程測(cè)控設(shè)備成本高、體積大、速度慢、功耗大?,F(xiàn)在,32位嵌入式CPU價(jià)格已下降,性能指標(biāo)也有提高,為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能性?;谏鲜銮闆r,我們將嵌入式系統(tǒng)應(yīng)用于遠(yuǎn)程測(cè)控系統(tǒng),大大提高了測(cè)控系統(tǒng)的性能,同時(shí)降低了成本和功耗,體積也大大減小。
嵌入式系統(tǒng)一般應(yīng)用嵌入式操作系統(tǒng)來(lái)開(kāi)發(fā)。在嵌入式操作系統(tǒng)的選擇上,由于Linux有完整開(kāi)放的源代碼,因而它具有修改和優(yōu)化系統(tǒng)、內(nèi)核穩(wěn)定、適用于多種CPU和多種硬件平臺(tái)、支持網(wǎng)絡(luò)等特點(diǎn),所以選擇Linux作為嵌入式操作系統(tǒng)較好。本文提出的基于 ARMlinux的嵌入式遠(yuǎn)程測(cè)控系統(tǒng)不僅能夠?qū)崿F(xiàn)本地?cái)?shù)據(jù)采集與控制,還能實(shí)現(xiàn)遠(yuǎn)程測(cè)控任務(wù)。
1、硬件系統(tǒng)
硬件系統(tǒng)如圖1。S3C2410包含一個(gè)16/32-bit的Risc(ARM920T)的CPU內(nèi)核,主頻200Hz,內(nèi)部含有8通道1O位AD轉(zhuǎn)換器和大量的I/O口、LCD控制器等豐富接口,能運(yùn)行Ucosll、ARMlinux和Wince嵌入式操作系統(tǒng),DM 9OOO是10M/100M以太網(wǎng)接口控制芯片。本硬件系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低,不需要Pc機(jī)就可直接接入Internet。
2、軟件系統(tǒng)
嵌入式操作系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心。本系統(tǒng)選擇ARMlinux系統(tǒng)。由于嵌入式系統(tǒng)的存儲(chǔ)容量很小,因此要把ARMLinux操作系統(tǒng)裝入有限的存儲(chǔ)器內(nèi),就要對(duì)它進(jìn)行裁剪。很多資料對(duì)此都有論述,這里就不再累述。下面主要介紹基于操作系統(tǒng)上的遠(yuǎn)程測(cè)控軟件設(shè)計(jì)。其體系結(jié)構(gòu)如圖2。
2.1 基于Boa的Web服務(wù)器
嵌入式linux主要有三個(gè)web Server:Hapd、Thttpd和Boa。Httpd是最簡(jiǎn)單的一個(gè)web Server。它的功能最弱,不支持認(rèn)證,不支持CG1。Thttpd和Boa都支持認(rèn)證、CGI等,功能都比較全。Boa是一個(gè)單任務(wù)的小型Httpd 服務(wù)器,源代碼開(kāi)放、性能優(yōu)秀,特別適合應(yīng)用在嵌入式系統(tǒng)中。下面介紹Boa的移植與編譯。
對(duì)于有MMU嵌入式linux,把Boa下載到Redhat宿主機(jī)上后,解壓到任意目錄,再修改Boa/src/Makefde里面的編譯器。例如:
CC=/opfhosfarmv41/bin/armv41—unkllown—linux—gcc
CPP=/opt/host/army41/bin/armv41—unknown—linux—g++
此后直接在Boa/src目錄下執(zhí)行make即可生成Boa可執(zhí)行文件。將其復(fù)制到ramdisk加載mount的目錄的bin里面后,等一同加入配置文件和HTML/CGI文件后,重做ramdisk即可。[!--empirenews.page--]
配置文件Boa.conf的編制見(jiàn)下。
需要說(shuō)明的是,Linux下的應(yīng)用程序的配置都是以配置文件的形式提供的,~般都是放在目標(biāo)板/ete/目錄下或者/ctc/config目錄下,但Boa 的配置文件Boa.conf一般都放置在目標(biāo)板/home/httpd/目錄下。本系統(tǒng)Boa.conf文件的編寫(xiě)程序?yàn)椋?br />
ServerName S A M S U N G—A R M
DocumentRoot/home/httpd/cgi—bin/
ScfiptAlias/index.html/home/httpd/html/index.html
它指定了HTML頁(yè)面index.html必須放/home/httpd/html目錄下,CGI可執(zhí)行文件必須放到/home/httpd/cgi~bin目錄下。
2.2 CGI程序技術(shù)原理
CGI(Common Gateway Interface)是外部擴(kuò)展應(yīng)用程序與WWW服務(wù)器交互的一個(gè)標(biāo)準(zhǔn)接口。按照CGI標(biāo)準(zhǔn)編寫(xiě)的外部擴(kuò)展應(yīng)用程序可以處理客戶端瀏覽器輸入的數(shù)據(jù),從而完成客戶端與服務(wù)器的交互操作。而CGI規(guī)范定義了Web服務(wù)器如何向擴(kuò)展應(yīng)用程序發(fā)送消息,在收到擴(kuò)展應(yīng)用程序的信息后又如何進(jìn)行處理等內(nèi)容。通過(guò) CGI可以提供許多靜態(tài)的Html網(wǎng)頁(yè)無(wú)法實(shí)現(xiàn)的功能。其www與CGI的工作原理如下。
HTTP協(xié)議是WWW的基礎(chǔ),它基于客戶/服務(wù)器模型。一個(gè)服務(wù)器可以為分布在網(wǎng)絡(luò)各處的客戶提供服務(wù)。它是建立在TCP/IP協(xié)議之上的“無(wú)連接”協(xié)議。每次連接只處理一個(gè)請(qǐng)求。當(dāng)一個(gè)請(qǐng)求到來(lái)時(shí),便創(chuàng)建一個(gè)子進(jìn)程為用戶的連接服務(wù)。根據(jù)請(qǐng)求的不同,服務(wù)器會(huì)返回HTML文件或通過(guò)CGI凋用外部應(yīng)用程序,返回處理結(jié)果。服務(wù)器通過(guò)CGI與外部程序和腳本之問(wèn)進(jìn)行交互,根據(jù)客戶端在進(jìn)行請(qǐng)求時(shí)所采取的方法,服務(wù)器會(huì)收集客戶所提供的信息,并將該部分信息發(fā)送給指定的CGI擴(kuò)展程序。CGI擴(kuò)展程序?qū)π畔⑦M(jìn)行處理并將結(jié)果返回服務(wù)器。服務(wù)器對(duì)信息進(jìn)行分析后,將結(jié)果發(fā)送網(wǎng)客戶端。
外部CGI程序與www服務(wù)器進(jìn)行通信、傳遞有關(guān)參數(shù)和處理結(jié)果是通過(guò)環(huán)境變量、命令行參數(shù)和標(biāo)準(zhǔn)輸入來(lái)進(jìn)行的。服務(wù)器提供了客戶端(瀏覽器)與CGI擴(kuò)展程序之問(wèn)的信息交換的通道。客戶的請(qǐng)求通過(guò)服務(wù)器的標(biāo)準(zhǔn)輸出傳送給CGI的標(biāo)準(zhǔn)輸入。CGI對(duì)信息進(jìn)行處理后,會(huì)將結(jié)果發(fā)回到它的標(biāo)準(zhǔn)輸入,然后由眼務(wù)器將處理結(jié)果發(fā)送給客戶端。
2.3 CGI外部擴(kuò)展程序的編制
服務(wù)器程序可以通過(guò)三種途徑接收信息:環(huán)境變量、命令行和標(biāo)準(zhǔn)輸入。具體使用哪一種方法要由標(biāo)簽的Method屬性來(lái)決定。在“Method=GET”時(shí),向CGI程序傳遞表單編碼信息的正常做法是通過(guò)命令來(lái)進(jìn)行的。
大多數(shù)表單編碼信息都是通過(guò)Qucry-String的環(huán)境變量來(lái)傳遞的。如果“Method=POST”,表單信息將通過(guò)標(biāo)準(zhǔn)輸入來(lái)讀取。還有一種不使用表單就可以向CGI傳送信息的方法。那就是把信息直接追回在URL地址后面,信息和URL之間用問(wèn)號(hào)(?)來(lái)分隔。本測(cè)控系統(tǒng)采用的是GET方法。下面是遠(yuǎn)程控制LED閃爍快慢的程序。其網(wǎng)頁(yè)如下頁(yè)圖3,其程序如下。
;LED測(cè)試
<input type=“radio”name=“speed”value=“show”checked>慢速
<input type=“radio”name=“speed”value=“normal”>中速
<input type=“radio”name=“speed”value=“rast”>高速
<input type=“submit”value=確定“name=”submit>
其中l(wèi)eds.cgi程序如下:
#! /bin/sh
Period=1+case $QUERY-STRING in
*slow*)
period=0.25
;;
* normal *)
period = 0.125
?。?;
* fast *
period=0.0625+;;
*fast * ) + period =0.0626
;;
esac
/bin/echo $ period ? /tmp/led-control//通過(guò)Query_String的環(huán)境變量傳遞給應(yīng)用程序。
echo “Content-type:texe/html;charset=gb2312”
echo
/bin/cat led =result.template
exit 0
led—control是編譯好的可執(zhí)行的應(yīng)用程序,通過(guò)led驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)LED的控制。因?yàn)镾3C2410有MMU,所以通過(guò)操作系統(tǒng)來(lái)對(duì)硬件控制需要驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。其數(shù)據(jù)采集部分也類(lèi)似,不再單獨(dú)說(shuō)明。[!--empirenews.page--]
圖3 實(shí)驗(yàn)結(jié)果
3、測(cè)試結(jié)果
首先建立好基于S3C2410嵌入式開(kāi)發(fā)環(huán)境,把編譯好的booloader、嵌入式linux內(nèi)核和ramdisk燒人Flash中,然后起動(dòng)Boa服務(wù)器,在PC機(jī)的瀏覽器上輸人嵌入式系統(tǒng)的IP地址,即顯示出如圖3的網(wǎng)頁(yè)。通過(guò)點(diǎn)擊慢速、中速和高速,再點(diǎn)擊確定,測(cè)控板上LED的閃爍由慢變快,圓滿實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。
4、結(jié)論
找們開(kāi)發(fā)的基于ARMLinux的遠(yuǎn)程測(cè)控系統(tǒng),在真正意義上實(shí)現(xiàn)了通過(guò)互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程測(cè)控。它具有一般通用平臺(tái)性能,特別適合實(shí)時(shí)性要求不很強(qiáng)的家電網(wǎng)絡(luò)監(jiān)控和遠(yuǎn)程工業(yè)控制。當(dāng)然隨著硬件和網(wǎng)絡(luò)速度提高及操作系統(tǒng)實(shí)時(shí)性的改善,將會(huì)大大提高此測(cè)控系統(tǒng)的性能,因此有很好的應(yīng)用前景。
大家好,我是鲏。認(rèn)識(shí)我的朋友都知道,我是一個(gè)實(shí)踐派,相比研究枯燥的理論知識(shí),我更喜歡做自己想做的項(xiàng)目,用技術(shù)來(lái)實(shí)現(xiàn)自己的想法的感覺(jué)真的很棒。所以從大學(xué)期間一直到現(xiàn)在,除了工作中的項(xiàng)目外,我依然保持著自己做項(xiàng)目的習(xí)慣,有堅(jiān)...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 技術(shù)選型 需求分析(全球TMT2022年8月30日訊)近日,在2022英特爾中國(guó)數(shù)據(jù)中心合作伙伴技術(shù)峰會(huì)上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實(shí)踐 -- 冷板液冷系統(tǒng)設(shè)計(jì)參考》白皮書(shū),分享冷板液冷技術(shù)關(guān)鍵部件的最...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 英特爾 數(shù)據(jù)中心 生態(tài)系統(tǒng)北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國(guó)數(shù)據(jù)中心合作伙伴技術(shù)峰會(huì)上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實(shí)踐 -- 冷板液冷系統(tǒng)設(shè)計(jì)參考》白皮書(shū),分享冷板液冷技術(shù)關(guān)鍵部...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 英特爾 數(shù)據(jù)中心 電量摘要:近年來(lái),受人類(lèi)活動(dòng)的影響,各大水域的水質(zhì)污染問(wèn)題越來(lái)越嚴(yán)重,大部分水資源受到嚴(yán)重污染,水質(zhì)處理問(wèn)題亟需解決。分析水體污染情況對(duì)改進(jìn)水質(zhì)有著重要意義,目前水質(zhì)監(jiān)測(cè)主要采用人工或無(wú)人船的方式。人工監(jiān)測(cè)方式工作量大,影響...
關(guān)鍵字: 水質(zhì)監(jiān)測(cè) 無(wú)人機(jī) 系統(tǒng)設(shè)計(jì)摘要:根據(jù)饒平縣高堂水閘重建工程建設(shè)實(shí)際需求,對(duì)高堂水閘運(yùn)行管理進(jìn)行實(shí)時(shí)在線式監(jiān)控與監(jiān)測(cè),通過(guò)閘門(mén)控制、視頻監(jiān)控、水情測(cè)報(bào)、安全監(jiān)測(cè)和網(wǎng)絡(luò)通信等系統(tǒng)的設(shè)計(jì),為高堂水閘的水工建筑物安全、防洪調(diào)度和自動(dòng)化管理提供技術(shù)支持,以...
關(guān)鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設(shè)計(jì)湖州2022年7月26日 /美通社/ -- 近日,浙江省科技創(chuàng)新大會(huì)在浙江省人民大會(huì)堂隆重舉行。大會(huì)正式頒布2021年度浙江省科學(xué)技術(shù)進(jìn)步獎(jiǎng),隆重表彰為浙江科技創(chuàng)新事業(yè)和經(jīng)濟(jì)社會(huì)發(fā)展做出突出貢獻(xiàn)的科技工作者及團(tuán)隊(duì)。...
關(guān)鍵字: 電梯 檢測(cè)技術(shù) 系統(tǒng)設(shè)計(jì) 零部件摘要:簡(jiǎn)要介紹了柴油發(fā)電機(jī)組和重油發(fā)電機(jī)組的構(gòu)成和主要特點(diǎn),以某發(fā)電廠重柴油發(fā)電機(jī)組系統(tǒng)設(shè)計(jì)為例,重點(diǎn)分析了重油發(fā)電機(jī)組燃油系統(tǒng)、潤(rùn)滑油系統(tǒng)、循環(huán)冷卻水系統(tǒng)、壓縮空氣系統(tǒng)的設(shè)計(jì)要點(diǎn),以提高柴油、重油發(fā)電機(jī)組的運(yùn)行效率和運(yùn)...
關(guān)鍵字: 重油發(fā)電機(jī)組 特性 系統(tǒng)設(shè)計(jì)摘要:針對(duì)一種小型消費(fèi)級(jí)水下機(jī)器人,分析了其系統(tǒng)總體設(shè)計(jì)及各關(guān)鍵子系統(tǒng)(推進(jìn)系統(tǒng)、通信系統(tǒng)、控制系統(tǒng)及其他系統(tǒng)等)設(shè)計(jì)的要點(diǎn)和方法,舉例介紹了一種五推進(jìn)器小型消費(fèi)級(jí)水下機(jī)器人。經(jīng)驗(yàn)證,該設(shè)計(jì)方法可以用于同類(lèi)型水下機(jī)器人的...
關(guān)鍵字: 推進(jìn)器 系統(tǒng)設(shè)計(jì) 五推進(jìn)器提供全面高效的電源管理建模,適用于汽車(chē)和工業(yè)應(yīng)用領(lǐng)域 加州山景城2022年5月24日 /美通社/ -- 新思科技(納斯達(dá)克股票代碼:SNPS)和Analog Devices, Inc. 近日宣布達(dá)成合作,通過(guò)...
關(guān)鍵字: ADI 電源系統(tǒng) 系統(tǒng)設(shè)計(jì) 新思科技摘要:PLC以其體積小、占用空間小、輔助設(shè)施投入少、工作可靠和維修簡(jiǎn)單等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域?,F(xiàn)介紹了一款可對(duì)鐵、鋁及顏色進(jìn)行材料分揀的裝置,分析了該分揀裝置的總體結(jié)構(gòu)設(shè)計(jì)、硬件設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)要點(diǎn)。該分揀裝置成...
關(guān)鍵字: 自動(dòng)分揀 PLC 系統(tǒng)設(shè)計(jì)