《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于S3C6410的遠程無線環(huán)境監(jiān)測系統(tǒng)設計
基于S3C6410的遠程無線環(huán)境監(jiān)測系統(tǒng)設計
來源:電子技術(shù)應用2014年第5期
陳榮軍1,2, 余祥云2, 譚洪舟2
(1. 中山大學南方學院, 廣東 廣州 510970;2. 中山大學 信息科學與技術(shù)學院, 廣東 廣
摘要: 從實際應用出發(fā)并結(jié)合近年來環(huán)境監(jiān)測技術(shù)的發(fā)展趨勢,設計了一套以S3C6410為主要硬件平臺、以嵌入式Linux為主要軟件平臺的遠程環(huán)境監(jiān)測系統(tǒng)。該系統(tǒng)采用B/S架構(gòu),具有低成本、低功耗、高穩(wěn)定的特點。用戶通過Internet上的任何終端(如電腦、手機等)來訪問該系統(tǒng),可非常方便地對監(jiān)測區(qū)域進行實時的監(jiān)測。該系統(tǒng)支持多個用戶同時登陸,兼容多種瀏覽器,具有較高的安全性,在環(huán)保行業(yè)、制造行業(yè)、交通行業(yè)的環(huán)境監(jiān)測方面具有一定的推廣應用價值。
中圖分類號: TP311
文獻標識碼: A
文章編號: 0258-7998(2014)05-0143-04
Design of remote wireless environmental monitoring system based on S3C6410
Chen Rongjun1,2, Yu Xiangyun2, Tan Hongzhou2
1. Nanfang College of Sun Yat-sen University, Guangzhou 510970,China;2. School of Information Science and Technology, Sun Yat-sen University, Guangzhou 510006, China
Abstract: Concerning about the issue of the practical application and combining with recent trends in environmental monitoring technology,this article gives a method to design a environmental monitoring system which is based on the main hardware platform of S3C6410 and the main software platform of Linux. This system uses B/S architecture with low cost, low power consumption, high stability characteristics and many other advantages. The users can use any terminal on the Internet(such as computers, cell phones, etc.) to access the system easily for real-time monitoring of the monitoring area. The system supports multiple users to simultaneously log in and compatible with multiple browsers with high security. In the environmental industry, manufacturing industry and transportation industry,this system has much application value on environmental monitoring.
Key words : environmental monitoring;S3C6410;B/S;Linux

    現(xiàn)代工業(yè)的飛速發(fā)展和人類的不合理活動對環(huán)境造成了嚴重的破壞,使得全球生態(tài)環(huán)境惡化愈演愈烈。惡劣的環(huán)境容易引起人體的發(fā)病、動植物的死亡等不良后果,環(huán)境異常還會引起火災或其他災害。而環(huán)境監(jiān)測則可以提供環(huán)境的狀況信息,保證生活和生產(chǎn)的正常進行。環(huán)境監(jiān)測技術(shù)已廣泛地用于軍事、工農(nóng)業(yè)、通信等多個領(lǐng)域。
    目前,環(huán)境監(jiān)測尚存在一些不足。傳統(tǒng)的環(huán)境監(jiān)測以人工采樣和實驗室分析為主,操作比較繁瑣;監(jiān)測系統(tǒng)監(jiān)測領(lǐng)域較窄,不能對環(huán)境進行全面的評估;設備功能單一,不能滿足人們較高的環(huán)境監(jiān)測需求。
    本文從實際出發(fā),設計了一種基于嵌入式技術(shù)的遠程無線環(huán)境監(jiān)測系統(tǒng)。該系統(tǒng)基于ARM11和嵌入式Linux,并與USB攝像頭、溫濕度傳感器模塊相結(jié)合,具有較為豐富的功能。使用該系統(tǒng)能夠?qū)崿F(xiàn)對監(jiān)測區(qū)域的實時視頻監(jiān)控和溫濕度數(shù)據(jù)監(jiān)測,具有成本低、支持多臺客戶機同時訪問、系統(tǒng)維護方便等特點。系統(tǒng)采用B/S模式結(jié)構(gòu)[1-2]設計,用戶只需要通過瀏覽器即可訪問監(jiān)測區(qū)域的環(huán)境情況,比傳統(tǒng)的實地觀察更加方便,具有較好的應用前景。
