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

正文內(nèi)容

基于嵌入式web服務器的遠程溫度監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)-wenkub.com

2024-11-04 01:27 本頁面
   

【正文】 一般注釋掉,即不需要啟 動 。如果沒有注釋掉,則使用本地時間。如果沒有以 /開始,則表示從服務器的根路徑開始。如果沒有以 /開始,則表示從服務器的根路徑開始。 Listen 作為哪個用戶運行,即它擁有該用戶的權(quán)限,一般都是 nobody,需要 /etc/passwd 中 添加為 nobody 用戶 。 Boa 需要在 /etc 目錄下建立一個 boa 目錄,里面放入 Boa 的主要配置文件 。 tar xzf cd ./configure//生成 Makefile 文件 。在判斷數(shù)據(jù)傳輸方式時,如果發(fā)現(xiàn)是 POST 方式時, Boa 服務器將瀏覽器 客 戶 端 提 交 的 數(shù) 據(jù) 填 充 到 頭 文 件 下 的 結(jié) 構(gòu) 體 request 成 員 char*content_length 變換,通過 getenv(“ CONTENT_LENGTH” )的方式獲取字符流數(shù)據(jù),再通過標準輸入輸出的方式解析數(shù)據(jù)。 Boa 的設(shè)計目標是速度和安全,在其站點公布的性能測試中, Boa 的性能要好于 Apache 服務器 。這一點在進行 DS18B20 硬件連接和軟件設(shè)計時也要給予一定的重視。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達 150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。 在 DS18B20 的有關(guān)資料中均未提及單總線上所掛 DS18B20 數(shù)量問題,容易使人誤認為可以掛任意多個 DS18B20,在實際應用中并非如此。 所有的讀寫時隙至少需要 60us,且每兩個獨立的時隙之間至少需要 1us 的恢復時間。 s3c2410_gpio_cfgpin(DS18B20_PIN, DS18B20_PIN_INP)。 s3c2410_gpio_setpin(DS18B20_PIN, LOW)。 unsigned char byte = 0。數(shù)據(jù)線必須保持低電平至少 1us,來自 DS18B20 的輸出數(shù)據(jù)在讀時隙下降沿之后的 15us 內(nèi)有效,因此在次 15us 內(nèi),主機必須將數(shù)據(jù)線引腳置低。 重慶大學本科學生畢業(yè)設(shè)計 (論文) 3 系統(tǒng)設(shè)計與實現(xiàn) 18 udelay(15)。 HIGH) { // 若 byte 變量的 D0 位是 1,則需向總線上寫 “ 1” // 根據(jù)寫 “ 1“ 時隙規(guī)則,電平在此處翻轉(zhuǎn)為高 s3c2410_gpio_setpin(DS18B20_PIN, HIGH)。 i 8。對于主機產(chǎn)生寫“ 1”時隙的情況,數(shù)據(jù)線必須先被拉低,然后釋放,在寫時隙開始后的 15us 內(nèi)允許數(shù)據(jù)線拉至高電平。} 首先看寫時隙,當主機將數(shù)據(jù)線從高電平拉低至低電平時產(chǎn)生寫時隙。 // 向 DS18B20 發(fā)送一個上升沿,此時可釋放 DS18B20 總線 s3c2410_gpio_setpin(DS18B20_PIN, HIGH)。 // 向 DS18B20 發(fā)送一個上升沿,并保持高電平狀態(tài)約 100 微秒 s3c2410_gpio_setpin(DS18B20_PIN, HIGH)。主機釋放總線時,會產(chǎn)生一個上升沿。本論文選擇獨立供電的方式來驅(qū)動 DS18B20,其中選擇 S3C2440 的 GPB1 腳作為信號線。這樣,加載模塊的時候,用戶空間中的 udev 會自動響應device_create()函數(shù),去 /sysfs 下尋找對應的類從而創(chuàng)建設(shè)備節(jié) 點 [11]。返回EBUSY 表示所申請的主設(shè)備號正在被其它設(shè)備驅(qū)動程序使用。 name 是設(shè)備名。 return 1。s3c2440_18b20_fops)0) { printk(DEV_NAME :Register major failed.\r\n)。 buf[1]=data[1]。它也建立描述這個字符特殊文件的 file 數(shù)據(jù)結(jié)構(gòu),讓它的文件操作指針指向設(shè)備驅(qū)動程序中的相應操作。 每一個 VFSI 節(jié)點都關(guān)聯(lián)著一組文件操作,它們依賴于 VFSI 節(jié)點所代表的文件系統(tǒng)對象的不同而不同。 重慶大學本科學生畢業(yè)設(shè)計 (論文) 3 系統(tǒng)設(shè)計與實現(xiàn) 14 當代表一個字符設(shè)備的字符特殊文件打開時,內(nèi)核必須做一些事情,從而去調(diào)用正確的字符設(shè)備驅(qū)動程序。當字符設(shè)備初始化時,它的設(shè)備驅(qū)動程序向Linux 內(nèi)核 進行 登記,在 Chrdevs 向量表 中 增加一個 device_struct 數(shù)據(jù)結(jié)構(gòu)條目。也就是說,系統(tǒng)必須在 用戶 的驅(qū)動程序的子函數(shù)返回后才能進 行其 它 的工作。 另外每個文件都有兩個設(shè)備號 : 第一個是主設(shè)備號,標 識驅(qū)動程序 ; 第二個是從設(shè)備號,標識使用同一個設(shè)備驅(qū)動程序的不同硬件設(shè)備 。 塊 設(shè)備則不然,它利用一塊系統(tǒng)內(nèi)存作 為 緩沖區(qū),當用戶進程對設(shè)備 的操作 請求能滿足用戶的要求 時 ,就返回請求的數(shù)據(jù),如果不能,就調(diào)用請求函數(shù)來進行實際的 I/O 操作 。 3) 讀取應用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應用程序請求的數(shù)據(jù) 。 重慶大學本科學生畢業(yè)設(shè)計 (論文) 3 系統(tǒng)設(shè)計與實現(xiàn) 13 設(shè)備驅(qū)動程序的建立 系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核和應用程序之間的接口,設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口 。 /*對 null_writer_fd 的處理 */ if(null_writer_fd 0) /*打開錯誤 */ { perror(open control pipe for write)。 /*mkfifio()函數(shù) ,fifo 方式的確立 */ /*打開管道 */ /*注意 O_RDONLY 和 O_NONBLOCK 的打開方式 */ /*管道號賦給 ds_control_pipe*/ ds_control_pipe = open(/tmp/dscontrol,O_RDONLY | O_NONBLOCK)。這樣,不管有沒有寫進程,讀打開操作就會立即返回。 命名管道常常會產(chǎn)生阻滯狀態(tài)。由于命名管道是個特殊的文件,不像普通文件那樣存在于內(nèi)核中,僅僅建立并不能立即使用,必須打開才能進行讀寫操作。這樣,用戶程序的系統(tǒng)調(diào)用 仍然是通常的文件操作,而內(nèi)核卻利用這種抽象機制實現(xiàn)了 命名 管道這一特殊操作。 其中,前三種機制只能用于本地進程間的通信,而后兩種可以支持遠程進程間的通信,一般用于網(wǎng)絡(luò)編程。 Makefile 的成功編寫是實現(xiàn)本項目的重要工作,而且 Makefile 的合理使用為編寫復雜的程序提供了便利。 如果 我們編寫的文件中 的 C 文件和 H 文件 都是存在的 , 那么 make 會生成 .o 文件,然后再用 .o 文件生成 make 的終極任務,也就是 可 執(zhí)行文件了。那么 make 會按照以下方式進行工作: make 會在當前目錄下找名字叫“ Makefile”或“ makefile”的文 件。 在定義好依賴關(guān)系后,后續(xù)的那一行定義了如何生成目標文件的操作系統(tǒng)命令,一定要以一個 Tab 鍵作為開頭 , make 是靠開頭的那個 tab 來辨別命令行,所以一定要注意不要在非命令行之前加上 tab。說 直白一點就是說, prerequisites 中如果有一個以上的文件比 target 文件要新的話,mand 所定義的命令就會被執(zhí)行, 這就是 Makefile 的規(guī)則, 也就是 Makefile 最核心的內(nèi)容。 Makefile 的 語法 為: target ...: prerequisites ... mand ... ... target 就是一個目標文件,可以 是 可 執(zhí)行文件, 也 可以是一個標簽( Label)。 make 是一個解釋Makefile 中指令的命令工具。 圖 交叉編譯原理圖 重慶大學本科學生畢業(yè)設(shè)計 (論文) 3 系統(tǒng)設(shè)計與實現(xiàn) 9 交叉編譯器的安裝 ,需要先下載 文件包 ,下載完成后安裝 步驟如下: [rootlocalhost ] tar zxvf [rootlocalhost ] ls [rootlocalhost ] mv /usr/local/arm 修改環(huán)境變量: [rootlocalhost ] vi 然后再最后加上 export PATH=$PATH:/usr/local/arm/[rootlocalhost ] source /etc/ //生效 通過上述步驟即可 完成交叉編譯器的安裝,編寫的 C 語言程序即可通過交叉編譯器的編譯在開發(fā)板上運行。因此,不同的 CPU 需要有相應的編譯器,而交叉編譯就如同翻譯一樣,把相同的程序代碼翻譯成不同的 CPU 的 對應語言。其硬件結(jié)構(gòu)圖如 所示。 3)、 Web 頁面設(shè)計 模塊 。其次是編寫加載完成的 DS18B20 的設(shè)備控制程序, 可 接受來自遠程瀏覽器的控制, 并 把采集到 的溫度信息 返回 遠程瀏覽器。 本文所設(shè)計的嵌入式遠程溫度監(jiān)測系統(tǒng),根據(jù)系統(tǒng)功能需求,整個系統(tǒng)被劃分為 3 個模塊 ,分別為:溫度采集與控制模塊、 CGI 接口模塊和 Web 頁面設(shè)計模塊 。 Ubuntu 囊括了大量從 Debian 發(fā)行版 中 精挑細選的軟件包,同時保留了 Debian 強大的軟件包管理系統(tǒng),以便簡易的安裝或徹底的刪除程序。 與 UNIX 系統(tǒng)相似, Linux 系統(tǒng)大致可分為 3 層:靠近硬件的底層是內(nèi)核,即Linux 操作系統(tǒng)的常駐內(nèi)存部分;中間層是內(nèi)核之外的 Shell 層,亦即操作系統(tǒng)的系統(tǒng)程序部分;最高層是應用層,即用戶程序部分,包括各種文本處理程序、語言 編譯程序及游戲程序 等 [4]。在腳本中,用戶可以使用變量、控制 程序 執(zhí)行的流程、使用規(guī)則表達式等功能。 Linux 系統(tǒng)主要運行于 Intel 系列的個人計算機,但也支持 Alpha、Sparc 等平臺。 ◆ 多用戶。 軟件體系方案 本文所采用的軟件試驗平臺是 Linux 操作系統(tǒng) ,簡單地說, Linux 是一種主要適用于個人計算機的類似于 UNIX 的操作系統(tǒng)。 外圍溫度監(jiān)測傳感器采用的是 DS18B20 溫度監(jiān)測芯片,該芯片大大減小了外圍電路的復雜程度,是很理想的溫度檢測裝置。 ARM 公司 于 1991 年成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。 應 用 軟 件嵌 入 式 操 作 系 統(tǒng)嵌 入 式 處 理 器外 圍 設(shè) 備硬 件 設(shè) 備 重慶大學本科學生畢業(yè)設(shè)計 (論文) 2 遠程溫度監(jiān)測系統(tǒng)設(shè)計與軟硬件平臺搭建 5 圖 嵌入式體系結(jié)構(gòu)圖 硬件體系方案 硬件設(shè)備包括嵌入式處理器和外圍設(shè)備。 熟悉嵌入式的開發(fā)流程對完成大的嵌入式項目是至關(guān) 重要的, 其開發(fā)流程如圖 所示 。 課題主要研究內(nèi)容如下: ( 1)通過查閱資料,了解嵌入式系統(tǒng) Linux 以及 shell 腳本的編程環(huán)境和使用方法; ( 2)熟悉嵌入式 Web 服務器的工作原理并完成在開發(fā)板上的嵌入式 Web 服務器的構(gòu)建; ( 3)了解網(wǎng)頁的編寫方法,用 html 語言實現(xiàn)一個簡單的顯示溫度的網(wǎng)頁界面; ( 4)熟悉溫度傳感器 DS18B20 的工作原理,編寫 DS18B20 的驅(qū)動程序,并在 ARM 開發(fā)板實現(xiàn)對溫度傳感器的數(shù)據(jù)讀取; ( 5)熟悉 CGI 的編程方法以及實現(xiàn)原理,完成網(wǎng)頁操作對開發(fā)板上的溫度數(shù)據(jù)的讀取,并返回至網(wǎng)頁顯示。這種設(shè)備可以是具有有限內(nèi)存資源的 8 位或 16 位系統(tǒng), 只要其內(nèi)存 足夠提供一個 用戶界面 ,而且這種方式是基于 Inter 的。由于 HTML 語言的標準統(tǒng)一性,只要在嵌入式設(shè)備中有一個微型服務器,就可以使用任意一種 Web 瀏覽器接收和發(fā)送信息。以前的設(shè)備控制系統(tǒng)一般是通過專用通信線中進行 控制 的,其通信介質(zhì)、通信協(xié)議、相關(guān)軟件和硬件都是專用的,而 Inter 技術(shù)的發(fā)展使嵌入式設(shè)備的遠程控 制和管理方式 發(fā)生了 改變。 嵌入式 Linux 是將 Linux 操作系統(tǒng) 進行裁剪修改,使之能在 嵌入式計算機系統(tǒng) 上運行的一種操作系統(tǒng) ,在 嵌入式實時操作系統(tǒng)中廣泛應用 。 RTOS 的技術(shù)發(fā)展有重慶大學本科學生畢業(yè)設(shè)計 (論文) 1 緒論 2 以下一些變化: 1) 因為新 的處理器越來越多, RTOS 自身結(jié)構(gòu)的設(shè)計 變得 更易于移植,以便在短時間內(nèi)支持更多種微處理器 。 隨著計算機技術(shù)的迅速發(fā)展和芯片制造工藝的不斷進步,嵌入式系統(tǒng)的應用日益廣泛:從民用的電視、手機等電路設(shè)備到軍用的飛機、坦克等武器系統(tǒng),到處都有嵌入式系統(tǒng)的身影。嵌入式系統(tǒng)和 Inter 的結(jié)合是 未來的發(fā)展方向,具有
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1