產(chǎn)品中心 應用方案 技術文摘質量保證產(chǎn)品選型 下載中心業(yè)內動態(tài) 選型幫助 品牌介紹 產(chǎn)品一覽 聯(lián)系我們
- 基于S3C2410的傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng)
- 來源:飛象網(wǎng) 發(fā)表于 2010/11/10
摘要:針對工業(yè)控制中數(shù)據(jù)采集的需求,設計開發(fā)了基于S3C2410的傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng),給出了系統(tǒng)的整體設計方案、蛄構框圖。整個系統(tǒng)硬件體積小、運行穩(wěn)定、維護和升級方便。實現(xiàn)了數(shù)據(jù)采集、傳輸、處理、量示及控制功能。
O 引言
隨著嵌入式系統(tǒng)與通信技術的不斷發(fā)展,各種嵌入式設備正在以不同形式改變著人們的日常生活,ARM技術作為嵌入式系統(tǒng)的主流技術,它己逐漸取代了單片機控制技術,使用ARM處理器對工業(yè)現(xiàn)場傳感器傳出的電流電壓信號以及一些熱工參數(shù)進行數(shù)據(jù)采集已經(jīng)成為主流。
本設計在基于嵌入式Linux系統(tǒng)平臺上。實現(xiàn)一個基于ARM、Linux平臺的傳感器網(wǎng)絡系統(tǒng),完成數(shù)據(jù)的采集、處理、通訊、存儲、查詢和圖形顯示功能。
1 系統(tǒng)總體組成
本設計采用將數(shù)據(jù)采集節(jié)點作為客戶端,將采集得來數(shù)據(jù)通過TCP/IP協(xié)議傳輸?shù)骄W(wǎng)關節(jié)點,由網(wǎng)關服務器存儲數(shù)據(jù),并轉發(fā)。主控機可以通過CGI查詢任—個客戶端傳感器數(shù)據(jù),并對傳感器進行控制。如圖l所示。
1.1 節(jié)點的硬件組成
考慮到各采集節(jié)點的完全獨立性,前端設備采用嵌入式設計方法,其硬件組成結構如圖2所示。
傳感器節(jié)點作為客戶端負責對數(shù)據(jù)采集,并通過模數(shù)轉化將數(shù)據(jù)傳輸給網(wǎng)關節(jié)點。網(wǎng)關節(jié)點接受到數(shù)據(jù)后存入數(shù)據(jù)庫。通過CGI響應PC機上的查詢、控制。
1.2 數(shù)據(jù)的預處理
節(jié)點數(shù)據(jù)的預處理,主要是檢測采集的數(shù)據(jù),對其進行合法過濾。按照既定協(xié)議,為數(shù)據(jù)分配數(shù)據(jù)頭、間隔符、校驗碼,重新封裝成數(shù)據(jù)流,采用TCP/IP協(xié)議,通過網(wǎng)絡發(fā)送到主機。
1.3 數(shù)據(jù)的存儲及傳輸
存儲器系統(tǒng)負責系統(tǒng)的靜態(tài)存儲與動態(tài)存儲。其中flash用于靜態(tài)存儲,SDRAM用于動態(tài)存儲。flash又分為norflash和nandflash。no-rflash支持直接啟動用于存儲程序代碼,nandflash用于存儲數(shù)據(jù)信息。SDRAM存儲器速度快,主要作為程序的運行空間。
采集節(jié)點作為客戶端,將數(shù)據(jù)打包傳輸給網(wǎng)關節(jié)點,網(wǎng)關節(jié)點作為服務器,校驗數(shù)據(jù)有效后,存入flash數(shù)據(jù)庫中。通過CGI程序響應PC查詢。
2 系統(tǒng)的軟件設計
系統(tǒng)的軟件構成分為引導驅動程序、操作系統(tǒng)、文件系統(tǒng)和應用程序4部分,如圖3所示,引導驅動程序在系統(tǒng)啟動時進行內存重映射,將保存在Flash中的操作系統(tǒng)和應用程序重新映射到SDRAM中,為方便起見也可以配置好啟動腳本。Linux內核版本為LinuX2.6。文件系統(tǒng)為Yaffs。包括模塊、配置文件和庫等。系統(tǒng)的應用程序建立在Linux內核、ADC字符驅動和文件系統(tǒng)之上,可動態(tài)加載。
3 節(jié)點配置
3.1 采集節(jié)點配置
(1)配置S3C2410開發(fā)板的NFS Root啟動方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發(fā)布包中的srv與node兩個目錄都拷貝到rootfs目錄下。
(2)以NFS方式啟動S3C2410開發(fā)板,配置YAFFS文件系統(tǒng)。
(3)在配置YAFFS文件系統(tǒng)的過程中,在mount-t yaffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/node/mnt
然后繼續(xù)繼續(xù)完成剩下的yaffs文件系統(tǒng)的配置步驟,最后注意一定要
(4)配置采集端啟動腳本
vi/etc
(5)重啟S3C2410采集端開發(fā)板,進入vivi,配置paraset linux_cmd_line啟動參數(shù)為從YAFFS啟動。para save之后鍵入boot,啟動開發(fā)板,把開發(fā)板接入網(wǎng)絡中,從PC機上運行瀏覽器,在地址欄上輸入http://192.168.0.25/,(注意,這里192.168.0.25是采集端IP地址,應根據(jù)實際IP地址輸入),打開設置網(wǎng)關IP地址的網(wǎng)頁,設置網(wǎng)關IP地址為192.168.0.100。
在采集端串口終端下執(zhí)行如下內容:
#cd/node
#./app
3.2 網(wǎng)關節(jié)點配置
(1)配置S3C2A10開發(fā)板的NFS Root啟動方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發(fā)布包中的www文件夾與app可執(zhí)行文件拷貝到rootfs/srv/目錄下和rootfs/srv/www 下。
(2)以NFS方式啟動S3C2410開發(fā)板,配置YAFFS文件系統(tǒng)。
(3)在配置YAFFS文件系統(tǒng)的過程中,在mount-t ysffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/mnt
然后繼續(xù)繼續(xù)完成剩下的yaffs文件系統(tǒng)的配置步驟,最后注意一定要
umount/mnt
(4)配置采集端啟動腳本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.100
Ifconfig lo up
(5)重啟S3C2410采集端開發(fā)板,進入vivi,配置paraset linux_cmd_line啟動參數(shù)為從YAFFS啟動。para save之后鍵入boot,啟動開發(fā)板,到/srv/www下執(zhí)行app,把開發(fā)板接入網(wǎng)絡中,從PC機上運行瀏覽器,在地址欄上輸入http://192.168.0.100/,輸入IP地址就可以找剄相應節(jié)點所采集到的數(shù)值。
4 總結
嵌入式Linux因其源碼開放、內核穩(wěn)定高效及支持多種體系結構等優(yōu)點在嵌入式系統(tǒng)中應用廣泛,本文在陸眥操作系統(tǒng)上,通過交叉編譯環(huán)境編譯后生成可執(zhí)行代碼,可以成功移植到目標平臺上,經(jīng)測試發(fā)現(xiàn),本系統(tǒng)穩(wěn)定,易維護?蓪崿F(xiàn)包括數(shù)據(jù)采集、處理、通訊、存儲、查詢等功能。/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.25(注意:這里192.168.0.25是采集端開發(fā)板IP,各采集端IP不同,而且需要都在同一個網(wǎng)段上,我們統(tǒng)一選擇網(wǎng)段192.168.0.*)。
Ifconfig lo up
mknod/dev/adc_char c 240 0
cd/node
Insmod ado.ko
轉載請注明來源:賽斯維傳感器網(wǎng)(www.jsxlzzp.com)
- 如果本文收錄的圖片文字侵犯了您的權益,請及時與我們聯(lián)系,我們將在24內核實刪除,謝謝!