當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:隨著無(wú)線(xiàn)傳感網(wǎng)絡(luò)的迅猛發(fā)展,將嵌入式系統(tǒng)接入互聯(lián)網(wǎng)已成為無(wú)線(xiàn)傳感網(wǎng)絡(luò)研究中的熱點(diǎn),其中通過(guò)訪(fǎng)問(wèn) 嵌入式服務(wù)器網(wǎng)頁(yè)實(shí)現(xiàn)采集數(shù)據(jù)的動(dòng)態(tài)顯示是一個(gè)技術(shù)難點(diǎn)。文中采用DS18B20溫度傳感器采集溫度,在嵌入式網(wǎng)關(guān)搭建 ARM-Linux開(kāi)發(fā)平臺(tái);然后移植BOA服務(wù)器;同時(shí)利用CGI程序、Ajax技術(shù)及HTML語(yǔ)言,在上位機(jī)通過(guò)訪(fǎng)問(wèn)嵌入式網(wǎng)關(guān), 從而實(shí)現(xiàn)了對(duì)傳感器節(jié)點(diǎn)采集的溫度數(shù)據(jù)在網(wǎng)頁(yè)中的動(dòng)態(tài)顯示。實(shí)際應(yīng)用表明,該系統(tǒng)消耗CPU資源少,可減輕服務(wù)器負(fù)擔(dān),而 且無(wú)需刷新頁(yè)面更新數(shù)據(jù),因而可減少用戶(hù)實(shí)際等待的時(shí)間。

引言

當(dāng)今,以互聯(lián)網(wǎng)為標(biāo)志的嵌入式系統(tǒng)正處于一個(gè)飛速發(fā) 展的階段。嵌入式系統(tǒng)接入Internet后,相當(dāng)于一個(gè)功能齊全 的小型Web服務(wù)器,用戶(hù)在上位機(jī)打開(kāi)瀏覽器,通過(guò)Internet 即可獲取該Web服務(wù)器上的數(shù)據(jù)信息,從而實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)信 息的遠(yuǎn)程監(jiān)控,而且這種基于HTML語(yǔ)言標(biāo)準(zhǔn)化的Web用戶(hù) 界面降低了系統(tǒng)開(kāi)發(fā)、維護(hù)以及人員培訓(xùn)的費(fèi)用。

對(duì)于無(wú)線(xiàn)傳感網(wǎng)絡(luò)來(lái)說(shuō),可將嵌入式網(wǎng)關(guān)作為Web服務(wù) 器,用戶(hù)在上位機(jī)通過(guò)Internet訪(fǎng)問(wèn)網(wǎng)頁(yè)的方式獲取下位機(jī)傳 感器節(jié)點(diǎn)采集的數(shù)據(jù)?;诖?,本系統(tǒng)采用DS18B20溫度傳 感器和ZigBee無(wú)線(xiàn)通信模塊構(gòu)成無(wú)線(xiàn)傳感網(wǎng)絡(luò),以ARM9 作為核心處理器搭建嵌入式Web服務(wù)器Boa和嵌入式數(shù)據(jù)庫(kù) SQLite,采用C語(yǔ)言、HTML語(yǔ)言、JavaScript程序、CGI程序、 Ajax技術(shù),實(shí)現(xiàn)了對(duì)遠(yuǎn)端傳感器節(jié)點(diǎn)采集信息的處理、存儲(chǔ) 及在網(wǎng)頁(yè)上的動(dòng)態(tài)顯示。

1系統(tǒng)硬件整體設(shè)計(jì)