1 系統(tǒng)總體設計
 系統(tǒng)以開源的Linux為操作系統(tǒng)平臺,采用B/S模式結(jié)構(gòu),以S3C6410[3]控制器為嵌入式服務器。系統(tǒng)將從USB攝像頭采集到的視頻圖像進行壓縮,然后基于TCP/IP協(xié)議[4]將壓縮后的視頻圖像發(fā)送到客戶端。同時,系統(tǒng)間隔性地采集溫濕度數(shù)據(jù), 并將數(shù)據(jù)保存在SQLite數(shù)據(jù)庫[5]表中,以供用戶查詢。客戶機通過瀏覽器中的網(wǎng)頁即可接收從Web服務器發(fā)送過來的監(jiān)測區(qū)域的環(huán)境數(shù)據(jù)。當監(jiān)測區(qū)域的環(huán)境情況發(fā)生異常時,客戶端就會發(fā)出報警聲,同時系統(tǒng)會向用戶的郵箱發(fā)送郵件[6]。系統(tǒng)的總體實現(xiàn)方案如圖1所示。

    本系統(tǒng)主要有監(jiān)測前端和監(jiān)測終端兩部分。監(jiān)測前端主要由S3C6410處理器、USB攝像頭和溫濕度傳感器組成;監(jiān)測終端主要是PC、手機等。當有用戶請求時,客戶端網(wǎng)頁瀏覽器主動與服務器建立網(wǎng)絡連接。客戶機與Web服務器之間利用Ajax技術(shù)[7]進行異步通信,保證了安全可靠的Web應用交互。用戶信息、每個用戶的登陸信息和溫濕度信息都保存在SQLite數(shù)據(jù)庫表中。當有用戶登陸時,后臺的CGI驗證程序就會查詢存有用戶信息的數(shù)據(jù)庫表,如果驗證成功就會返回登陸的主控頁面,否則返回帶錯誤提示的登陸頁面。
2 系統(tǒng)硬件設計
    本系統(tǒng)的硬件總體結(jié)構(gòu)圖如圖2所示。

    主控平臺選用友善之臂的Tiny6410開發(fā)平臺,主要包括S3C6410控制器、2 GB Nand Flash、256 MB SDRAM和外圍接口。在Nand Flash中保存有U-Boot、Linux內(nèi)核、UBIFS文件系統(tǒng)、驅(qū)動程序、與Web服務相關(guān)的程序以及其他應用程序。主控平臺的功能主要是控制采集視頻圖像、對采集的視頻圖像進行壓縮、網(wǎng)絡傳輸視頻圖像、控制采集和保存溫濕度數(shù)據(jù)、為客戶機提供Web服務。
    USB攝像頭選用羅技的C270攝像頭,其主要功能是完成視頻監(jiān)控圖像的采集,為S3C6410提供原始視頻圖像。溫濕度傳感器選用含有己校準數(shù)字信號輸出的DHT21[8],其功能為采集溫濕度數(shù)據(jù)。
3 系統(tǒng)軟件設計
 從功能上來說,整個系統(tǒng)需要完成溫濕度傳感器和攝像頭的驅(qū)動,溫濕度數(shù)據(jù)的采集、存儲和傳輸,視頻圖像的采集與傳輸。
    如圖3所示,整個系統(tǒng)的軟件分為底層和應用層。底層主要包括U-Boot、Linux內(nèi)核、UBIFS文件系統(tǒng)和驅(qū)動程序;應用層則包括視頻圖像采集和發(fā)送程序、溫濕度采集程序、Web服務器、后臺CGI程序以及Web服務器上的網(wǎng)頁相關(guān)腳本程序。應用程序通過驅(qū)動程序提供的接口來調(diào)用內(nèi)核空間的數(shù)據(jù)。

    在底層,需要完成溫濕度傳感器驅(qū)動;在應用層,需要調(diào)用溫濕度傳感器驅(qū)動來完成溫濕度采集,利用攝像頭驅(qū)動完成視頻圖像的采集,并通過TCP/IP協(xié)議將采集到的視頻圖像和溫濕度數(shù)據(jù)發(fā)送到客戶端。此外,還要完成對用戶輸入的用戶名和密碼的驗證和溫濕度報警功能。
3.1 溫濕度采集程序設計
    溫濕度傳感器驅(qū)動模塊加載成功后,編寫溫濕度采集程序時就可以利用驅(qū)動程序中提供的接口把&ldquo;/dev/dht21&rdquo;作為一個文件來訪問。除了要從DHT21獲取溫濕度數(shù)據(jù)之外,溫濕度采集程序還要將溫濕度數(shù)據(jù)保存到SQLite數(shù)據(jù)庫表/home/boa/www/temandhum.db中,同時還要將當前采集到的溫濕度數(shù)據(jù)寫入到/home/boa/www/xml/temandhum.xml文件的<livedata>節(jié)點中,以方便運行在客戶端的JavaScript讀取實時的溫濕度數(shù)據(jù)。另外,溫濕度采集程序還要檢測溫濕度是否異常。若溫濕度超過預設范圍,則調(diào)用sendemail函數(shù)向用戶發(fā)送郵件。溫濕度采集程序的流程圖如圖4所示。

 

 

