freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于無(wú)線傳感器的振動(dòng)檢測(cè)畢業(yè)論文(編輯修改稿)

2025-07-20 16:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 這允許一個(gè)單一的接口能夠表現(xiàn)組件之間復(fù)雜的交互作用 (舉例來(lái)說(shuō).,當(dāng)某一事件在一個(gè)回調(diào)之前發(fā)生時(shí),對(duì)一些事件的興趣登記)。 這是危險(xiǎn)的,因?yàn)?TinyOS 中所有的長(zhǎng)指令 (舉例來(lái)說(shuō). 發(fā)送包)是非中斷的。 他們的完成由一個(gè)事件( 發(fā)送完成)標(biāo)志。 通過(guò)敘述接口,一個(gè)組件不能調(diào)用發(fā)送指令除非它提供 sendDone 事件的實(shí)現(xiàn)。通常指令向下調(diào)用,比如, 從應(yīng)用組件到那些比較靠近硬件的調(diào)用,而事件則向上調(diào)用。特定的原始事件與硬件中斷是關(guān)聯(lián)的(引用)接口實(shí)質(zhì)上是一系列事件(event)和命令(mand)的集合,接口的使用者必須實(shí)現(xiàn)接口中聲明的的事件,而接口的提供者必須實(shí)現(xiàn)接口中聲明的命令。3. 配線由上所述nesC語(yǔ)言主要是依靠配置文件與已有的組件連接而快速形成應(yīng)用程序。連接的關(guān)鍵就是配線語(yǔ)法,通過(guò)配線語(yǔ)法將配置文件中的方法與已有庫(kù)中的連接起來(lái)。舉例說(shuō)明:我們總能在nesC的配置中看到類(lèi)似下面的代碼: ;其作用時(shí)將 Main 組件的接口StdControl 與XXXX中的StdControl 接口導(dǎo)通起來(lái)。()()調(diào)用。同樣的規(guī)則也適用于start()命令及stop()命令。至于“被使用”的接口,其子組件的初始化函數(shù)必須被使用組件顯式地調(diào)用。如:XXXX 模塊使用接口YYYY,()()中被顯式地調(diào)用。nesC 使用箭頭()來(lái)指示和標(biāo)識(shí)接口間的關(guān)系,其意義為“綁定”,即左邊的接口綁定到右邊的實(shí)現(xiàn)上。換言之,使用接口的組件在左邊,提供接口的組件在右邊,右邊的組件中將包含所使用函數(shù)的代碼實(shí)現(xiàn)。最后簡(jiǎn)要介紹下nesC程序的編譯,由于本文主要工作都在Crossbow公司開(kāi)發(fā)的平臺(tái)MoteWorks上進(jìn)行。在MoteWorks框架內(nèi)所有應(yīng)用程序目錄中都至少包含5個(gè)文件:1. Makefile2. 3. 使用nesC編寫(xiě)的應(yīng)用程序配置文件4. 使用nesC編寫(xiě)的模塊5. 說(shuō)明文檔 。Make 工具最主要也是最基本的功能就是通過(guò)makefile 文件來(lái)描述源程序之間的相互關(guān)系并自動(dòng)維護(hù)編譯工作。而makefile 文件需要按照某種語(yǔ)法進(jìn)行編寫(xiě),文件中需要說(shuō)明如何編譯各個(gè)源文件并連接生成可執(zhí)行文件,并要求定義源文件之間的依賴關(guān)系。在頂層配置文件中則描述了各組件之間的連接情況,模塊中則是函數(shù)的具體實(shí)。最后在MoteWorks的shell中輸入 make platform re|install,n programmer,COM or IP_AddrPlatform = mica2, ormicaz, mica2dot, or IRISProgrammer = mib510, ormib520, oreprb (= mib600)根據(jù)所使用硬件的不同選擇不同的平臺(tái)和網(wǎng)關(guān)板,本文使用IRIS節(jié)點(diǎn)和MIB520網(wǎng)關(guān)板。MIB520的COM端口可以手動(dòng)指定,本文中端口號(hào)為4。 節(jié)點(diǎn)層當(dāng)數(shù)據(jù)采集流程開(kāi)始時(shí),首先由網(wǎng)關(guān)節(jié)點(diǎn)接收來(lái)自服務(wù)器端的命令參數(shù)。收到參數(shù)后網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行初始化。隨后網(wǎng)關(guān)節(jié)點(diǎn)對(duì)整個(gè)無(wú)線傳感器網(wǎng)絡(luò)廣播喚醒消息。收到喚醒消息的節(jié)點(diǎn)將開(kāi)啟傳感器電源,進(jìn)行采樣,收集到的數(shù)據(jù)將存入節(jié)點(diǎn)上的RAM。隨后采集完畢的節(jié)點(diǎn)會(huì)向網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送采集完成消息,隨后網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送上傳數(shù)據(jù)命令收集數(shù)據(jù)。數(shù)據(jù)上傳完畢后節(jié)點(diǎn)關(guān)閉傳感器電源并進(jìn)入休眠狀態(tài)。節(jié)點(diǎn)上的程序由VibrationBase和VibrationEnd構(gòu)成,分別運(yùn)行在基站和終端節(jié)點(diǎn)。VibrationBase部分包含CXL10GP3的驅(qū)動(dòng)程序,運(yùn)行在XM2110節(jié)點(diǎn)上并管理數(shù)據(jù)采集和對(duì)采集到的數(shù)據(jù)加時(shí)間戳。隨后將采集到的數(shù)據(jù)發(fā)送至網(wǎng)關(guān)節(jié)點(diǎn)也就是VibrationBase運(yùn)行的地方。Base部分主要負(fù)責(zé)接受數(shù)據(jù)采集的命令及參數(shù),收到命令后網(wǎng)關(guān)節(jié)點(diǎn)將逐一喚醒傳感器節(jié)點(diǎn)并進(jìn)行時(shí)間同步(即使用網(wǎng)關(guān)時(shí)鐘時(shí)間刷新節(jié)點(diǎn)時(shí)鐘)。同步完成后發(fā)送采集命令,當(dāng)收到采集完成消息時(shí)逐一收集節(jié)點(diǎn)數(shù)據(jù)。收集完數(shù)據(jù)后傳感器節(jié)點(diǎn)將再次進(jìn)入睡眠狀態(tài),網(wǎng)關(guān)節(jié)點(diǎn)隨后將收集到的數(shù)據(jù)通過(guò)USB串口送至計(jì)算機(jī)終端。(關(guān)于采集部分的技術(shù)將在第3章詳細(xì)論述) 中間層中間層的程序主要是Crossbow公司的XServe軟件,我們主要通過(guò)XServe的命令窗口輸入運(yùn)行命令及參數(shù)。XServe主要功能如下:1. 支持文件、數(shù)據(jù)庫(kù)、XML的數(shù)據(jù)解析和轉(zhuǎn)發(fā)2. 三種數(shù)據(jù)轉(zhuǎn)發(fā)方式 ① 轉(zhuǎn)發(fā)串行數(shù)據(jù)流 ② 瀏覽器接口 ③ 網(wǎng)絡(luò)接口3. 報(bào)警功能4. 空中編程接口5. 健康診斷功能本文將使用其XML數(shù)據(jù)解析和轉(zhuǎn)發(fā)的功能,運(yùn)行XServe時(shí)通過(guò)鍵入命令 xserve –s=/dev/ttyS5 –b=115200 –xmlc xmlport=9005 –c 使得獲得的數(shù)據(jù)以XML數(shù)據(jù)流的形式寫(xiě)入9005端口。我們將監(jiān)聽(tīng)此端口并將捕獲的數(shù)據(jù)轉(zhuǎn)換為json格式并使用HTTP協(xié)議傳輸至網(wǎng)頁(yè)顯示。 客戶端客戶端網(wǎng)站是由實(shí)驗(yàn)室學(xué)長(zhǎng)開(kāi)發(fā)的一套收集傳感器節(jié)點(diǎn)數(shù)據(jù)并進(jìn)行分析和深入挖掘的系統(tǒng)——Sensor information web。Sensor information web有三大主要功能:1. 為用戶提供傳感器網(wǎng)絡(luò)數(shù)據(jù)收集、存儲(chǔ)、共享、可視化以及傳感器節(jié)點(diǎn)的控制。 2. 提供restful webservice api,允許用戶查詢、操作系統(tǒng)中的數(shù)據(jù)。用戶在注冊(cè)時(shí),系統(tǒng)會(huì)為其分配一個(gè)授權(quán)碼,基于該授權(quán)碼,用戶可以注冊(cè)自己的傳感器節(jié)點(diǎn)、上傳傳感器收集的數(shù)據(jù)、在電子地圖上查看以圖表的方式顯示的數(shù)據(jù)等。3. 系統(tǒng)在web界面上提供簡(jiǎn)單的交互界面,允許用戶通過(guò)相關(guān)命令來(lái)控制傳感器。系統(tǒng)和傳感器之間采用webservice 的方式通信,這樣可以屏蔽底層的差異,不用關(guān)心底層的通信細(xì)節(jié);同時(shí)只要傳感器網(wǎng)絡(luò)通信的格式滿足系統(tǒng)制定的標(biāo)準(zhǔn),用戶也可以很容易的將其集成到系統(tǒng)中。我的工作就是將采集到的數(shù)據(jù)封裝在HTTP數(shù)據(jù)報(bào)中發(fā)送到該網(wǎng)站以供使用。 功能流程程序開(kāi)始運(yùn)行時(shí)由XServe端啟動(dòng)網(wǎng)關(guān)節(jié)點(diǎn),然后由網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送喚醒信號(hào)及命令參數(shù)啟動(dòng)感應(yīng)器節(jié)點(diǎn)采集數(shù)據(jù)。: 數(shù)據(jù)采集流程圖 3 關(guān)鍵技術(shù)本章內(nèi)容主要講述節(jié)點(diǎn)層上的應(yīng)用程序所使用到的技術(shù),首先將詳細(xì)的敘述振動(dòng)數(shù)據(jù)采樣部分的程序編寫(xiě)及其與基站模塊的關(guān)系。隨后將詳細(xì)的介紹XMesh組網(wǎng)協(xié)議,XMesh是Crossbow公司開(kāi)發(fā)的一套用來(lái)組建無(wú)線傳感器網(wǎng)絡(luò)的協(xié)議,其中包含了消息傳遞機(jī)制,應(yīng)用程序ID等保證數(shù)據(jù)傳輸?shù)年P(guān)鍵概念,是對(duì)TinyOS系統(tǒng)原有功能的更改和增加,帶有濃重的公司特色。最后是數(shù)據(jù)的處理部分,XServe收集上來(lái)的數(shù)據(jù)被我們轉(zhuǎn)換為Json格式封裝在協(xié)議數(shù)據(jù)包中發(fā)送到Sensor information web中,其中格式轉(zhuǎn)換使用了開(kāi)源的模塊。 振動(dòng)數(shù)據(jù)采集振動(dòng)數(shù)據(jù)采集是本文的主要工作,要獲得振動(dòng)數(shù)據(jù)需要編寫(xiě)網(wǎng)關(guān)節(jié)點(diǎn)和傳感器節(jié)點(diǎn)上的應(yīng)用程序。其中難點(diǎn)是CXL10GP3加速計(jì)的驅(qū)動(dòng)編寫(xiě),因?yàn)橹皼](méi)有接觸過(guò)相關(guān)硬件驅(qū)動(dòng)的編寫(xiě),所以這部分內(nèi)容完全沒(méi)有頭緒卡了很長(zhǎng)時(shí)間才完成。 加速計(jì)驅(qū)動(dòng)CXL10GP3加速計(jì)是Crossbow公司生產(chǎn)的一種測(cè)量范圍在10G的3軸加速計(jì),采用微機(jī)電系統(tǒng)(MEMS)工藝加工而成。內(nèi)置包括放大和濾波在內(nèi)的信號(hào)調(diào)理電路,直接輸出 0~5V的模擬信號(hào)。擁有5個(gè)針腳分別是power,gnd,x,y,z,使用時(shí)將power綁定到EXCITATION50接口。當(dāng)定時(shí)器觸發(fā)時(shí)call ()來(lái)打開(kāi)加速計(jì),對(duì)于x,y,z三個(gè)軸的數(shù)據(jù)采集則放在三個(gè)事件event result_t (uint16_t data);event result_t (uint16_t data);event result_t (uint16_t data),中實(shí)現(xiàn)。數(shù)據(jù)采集完成后,被寫(xiě)入XM2110的存儲(chǔ)器中。XM2110節(jié)點(diǎn)將發(fā)送一條數(shù)據(jù)采集完成消息到網(wǎng)關(guān)節(jié)點(diǎn),隨后網(wǎng)關(guān)節(jié)點(diǎn)響應(yīng)此消息并發(fā)送指令上傳數(shù)據(jù)。 數(shù)據(jù)采集模塊及邏輯關(guān)系數(shù)據(jù)采集流程主要發(fā)生在基站節(jié)點(diǎn)與傳感器節(jié)點(diǎn)之間,采集程序主要由三個(gè)組件通過(guò)配線而成。其中VibrationBase運(yùn)行在基站上,VibrationEnd和SampleLogM運(yùn)行在傳感器節(jié)點(diǎn)上。VibrationBase模塊負(fù)責(zé)傳感器網(wǎng)絡(luò)與中間層X(jué)Serve的聯(lián)系,主要負(fù)責(zé)接受XServe發(fā)送過(guò)來(lái)的命令參數(shù)然后對(duì)傳感器節(jié)點(diǎn)發(fā)出相應(yīng)的消息來(lái)控制數(shù)據(jù)采集。VibrationEnd模塊在接到基站傳來(lái)的參數(shù)以后,將對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行時(shí)間同步。同步完成后調(diào)用SampleLogM模塊進(jìn)行振動(dòng)數(shù)據(jù)采樣,SampleLogM模塊中包含了CXL10GP3加速計(jì)需要用到的驅(qū)動(dòng)。在接到Base模塊的命令后對(duì)傳感器加電,并按照接收到的參數(shù)定時(shí)采集指定數(shù)量的振動(dòng)數(shù)據(jù)存儲(chǔ)在節(jié)點(diǎn)的RAM中。采集完成后觸發(fā)SensingDone()事件,這個(gè)事件將向基站發(fā)送消息告知數(shù)據(jù)采集完成。隨后基站會(huì)發(fā)送命令由VibrationEnd模塊將數(shù)據(jù)上傳。: 節(jié)點(diǎn)程序個(gè)模塊關(guān)系圖 數(shù)據(jù)采集模塊的技術(shù)要點(diǎn)我在編寫(xiě)數(shù)據(jù)采集部分的程序時(shí)花費(fèi)了最多的時(shí)間和精力,這部分遇到的問(wèn)題和難點(diǎn)也最多。首先是驅(qū)動(dòng)編寫(xiě)的問(wèn)題,由于之前從未接觸過(guò)硬件驅(qū)動(dòng)的編寫(xiě)。這部分工作一開(kāi)始就進(jìn)入了死胡同,面對(duì)一個(gè)加速計(jì)完全不知道從何著手。需要發(fā)送什么命令來(lái)啟動(dòng)它,怎么讀數(shù)據(jù),怎么控制它等等一系列問(wèn)題。最后我向Crossbow公司的技術(shù)支持寫(xiě)信求助,他們給了我加速計(jì)的詳細(xì)資料,解決了我大部分的疑問(wèn)。使得我的工作可以繼續(xù)進(jìn)行下去。實(shí)際上根據(jù)已有的資料,我并不需要編寫(xiě)到匯編一級(jí)的代碼。CXL10GP3自身就有調(diào)用的方法可以方便的獲取其中的數(shù)據(jù)。其中power針有兩個(gè)方法,分別是poweron( ),poweroff( )他們分別起到開(kāi)啟/關(guān)閉加速計(jì)電源的作用。對(duì)于其他的數(shù)據(jù)端口x,y,z分別有g(shù)etdata( )方法可供調(diào)用??梢酝ㄟ^(guò)配置文件將這三個(gè)針腳分別綁定到模數(shù)轉(zhuǎn)換板的對(duì)應(yīng)針,當(dāng)加速計(jì)開(kāi)啟時(shí)模擬信號(hào)將直接傳送到對(duì)應(yīng)的信號(hào)入口并轉(zhuǎn)化為數(shù)字信號(hào)。其次是時(shí)間觸發(fā)的問(wèn)題,由前所述,nesC程序是基于事件驅(qū)動(dòng)模式的程序。( ),無(wú)線傳感器網(wǎng)絡(luò)由于電源有限的原因必須采用短期喚醒/長(zhǎng)期睡眠的工作模式來(lái)保證更長(zhǎng)的工作時(shí)間。所以在其上的應(yīng)用程序都是隨著時(shí)鐘觸發(fā)而執(zhí)行的,如何合理的安排時(shí)鐘到點(diǎn)時(shí)觸發(fā)事件中的命令調(diào)用成為合理安排各接口中函數(shù)調(diào)用的關(guān)鍵。本文中時(shí)間觸發(fā)的事件都安排在基
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1