本系統(tǒng)的硬件主要由3部分組成:上位機(jī)PC端、嵌入 式網(wǎng)關(guān)(ARM9)和ZigBee無(wú)線(xiàn)網(wǎng)絡(luò),系統(tǒng)的整體設(shè)計(jì)框圖 如圖1所示。

ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)由傳感器節(jié)點(diǎn)和協(xié)調(diào)器構(gòu)成,傳感器節(jié) 點(diǎn)將采集的信息經(jīng)協(xié)調(diào)器發(fā)送至網(wǎng)關(guān),同時(shí)協(xié)調(diào)器也可接收網(wǎng) 關(guān)發(fā)送的指令進(jìn)而控制節(jié)點(diǎn)的打開(kāi)與關(guān)閉。嵌入式網(wǎng)關(guān)介于上位機(jī)和傳感器節(jié)點(diǎn)之間,它既要支持TCP/IP協(xié)議,允許用戶(hù) 通過(guò)Internet訪(fǎng)問(wèn),又要實(shí)現(xiàn)無(wú)線(xiàn)網(wǎng)絡(luò)和Internet之間的地址 映射、協(xié)議轉(zhuǎn)換和路由功能,類(lèi)似于Internet網(wǎng)關(guān)叫 由于嵌 入式網(wǎng)關(guān)CPU串口引腳不是標(biāo)準(zhǔn)RS232電平,在ZigBee與網(wǎng) 關(guān)之間需加入電平轉(zhuǎn)換電路[4]。PC端即上位機(jī)客戶(hù)端,用戶(hù) 在上位機(jī)通過(guò)瀏覽器輸入嵌入式網(wǎng)關(guān)的IP地址可進(jìn)入系統(tǒng)登 錄界面,登錄后用戶(hù)經(jīng)管理系統(tǒng)獲取傳感器節(jié)點(diǎn)采集的數(shù)據(jù), 以訪(fǎng)問(wèn)網(wǎng)頁(yè)的方式實(shí)時(shí)顯示數(shù)據(jù)信息,并可輸入指令實(shí)現(xiàn)對(duì)下 位機(jī)傳感器節(jié)點(diǎn)的控制。本文重點(diǎn)介紹嵌入式網(wǎng)關(guān)Web服務(wù) 器的設(shè)計(jì),實(shí)現(xiàn)溫度數(shù)據(jù)在上位機(jī)的動(dòng)態(tài)顯示。

基于A(yíng)RM9的嵌入式Web服務(wù)器數(shù)據(jù)動(dòng)態(tài)顯示的實(shí)現(xiàn)

2嵌入式Web服務(wù)器的搭建

硬件電路采用ARM9微處理器及外圍電路,開(kāi)發(fā)環(huán)境: MINI2440, Linux_2.6.32.2 內(nèi)核,虛擬機(jī) Redhat5,交叉編譯 版本ARM-Linux-gcc-4.3.2。主要工作包括Linux內(nèi)核移植、 根文件系統(tǒng)制作、交叉編譯工具安裝、Web服務(wù)器源碼分析等。 2.1交叉編譯工具安裝

交叉編譯即在一個(gè)平臺(tái)上編譯生成可在另一平臺(tái)運(yùn)行的 代碼。本設(shè)計(jì)包括安裝Linux系統(tǒng)的宿主機(jī)和基于A(yíng)RM MINI2440的目標(biāo)板,由于二者處理器體系結(jié)構(gòu)不同,因此需 借助交叉編譯工具在宿主機(jī)編譯生成目標(biāo)板上可運(yùn)行的機(jī)器 代碼。本系統(tǒng)使用交叉編譯工具版本為ARM-Linux-gcc-4.3.2,將其拷貝到宿主機(jī)系統(tǒng),把編譯器路徑加入環(huán)境變量保存, 重啟系統(tǒng)后在終端輸入arm-linux-gcc -v出現(xiàn)交叉編譯工具版 本信息,表示交叉編譯器安裝成功。

2.2 BOA源碼分析及安裝

Web服務(wù)器采用BOA文件生成,它能按照順序完成用戶(hù) 請(qǐng)求,支持認(rèn)證、CGI程序,其可執(zhí)行代碼約60 KB。BOA 服務(wù)器的編譯與移植如下:進(jìn)入boa-0.94-13文件夾的src 目錄,運(yùn)行configure配置安裝文件,根據(jù)Makefiles生成 Makefile文件進(jìn)行修改,再執(zhí)行make,生成可執(zhí)行程序boa 后修改/etc/boa.conf,對(duì)boa進(jìn)行配置編譯,與虛擬機(jī)etc目 錄下mine.types 一起拷貝到目標(biāo)板var目錄,執(zhí)行./boa,Web 服務(wù)器在目標(biāo)板上即可運(yùn)行。

3數(shù)據(jù)動(dòng)態(tài)顯示的實(shí)現(xiàn)

通過(guò)上位機(jī)實(shí)時(shí)顯示傳感器節(jié)點(diǎn)發(fā)送給網(wǎng)關(guān)的數(shù)據(jù)是一 個(gè)難點(diǎn),一般采用手動(dòng)或自動(dòng)刷新來(lái)實(shí)現(xiàn)數(shù)據(jù)更新,但都無(wú)法 實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)動(dòng)態(tài)顯示。本設(shè)計(jì)以采集溫度數(shù)據(jù)為例,在 網(wǎng)頁(yè)中嵌入JavaScript,采用Ajax技術(shù)實(shí)現(xiàn)溫度信息的動(dòng)態(tài)實(shí) 時(shí)顯示,節(jié)約了 CPU資源。

3.1軟件流程