3.2 視頻圖像采集程序設計
    使用V4L2標準進行視頻采集的流程如圖5所示。
 (1)打開視頻設備。將USB攝像頭插到Tiny6410開發(fā)板的USB接口上后,就會在/dev目錄下看到多出一個&ldquo;video0&rdquo;的設備文件,只需要使用fd = open("/dev/video0", O_RDWR, 0);語句來打開該設備文件,即可像訪問文件一樣來訪問該設備。open函數(shù)中的&ldquo;O_RDWR&rdquo;表示阻塞模式,它也可以換成&ldquo;O_RDWR | O_NONBLOCK&rdquo;,表示非阻塞模式。以非阻塞模式打開視頻設備時,不管設備打開成功與否,驅(qū)動都會把緩存中的數(shù)據(jù)返回給應用程序。
    (2)獲取視頻設備的參數(shù)信息。成功打開視頻設備后,可以使用語句ioctl(fd, VIDIOC_QUERYCAP, &capability)來獲取視頻設備的參數(shù)信息,設備參數(shù)信息就保存在結(jié)構(gòu)體capability中的各成員變量中。
    (3)初始化視頻設備配置。例如設置視頻捕獲格式主要是通過設置v4l2_format數(shù)據(jù)結(jié)構(gòu)中的成員變量來實現(xiàn)。一般設置的圖像大小為640&times;480或320&times;240兩種。
    (4)采集視頻圖像。獲取采集到的視頻圖像的方式有兩種:(1)使用read( )函數(shù)直接讀取設備; (2)使用mmap( )函數(shù)共享內(nèi)存。
    在Linux操作系統(tǒng)中,內(nèi)存空間被分為用戶空間和內(nèi)核空間。進程不能直接讀寫內(nèi)核空間,通過read( )函數(shù)來讀取設備比較慢,但安全度較高;通過使用mmap方式后能將同一文件映射到進程的虛擬地址空間,從而達到直接讀取該內(nèi)存空間的目的,讀取速度很快,但相應地安全度較低。此處采用mmap的方式來采集視頻。使用&ldquo;framebuf[1].length = buf.length;&rdquo;設置framebuf的大小,然后使用&ldquo;framebuf[1].start=(char *) mmap(0, buf.length,PROT_READ|PROT_WRITE,MAP_SHARED, fd,buf.m.offset);&rdquo;進行內(nèi)存映射,這樣就可以用&ldquo;ret = ioctl(fd , VIDIOC_QBUF, &buf);&rdquo;獲取視頻圖像。判斷視頻圖像是否采集完畢需要使用&ldquo;ioctl(fd,VIDIOCSYNC, &buf);&rdquo;。
    (5)關(guān)閉視頻設備。使用&ldquo;close(fd);&rdquo;實現(xiàn)。
3.3 視頻圖像傳輸程序設計
    本視頻圖像傳輸程序主要通過線程組來實現(xiàn),涉及的線程主要有:cap_video、send_video和client_connect。cap_video 負責采集視頻圖像;client_connect線程用來等待客戶端的連接請求,當有新的用戶連接請求時,它就會采用GET方法獲取用戶的請求信息,然后再判斷是否建立連接,若請求信息有效則給該用戶開通一個新的連接用來發(fā)送連續(xù)的視頻流,client_connect線程還要負責將無效的socket連接斷開,以保證系統(tǒng)的高效運行;send_video則是服務于已連接好的用戶,主要用來將公共緩沖區(qū)中的視頻圖像通過socket發(fā)送出去,send_video線程每發(fā)送一幀圖像后就會將公共緩沖區(qū)清空并進行上鎖,直到公共緩沖區(qū)被寫入的數(shù)據(jù)大于或等于所設閾值時才執(zhí)行下一次發(fā)送任務。線程之間通過pthread_cond_
wait、pthread_mutex_lock、pthread_mutex_unlock等函數(shù)來防止競爭。視頻圖像傳輸程序流程如圖6所示。

