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

正文內(nèi)容

基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)畢業(yè)設(shè)計論文-資料下載頁

2024-08-29 10:58本頁面

【導(dǎo)讀】第三浪潮,大國紛紛將其納為重點領(lǐng)域,顯而易見,它將影響到政治,軍事,經(jīng)濟(jì),環(huán)境等方方面面,必在未來極大地改變?nèi)藗兊纳?。物?lián)網(wǎng)是新一代信息技術(shù)的重要組成部分。其英文名稱是“Theinterof. 顧名思義,“物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)”。這里包括兩層意思:第一,物。其用戶端延伸和擴(kuò)展到了任何物體與物體之間,進(jìn)行信息交換和通信。實現(xiàn)對物體的智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。的傳感器所捕獲的信息內(nèi)容和信息格式不同。其目的是實現(xiàn)物與物、物與人,所有。其在2020年的產(chǎn)業(yè)規(guī)模超過2600. 智能醫(yī)療、智能農(nóng)業(yè)、智能環(huán)保和智能家居等。產(chǎn)品便利化的發(fā)展,未來智能家居市場潛力巨大。智能家居的基本目標(biāo)是將家庭中各種信息相關(guān)的通信設(shè)備、家用電器和家用安防。在當(dāng)前市場中,智能家居相比傳統(tǒng)家居、建材行業(yè)所占的市場份額還是微乎其微。成本更加低廉,功能更加完美,其市場需求將會非常巨大。

  