在嵌入式網(wǎng)關(guān)中,通過(guò)串口采集溫度信號(hào),每個(gè)溫度數(shù) 據(jù)前面帶有設(shè)備號(hào)字符,將不同傳感器節(jié)點(diǎn)采集的溫度信息分 別存儲(chǔ)在txt文檔中,上位機(jī)通過(guò)Internet訪(fǎng)問(wèn)嵌入式網(wǎng)關(guān)讀 取txt文檔信息,并在網(wǎng)頁(yè)上動(dòng)態(tài)顯示。采用txt文檔存儲(chǔ)數(shù)據(jù), 一方面有利于在現(xiàn)場(chǎng)直接從網(wǎng)關(guān)SD卡中讀取信息;另一方面 有利于上位機(jī)編程讀取數(shù)據(jù)。其溫度動(dòng)態(tài)顯示軟件流程圖如 圖2所示。

基于A(yíng)RM9的嵌入式Web服務(wù)器數(shù)據(jù)動(dòng)態(tài)顯示的實(shí)現(xiàn)

3.2溫度信息處理

協(xié)調(diào)器將傳感器節(jié)點(diǎn)采集的溫度值通過(guò)串口傳送到嵌入 式網(wǎng)關(guān),需定義傳感器節(jié)點(diǎn)的設(shè)備號(hào),以實(shí)現(xiàn)不同節(jié)點(diǎn)采集的 溫度值在txt文檔中存儲(chǔ),數(shù)據(jù)格式如表1所列。

把編寫(xiě)好的串口 C程序在宿主機(jī)編譯后生成的temper文 件,并將temper、CGI程序和js程序拷貝到ARM板服務(wù)器 WWW目錄下,執(zhí)行temper,在服務(wù)器WWW目錄下生成3 個(gè)txt文檔,實(shí)現(xiàn)了溫度數(shù)據(jù)的存儲(chǔ)。

表1數(shù)據(jù)傳送格

設(shè)備號(hào)
溫度值(C)
電壓值(V)
設(shè)備1
溫度值1
電壓值1
設(shè)備2
溫度值2
電壓值2
設(shè)備3
溫度值3
電壓值3

3.3數(shù)據(jù)的讀取及顯示

為了實(shí)現(xiàn)溫度的動(dòng)態(tài)顯示,在溫度顯示網(wǎng)頁(yè)(temper. html)中采用JavaScript (js)程序[8],通過(guò)加入定時(shí)器每隔一 段時(shí)間調(diào)用CGI程序以獲取txt文檔的溫度值。由于采樣數(shù)據(jù) 不斷存儲(chǔ)到txt文檔,CGI程序采用倒序方法首先讀取txt文 檔最后一行獲取最新數(shù)據(jù),從而在網(wǎng)頁(yè)上動(dòng)態(tài)顯示溫度。

4結(jié)果分析

在IE瀏覽器中輸入目標(biāo)機(jī)的IP地址,登錄系統(tǒng)進(jìn)入到 溫度顯示頁(yè)面(temper.html),如圖3所示,點(diǎn)擊獲取按鈕, 溫度值將顯示在頁(yè)面上,設(shè)置溫度數(shù)據(jù)5秒更新一次,當(dāng)改 變溫度傳感器采集的溫度時(shí),網(wǎng)頁(yè)顯示數(shù)據(jù)也同時(shí)更新,溫 度顯示頁(yè)面如圖3所示,從圖3可以看出,當(dāng)采集溫度數(shù)據(jù)發(fā) 生變化時(shí),頁(yè)面顯示溫度值也隨之改變,實(shí)現(xiàn)了傳感器節(jié)點(diǎn)采 樣數(shù)據(jù)的動(dòng)態(tài)顯示。

基于A(yíng)RM9的嵌入式Web服務(wù)器數(shù)據(jù)動(dòng)態(tài)顯示的實(shí)現(xiàn)

5結(jié)語(yǔ)

本文通過(guò)構(gòu)建ARM-Linux嵌入式網(wǎng)關(guān),利用BOA服務(wù) 器、運(yùn)用JavaScript, CGI、Ajax技術(shù)及HTML語(yǔ)言實(shí)現(xiàn)了傳 感器節(jié)點(diǎn)采集的溫度在上位機(jī)網(wǎng)頁(yè)的動(dòng)態(tài)顯示,與傳統(tǒng)的手 動(dòng)或自動(dòng)刷新網(wǎng)頁(yè)相比,該系統(tǒng)占用服務(wù)器CPU資源少,縮 短了用戶(hù)等待時(shí)間,實(shí)現(xiàn)了下位機(jī)采集的現(xiàn)場(chǎng)數(shù)據(jù)在上位機(jī)實(shí) 時(shí)動(dòng)態(tài)顯示。

20211119_6197b878b28ee__基于A(yíng)RM9的嵌入式Web服務(wù)器數(shù)據(jù)動(dòng)態(tài)顯示的實(shí)現(xiàn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