3.4 溫濕度實時曲線描繪程序設計
    本程序能夠?qū)貪穸葦?shù)據(jù)通過JavaScript代碼描繪成曲線圖,用戶能夠直觀地感受到溫濕度數(shù)據(jù)實時的變化。本程序使用開源的jqPlot庫進行圖像描繪。
 jqPlot繪圖功能主要通過調(diào)用$.jqplot函數(shù)對所繪制的圖像進行初始化設置來實現(xiàn)。jqPlot的配置格式為:
    $.jqplot('target', data, options);
    其中target表示在HTML中的位置;data為顯示的數(shù)據(jù);options為與圖像顯示相關(guān)的配置。
  本文中用到的主要options的對象有title和axes。axesDefaults中的配置參數(shù)與axes中的一樣,axesDefaults中的參數(shù)是默認配置,而axes中的參數(shù)是非默認配置。
4 系統(tǒng)調(diào)試
    通過串口線和網(wǎng)線,將開發(fā)板與PC連接好,然后啟動開發(fā)板。打開瀏覽器后,在PC瀏覽器的地址欄中輸入開發(fā)板上所設Web服務器的IP地址即可看到登陸頁面,輸入用戶名和密碼,驗證成功后即可進入遠程監(jiān)測的主控頁面,默認加載頁面為視頻監(jiān)控頁面。用戶還可以通過點擊主控頁面中左邊樹形菜單中的&ldquo;溫濕度監(jiān)測&rdquo;加載溫濕度的實時曲線。
    本文設計了一種基于S3C6410嵌入式技術(shù)、B/S網(wǎng)絡模式的遠程無線環(huán)境監(jiān)測系統(tǒng),經(jīng)過測試,該系統(tǒng)運行穩(wěn)定,能夠進行實時的溫濕度數(shù)據(jù)監(jiān)測和視頻監(jiān)控。該系統(tǒng)具有支持多路同時訪問、系統(tǒng)負荷能力強、界面友好等特點,在環(huán)保行業(yè)、制造行業(yè)、交通行業(yè)的環(huán)境監(jiān)測方面具有一定的推廣應用價值。
參考文獻
[1] He Hujun, Yan Yumei,Li Wanling, et al. Design and implementation of mine-map management information system based on B/S model[J].Applied Mechanics and Materials,2012,241-244(12):2616-2619.
[2] 張國軍, 鄭麗媛, 張俊.基于物聯(lián)網(wǎng)的瓦斯監(jiān)控系統(tǒng)[J]. 傳感器與微系統(tǒng),2013,32(1):125-127,130.
[3] 陳建明,沈東方.基于S3C6410的智能泵組控制器設計[J].電子技術(shù)應用,2012,38(12):14-16.
[4] 楊嬌娟.淺談TCP/IP協(xié)議[J].數(shù)字技術(shù)與應用,2012(3):220.
[5] 韓善鋒,曹鳳海,易昌華. SQLite數(shù)據(jù)庫在嵌入式程序開發(fā)中的應用[J].物探裝備, 2011,21(3):170-173,178.
[6] 毛云貴.支持SMTP認證的E-MAIL發(fā)送程序的設計[J].南京工程學院學報(自然科學版),2006,4(1):66-72.
[7] 呂弘, 黃偉納. 基于AJAX技術(shù)的圖書館統(tǒng)計平臺的設計[J].中國科技信息,2012(1):75-76.
[8] 胡敏,施云波,修德斌,等.氯氣檢測報警器的設計[J].儀表技術(shù)與傳感器,2010(12):66-67,70.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 免费黄色毛片视频 | 性欧美videofreel另类 | 日韩毛片在线看 | 99久久精品免费看国产麻豆 | 日韩欧美一区二区三区 | 2018天天干天天操 | 日日碰狠狠添天天爽对白 | 97精品伊人久久久大香线蕉 | 老年人黄色一级片 | 一区二区不卡视频在线观看 | 伊人久久大香线蕉免费视频 | 亚洲毛片在线观看 | 色视频网站大全免费 | 一个人看www在线观看免费视频 | 一级一片免费视频播放 | 狠狠色成色综合网 | 成人国产精品免费视频不卡 | 黄网站在线观看永久免费 | 黄网站www | 国产精品亚洲精品日韩已满 | 在线观看成人 | 欧美成人禁片在线www | 小明永久2015免费看网址 | 免费a级片在线观看 | 三级国产精品一区二区 | 全黄一级片 | a级片视频在线观看 | 午夜大片网 | 国产成人精品免费视频软件 | 毛片在线视频 | 热久久国产欧美一区二区精品 | 日韩免费一区二区三区 | 免费一区二区三区在线视频 | 日批视频在线看 | china精品对白普通话 | 久久99国产精品久久 | 欧美一级三级在线观看 | 九九精品在线视频 | av福利导导航 | 亚洲国产成人久久一区久久 | 天天av天天翘天天综合网 |