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

正文內(nèi)容

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

2024-11-17 21:27本頁面

【導(dǎo)讀】詞,掀起信息產(chǎn)業(yè)第三浪潮,大國紛紛將其納為重點(diǎn)領(lǐng)域,顯而易見,物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分。其英文名稱是“The. 顧名思義,“物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)”。了任何物體與物體之間,進(jìn)行信息交換和通信。因此可總結(jié)出,物聯(lián)。息源,不同類別的傳感器所捕獲的信息內(nèi)容和信息格式不同。其目的是實(shí)現(xiàn)物與物、物與人,所有的物品與網(wǎng)絡(luò)的實(shí)時(shí)。連接,方便識(shí)別、管理和控制。其在2020年的產(chǎn)業(yè)規(guī)模超過2600億。元人民幣,行業(yè)競爭將會(huì)越來越激烈。在市場應(yīng)用方面,2020年從整。本文研究的是基于物連網(wǎng)技術(shù)的智能家居系統(tǒng)。實(shí)現(xiàn)全面、安全、舒適的居住環(huán)境以及便利的通訊網(wǎng)絡(luò)家庭住宅。質(zhì)生活水平的提高,人們對家居生活環(huán)境的要求也越來越高。安全防范、家電遠(yuǎn)程監(jiān)控,遠(yuǎn)程視頻監(jiān)控、遠(yuǎn)程醫(yī)療診斷及護(hù)理系統(tǒng),智能家居的基本目標(biāo)是將家庭中各?;陌l(fā)展,智能家居系統(tǒng)將擁有更豐富的內(nèi)容,系統(tǒng)也越來越復(fù)雜,在目前的智能家居市場中不少企業(yè)均是發(fā)展項(xiàng)目與

  

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