【正文】 分析,確定了系統(tǒng)總體架構(gòu)設(shè)計,然后針對其方案進(jìn)行軟硬件選型。首先確定了 SAMSUNG 公司的 32 位 RISC 處理器 S3C2440 作為微控制器芯片;其次是介紹本智能家居各模塊所使用到的硬件 設(shè)備 , 接著介紹幾種嵌入式操作系統(tǒng) 和選擇嵌入式操作系統(tǒng)的依據(jù), 最后確定了適合 CPU 的最佳嵌入式操作系統(tǒng) 。 梁力源:基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng) 20 第 3 章 建立 Linux 開發(fā)環(huán)境 搭建開發(fā)環(huán)境 安裝虛擬機、 Linux 操作系統(tǒng)、源代碼及其他工具 本設(shè)計是在虛擬機上安裝 Linux操作系統(tǒng) Fedora 版本而進(jìn)行。首 先安裝 vmware并下載 鏡像,安裝好 Fedora 操作系統(tǒng)。 在操作終端上創(chuàng)建工作目錄 /opt/FriendlyARM/mini2440,在此終端上解壓安裝源代碼,此次用的是內(nèi)核自帶的內(nèi)核源代碼 : 。此次設(shè)計用開發(fā)板自動的 armqtopia 設(shè)計 qt 運行界面。 建立交叉編譯環(huán)境 在 Linux 平臺下,要為開發(fā)板編譯內(nèi)核,圖形界面 Qtopia, bootloader,還有其他一些應(yīng)用程序,均 需要交叉編譯工具鏈。 之前的系統(tǒng),要使用不同的編譯器版本才能正常編譯各個部分,因此要在開發(fā)過程不斷切換設(shè)置,這十分不利于初學(xué)者使用,也降低了開發(fā)的效率;自從 開始 (Mini2440 所配內(nèi)核已為最新的 ),我們把交叉編譯器統(tǒng)一為,下面是它的安裝設(shè)置步驟。 (1)將 復(fù)制到某個目錄下如 tmp\,然后進(jìn)入到該目錄,執(zhí)行解壓命令: cd /tmp tar xvzf –C / (2) Step2:把編譯器路徑加入系統(tǒng)環(huán)境變量,運行命令 gedit /root/.bashrc 編輯 /root/.bashrc 文件,在最后一行添加: export PATH=$PATH: /opt/FriendlyARM/toolschain/保存退出, 注銷系統(tǒng)后,使設(shè)置生效,重新登錄系統(tǒng) (不必重啟機器,開始 logout 即可 ),在命令行輸入 armlinuxgcc – v,若沒有輸出錯誤信息即表示建立交叉編譯環(huán)境成功。 2020屆計算機科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(論文) 21 配置網(wǎng)絡(luò)文件系統(tǒng) NFS NFS 是 Network File System 的簡寫,即網(wǎng)絡(luò)文件系統(tǒng), NFS 允許一個系統(tǒng)在網(wǎng)絡(luò)上與他人共享文件。通過使用 NFS,用戶和程序可以像訪問本地文件一樣訪問別的系統(tǒng)上的文件。 在嵌入式開發(fā)環(huán)境中,通過 NFS 服務(wù)器,可以把 NFS 作為根文件系統(tǒng)來啟動開發(fā)板,通過使用 NFS 作為根文件系統(tǒng),不僅使開發(fā)板的“硬盤”變得很大,還可以減少程序燒寫的次數(shù),提供程序開發(fā)速度 [11]。下面介紹 NFS 服務(wù)器的安裝和配置。 ? 首先安裝 NFS 服務(wù)器 一般情況下系統(tǒng)默認(rèn)按照好 NFS 服務(wù),系統(tǒng)不默認(rèn)安裝 的話,只需要下載兩個安裝包安裝即可: ? nfsutils*(包括基本的 NFS 命令與監(jiān)控程序 ) ? portmap*(支持安全 NFS RPC 服務(wù)的連接 ) ? 接著需要共享 Linux 系統(tǒng)和開發(fā)板目錄。 必須解壓安裝好 root_qtopia 目標(biāo)板文件系統(tǒng)包。接著在 Fedora 的終端上運行命令 gedit /etc/exports , 編 輯 nfs 服 務(wù) 的 配 置 文 件 , 添 加 以 下 內(nèi) 容/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 * ( rw,sync,no_root_squash ) ,其中/opt/FriendlyARM/**/rootfs_qtopia_qt4 表示 nfs 共享目錄。 ? 最后啟動 NFS 服務(wù)。 在命令行下運行以下命令即可: /etc/。 嵌入式軟件開發(fā)層次 本設(shè)計的軟件系統(tǒng) 一個嵌入式 Linux 系統(tǒng)從軟件角度來看可以分為三個層次: ( 1) 引導(dǎo)加載程序,包括固化在固件中的 boot 程序 (可選 ),和 Bootloader 部分兩大部分。 ( 2) linux 內(nèi)核,特定于嵌入式平臺的定制內(nèi)核。 ( 3) 文件系統(tǒng),包括了系統(tǒng)命令和應(yīng)用程序。一個同時裝有 BootLoader、內(nèi)核的啟動參數(shù)、內(nèi)核映像和根文件系統(tǒng)映像的固態(tài)存儲設(shè)備的典型空間分配結(jié)構(gòu)圖如圖 梁力源:基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng) 22 圖 空間分配結(jié)構(gòu)圖 BootLoader 介紹 簡單的說 bootloader 是一段程序,它的作用就是加載操作系統(tǒng), BootLoader(引導(dǎo)加載程序)是系統(tǒng)加電后運行的第一段軟件代碼 [12]。通過這段代碼實現(xiàn)硬件的初始化,建立內(nèi)存空間的映射圖,為操作系統(tǒng)內(nèi)核準(zhǔn)備好硬件環(huán)境并引導(dǎo)內(nèi)核的啟動。 bootloader位于最底層,首先被運行來引導(dǎo)操作系統(tǒng)運行,很容易可以看出 bootloader 是底層 程序所以它的實現(xiàn)嚴(yán)重地依賴于硬件,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 BootLoader 幾乎是不可能的。盡管如此,一些功能強大、支持硬件環(huán)境較多的 BootLoader 也被廣大的使用者和愛好者所支持,從而形成了一些被廣泛認(rèn)可的、較為通用的的 bootloader 實現(xiàn)。 此次開發(fā)板引導(dǎo)程序用的是 Supervivi,它是友善之臂基于 vivi 改進(jìn)的一個簡單易用的 Bootloader。在此不用自己來移植 bootloader。 定制 Linxu 內(nèi)核 Linux 是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核 。它是一個用 C 語言寫成,符合 POSIX標(biāo)準(zhǔn)的類 Unix 操作系統(tǒng)。 Linux 最早是由芬蘭黑客 LinusTorvalds 為嘗試在英特爾 x86架構(gòu)上提供自由免費的類 Unix 操作系統(tǒng)而開發(fā)的。該計劃開始于 1991 年,在計劃的早期有一些 Minix 黑客提供了協(xié)助,而今天全球無數(shù)程序員正在為該計劃無償提供幫助。技術(shù)上說 Linux 是一個內(nèi)核?!皟?nèi)核”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于 Linux內(nèi)核的完整操作系統(tǒng)叫作 Linux 操作系統(tǒng),或是 GNU/Linux。 Linux 內(nèi)核源代碼很龐大,想要短時間內(nèi)讀懂大部分內(nèi)核源代碼幾乎是不可能的,此次設(shè)計用的是開發(fā)板自帶的內(nèi)核,版本號是 。首先把內(nèi)核代碼解壓安裝 在 工作 目錄 /opt/FriendlyARM/mini2440 , 進(jìn)入 內(nèi)核 代 碼根 目錄 ,執(zhí) 行“ cp config_mini2440_t35 .config_t35‖使用缺省的配置文件。然后執(zhí)行“ make menuconfig‖,打開內(nèi)核配置界面,配置好內(nèi)核后通過執(zhí)行“ make zImage‖命令編譯內(nèi)核,編譯結(jié)束后2020屆計算機科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(論文) 23 在 /arch/arm/boot 目錄下生成 Linux 內(nèi)核映像文件 zImage。 根文件系統(tǒng) 文件系統(tǒng)是對一個存儲設(shè)備上的數(shù)據(jù)和元數(shù)據(jù)進(jìn)行組織的機制。這種機制有利于用戶和操作系統(tǒng)的交互。在 Linux 中沒有文件系統(tǒng)的話,用戶和操作系統(tǒng)的交互也就斷開了,所有應(yīng)用用戶程序,都沒有辦法運行。 根文件系統(tǒng),是 Linux/Unix 系統(tǒng)啟動的一個重要的組成部分,也是操作系統(tǒng)正常工作的必要組成部分。 Linux 要在一個分區(qū)上存放系統(tǒng)啟動所必需的文件,如 Init 進(jìn)程、系統(tǒng)配置文件、文件系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)等等的工具集、鏈接庫等等。這些存放在同一個分區(qū)中的基本且必需的文件合起來稱為根文件系統(tǒng)。根文件系統(tǒng)的基本目錄結(jié)構(gòu)一般包括: /bin, /sbin, /etc, /proc, /dev, /bin, /usr, /lib, /tmp 等,如有需要可再添加。下面做簡單介紹: ? /bin 存放 root 與普通賬號的命令,由于這些命令在掛接其他文件系統(tǒng)之前就可以使用,所以 /bin 目錄和根文件系統(tǒng)在同一個分區(qū)中。 ? /sbin 存放系統(tǒng)命令,只有系統(tǒng)管理員( root)能夠使用的命令,系統(tǒng)命令還可以存放在 /usr/sbin,/usr/local/sbin 目錄下, /sbin 目錄中存放的 是基本的系統(tǒng)命令,它們用于啟動系統(tǒng)和修復(fù)系統(tǒng)等 ? /etc 存放著系統(tǒng)主要的配置文件,例如人員的賬號密碼文件、各種服務(wù)的其實文件等。 ? /lib 存放共享庫和可加載(驅(qū)動程序),共享庫用于啟動系統(tǒng)。運行根文件系統(tǒng)中的可執(zhí)行程序。 ? /home 系統(tǒng)默認(rèn)的用戶文件夾,它是可選的,對于每個普通用戶,在 /home 目錄下都有一個以用戶名命名的子目錄,里面存放用戶相關(guān)的配置文件。 ? /root 存放系統(tǒng)管理員( root)的主文件夾的,即是根用戶的目錄。 ? /usr 存放的是共享、只讀的程序和數(shù)據(jù),這表明 /usr 目錄下的內(nèi)容可以在 多個主機間共享,這些主要也符合 FHS 標(biāo)準(zhǔn)的。 ? /var 存放可變的數(shù)據(jù),比如 spool 目錄( mail,news), log 文件,臨時文件。 ? /mnt 存放臨時掛載某個文件系統(tǒng)的掛接點,通常是空目錄,也可以在里面創(chuàng)建一引起空的子目錄,比如 /mnt/cdram /mnt/hda1 。用來臨時掛載光盤、移動存儲設(shè)備等。 ? /tmp 存放臨時文件,通常是空目錄,一些需要生成臨時文件的程序用到的 /tmp 目錄梁力源:基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng) 24 下,所以 /tmp 目錄必須存在并可以訪問。 本章小結(jié) 本章主要介紹了嵌入式系統(tǒng)開發(fā)平臺搭建過程。分別對虛擬機安裝 ,交叉編譯環(huán)境、在 Linux 服務(wù)器上安裝交叉編譯工具鏈、嵌入式 Linux 內(nèi)核的配置和編譯, YAFFS32文件系統(tǒng)的實現(xiàn) ,以及嵌入式軟件開發(fā)層次等。 2020屆計算機科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(論文) 25 第 4 章 系統(tǒng)的實現(xiàn) 本智能家居系統(tǒng)分幾個模塊組成: GSM 遠(yuǎn)程控制模塊,溫度、煙霧數(shù)據(jù)采集模塊,具有語音提示功能的密碼鎖防盜功能模塊,預(yù)防小 孩墜樓模塊。每個硬件模塊在嵌入式開發(fā)中稱為設(shè)備,每個設(shè)備想要 運行都要在 Linux 內(nèi)核中編寫設(shè)備驅(qū)動程序。所謂設(shè)備驅(qū)動程序就是控制與管理硬件設(shè)備數(shù)據(jù)收發(fā)的軟件,它是應(yīng)用程序與硬件設(shè)備溝通的橋梁。從本質(zhì)上講設(shè)備驅(qū)動程 序主要負(fù)責(zé)硬件設(shè)備的數(shù)據(jù)讀寫、參數(shù)配置與中斷處理。設(shè)備驅(qū)動程序是 操作系統(tǒng)的一部分,通常運行在內(nèi)核層。應(yīng)用層通過系統(tǒng)調(diào)用進(jìn)入內(nèi)核層,內(nèi)核層根據(jù)系統(tǒng)調(diào)用號來調(diào)用驅(qū)動程序?qū)?yīng)的接口函數(shù)。 Linux 驅(qū)動程序運行的原理 如圖 所示。 應(yīng) 用 程 序系 統(tǒng) 調(diào) 用用 戶 態(tài)驅(qū) 動 程 序硬 件 接 口 / 總 線內(nèi) 核 態(tài) 圖 驅(qū)動程序運行原理 Linux 中的大部分驅(qū)動程序,是以內(nèi)核模塊的形式編寫的,內(nèi)核模塊是 Linux 內(nèi)核向外部提供的一個接口。 Linux 內(nèi)核本身就是一個單內(nèi)核,具有效率高的優(yōu)點,也具有可擴(kuò)展性和 可維護(hù)性差的缺陷,模塊機制就是為了彌補這一缺陷而設(shè)計的。內(nèi)核模塊可以單獨編譯,在運行時被鏈接到內(nèi)核,作為內(nèi)核的一部分在內(nèi)核空間中運行。采用可加載模塊方式可以讓驅(qū)動程序的運行更加靈活,也更便于調(diào)試。本設(shè)計就是用動態(tài)可加載方式逐個模塊調(diào)試好,調(diào)試好后在直接編譯進(jìn)內(nèi)核中,然后開機就運行應(yīng)用程序。 一般來說, Linux 系統(tǒng)將設(shè)備分為 3 種類型:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)接口設(shè)備。 梁力源:基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng) 26 本系統(tǒng)設(shè)計中用到的設(shè)備都是指字符設(shè)備驅(qū)動,這里主要講解字符設(shè)備及其相關(guān)內(nèi)容。 字符設(shè)備是指那些 每次 只能一個字節(jié)讀寫數(shù)據(jù)的設(shè)備,不能隨機讀取設(shè)備 內(nèi)存中的某 一數(shù)據(jù), 其驅(qū)動程序中完成的主要工作是初始化、添加和刪除 cdev 結(jié)構(gòu)體,申請和釋放設(shè)備號,以及填充 file_operations 結(jié)構(gòu)體中 操作函數(shù),并實現(xiàn) file_operations結(jié)構(gòu)體中的 read()、 write()、 ioct1()等重要函數(shù)。 cdev 結(jié)構(gòu)體、 file_operations 和用戶空間調(diào)用驅(qū)動的關(guān)系如圖 所示。 c d e vd e v _ t F i l e _ o p e r a t i o n so p e n ( ) r e a d ( ) I o c t l ( )?模 塊 卸 載 函 數(shù)模 塊 加 載 函 數(shù)用 戶 空 間系 統(tǒng) 調(diào) 用i n s m o dr m m o d圖 字符設(shè)備與用戶空間關(guān)系 想要設(shè)備正常工作,就必須要按圖 所示先 加載設(shè)備驅(qū)動模塊,然后才能正 確調(diào)用 open()、 read()、 write()、 ioctl()函數(shù)操作系統(tǒng)硬件設(shè)備。 另外,上層應(yīng)用程序是在 qtopia 中編譯的,而智能家居系統(tǒng)每個模塊必須互不干擾,其中一個模塊發(fā)生故障應(yīng)不影響其他模塊的運行,要實現(xiàn) 每個模塊能單獨工作,這里用到了多線程的技術(shù),為每個模塊創(chuàng)建 Timer 定時器,把每個模塊的程序放在定時器函數(shù)中運行 , 下面分別詳細(xì)介紹本設(shè)計的幾個模塊的調(diào)試過程。 2020屆計算機科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(論文) 27 GSM 遠(yuǎn)程控制模塊的實現(xiàn) mini2440 串口的配置 和實現(xiàn) 在實際程序設(shè)計過程中主要
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1