一種傳感器網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2023-06-26 11:09:55
引言
隨著嵌入式系統(tǒng)與通信技術(shù)的不斷發(fā)展,各種嵌入式設(shè)備正在以不同形式改變著人們的日常生活,ARM(Advanced RISC Machines)是微處理器行業(yè)的一家企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等。ARM(Asynchronous Resbonse Mode)異步響應(yīng)方式異步響應(yīng)方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是,ARM下的傳輸過(guò)程由從站啟動(dòng)。從站主動(dòng)發(fā)送給主站的一個(gè)或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀
本設(shè)計(jì)在基于嵌入式Linux系統(tǒng)平臺(tái)上。實(shí)現(xiàn)一個(gè)基于ARM、Linux平臺(tái)的傳感器網(wǎng)絡(luò)系統(tǒng),完成數(shù)據(jù)的采集、處理、通訊、存儲(chǔ)、查詢和圖形顯示功能。Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開(kāi)放源代碼發(fā)展中著名的例子。嚴(yán)格來(lái)講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。Linux得名于計(jì)算機(jī)業(yè)余愛(ài)好者Linus Torvalds。
1 系統(tǒng)總體組成
本設(shè)計(jì)采用將數(shù)據(jù)采集節(jié)點(diǎn)作為客戶端,將采集得來(lái)數(shù)據(jù)通過(guò)TCP/IP協(xié)議傳輸?shù)骄W(wǎng)關(guān)節(jié)點(diǎn),由網(wǎng)關(guān)服務(wù)器存儲(chǔ)數(shù)據(jù),并轉(zhuǎn)發(fā)。
1.1 節(jié)點(diǎn)的硬件組成
考慮到各采集節(jié)點(diǎn)的完全獨(dú)立性,前端設(shè)備采用嵌入式設(shè)計(jì)方法,其硬件組成結(jié)構(gòu)。
傳感器節(jié)點(diǎn)作為客戶端負(fù)責(zé)對(duì)數(shù)據(jù)采集,并通過(guò)模數(shù)轉(zhuǎn)化將數(shù)據(jù)傳輸給網(wǎng)關(guān)節(jié)點(diǎn)。網(wǎng)關(guān)節(jié)點(diǎn)接受到數(shù)據(jù)后存入數(shù)據(jù)庫(kù)。通過(guò)CGI響應(yīng)PC機(jī)上的查詢、控制。
1.2 數(shù)據(jù)的預(yù)處理
節(jié)點(diǎn)數(shù)據(jù)的預(yù)處理,主要是檢測(cè)采集的數(shù)據(jù),對(duì)其進(jìn)行合法過(guò)濾。按照既定協(xié)議,為數(shù)據(jù)分配數(shù)據(jù)頭、間隔符、校驗(yàn)碼,重新封裝成數(shù)據(jù)流,采用TCP/IP協(xié)議,通過(guò)網(wǎng)絡(luò)發(fā)送到主機(jī)。
1.3 數(shù)據(jù)的存儲(chǔ)及傳輸
存儲(chǔ)器系統(tǒng)負(fù)責(zé)系統(tǒng)的靜態(tài)存儲(chǔ)與動(dòng)態(tài)存儲(chǔ)。其中flash用于靜態(tài)存儲(chǔ),SDRAM用于動(dòng)態(tài)存儲(chǔ)。flash又分為norflash和nandflash。no-rflash支持直接啟動(dòng)用于存儲(chǔ)程序代碼,nandflash用于存儲(chǔ)數(shù)據(jù)信息。SDRAM存儲(chǔ)器速度快,主要作為程序的運(yùn)行空間。SDRAM:Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指 Memory工作需要同步時(shí)鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷的刷新來(lái)保證數(shù)據(jù)不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲(chǔ),而是自由指定地址進(jìn)行數(shù)據(jù)讀寫(xiě)。
2 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件構(gòu)成分為引導(dǎo)驅(qū)動(dòng)程序、操作系統(tǒng)、文件系統(tǒng)和應(yīng)用程序4部分,引導(dǎo)驅(qū)動(dòng)程序在系統(tǒng)啟動(dòng)時(shí)進(jìn)行內(nèi)存重映射,將保存在Flash中的操作系統(tǒng)和應(yīng)用程序重新映射到SDRAM中,為方便起見(jiàn)也可以配置好啟動(dòng)腳本。
3 節(jié)點(diǎn)配置
3.1 采集節(jié)點(diǎn)配置
(1)配置S3C2410開(kāi)發(fā)板的NFS Root啟動(dòng)方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發(fā)布包中的srv與node兩個(gè)目錄都拷貝到rootfs目錄下。
(2)以NFS方式啟動(dòng)S3C2410開(kāi)發(fā)板,配置YAFFS文件系統(tǒng)。
(3)在配置YAFFS文件系統(tǒng)的過(guò)程中,在mount-t yaffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/node/mnt
然后繼續(xù)繼續(xù)完成剩下的yaffs文件系統(tǒng)的配置步驟,注意一定要
mount/mnt
(4)配置采集端啟動(dòng)腳本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內(nèi)容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.25(注意:這里192.168.0.25是采集端開(kāi)發(fā)板IP,各采集端IP不同,而且需要都在同一個(gè)網(wǎng)段上,我們統(tǒng)一選擇網(wǎng)段192.168.0.*)。
Ifconfig lo up
mknod/dev/adc_char c 240 0
cd/node
Insmod ado.ko
(5)重啟S3C2410采集端開(kāi)發(fā)板,進(jìn)入vivi,配置paraset linux_cmd_line啟動(dòng)參數(shù)為從YAFFS啟動(dòng)。para save之后鍵入boot,啟動(dòng)開(kāi)發(fā)板,把開(kāi)發(fā)板接入網(wǎng)絡(luò)中,從PC機(jī)上運(yùn)行瀏覽器,在地址欄上輸入http://192.168.0.25/,(注意,這里192.168.0.25是采集端IP地址,應(yīng)根據(jù)實(shí)際IP地址輸入),打開(kāi)設(shè)置網(wǎng)關(guān)IP地址的網(wǎng)頁(yè),設(shè)置網(wǎng)關(guān)IP地址為192.168.0.100。
在采集端串口終端下執(zhí)行如下內(nèi)容:
#cd/node
#./app
3.2 網(wǎng)關(guān)節(jié)點(diǎn)配置
(1)配置S3C2A10開(kāi)發(fā)板的NFS Root啟動(dòng)方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發(fā)布包中的www文件夾與app可執(zhí)行文件拷貝到rootfs/srv/目錄下和rootfs/srv/www 下。
(2)以NFS方式啟動(dòng)S3C2410開(kāi)發(fā)板,配置YAFFS文件系統(tǒng)。
(3)在配置YAFFS文件系統(tǒng)的過(guò)程中,在mount-t ysffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/mnt
然后繼續(xù)繼續(xù)完成剩下的yaffs文件系統(tǒng)的配置步驟,注意一定要
umount/mnt
(4)配置采集端啟動(dòng)腳本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內(nèi)容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.100
Ifconfig lo up
(5)重啟S3C2410采集端開(kāi)發(fā)板,進(jìn)入vivi,配置paraset linux_cmd_line啟動(dòng)參數(shù)為從YAFFS啟動(dòng)。para save之后鍵入boot,啟動(dòng)開(kāi)發(fā)板,到/srv/www下執(zhí)行app,把開(kāi)發(fā)板接入網(wǎng)絡(luò)中,從PC機(jī)上運(yùn)行瀏覽器,在地址欄上輸入http://192.168.0.100/,輸入IP地址就可以找剄相應(yīng)節(jié)點(diǎn)所采集到的數(shù)值。
4 總結(jié)
嵌入式Linux因其源碼開(kāi)放、內(nèi)核穩(wěn)定高效及支持多種體系結(jié)構(gòu)等優(yōu)點(diǎn)在嵌入式系統(tǒng)中應(yīng)用廣泛,本文在陸眥操作系統(tǒng)上,通過(guò)交叉編譯環(huán)境編譯后生成可執(zhí)行代碼,可以成功移植到目標(biāo)平臺(tái)上,經(jīng)測(cè)試發(fā)現(xiàn),本系統(tǒng)穩(wěn)定,易維護(hù)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開(kāi)發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開(kāi)啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









