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

正文內(nèi)容

基于arm的智能家居遠程控制系統(tǒng)本科-資料下載頁

2024-12-07 09:54本頁面

【導(dǎo)讀】如何將信息產(chǎn)業(yè)的最新成果,應(yīng)用于構(gòu)建一個舒適和諧的家居環(huán)境,已日益引起人們的關(guān)注和重視。智能家居系統(tǒng)可以將相對獨立的電器產(chǎn)品“智能。"地連接在一起,提供全方位信息交換功能,幫助家庭內(nèi)部及外部實現(xiàn)信息暢通,從而優(yōu)化生活環(huán)境,提高生活質(zhì)量。該設(shè)計是一種基于GPRS網(wǎng)絡(luò)的以ARM和。制節(jié)點進行遠程控制。智能家居遠程控制系統(tǒng)的核心部分是一個嵌入式服務(wù)器,任務(wù);系統(tǒng)留有豐富的功能擴展接口。本系統(tǒng)基于B/S結(jié)構(gòu),具有軟硬件資源。豐富,成本低,功耗小,便于擴展,升級及維護等優(yōu)點,具有一定實用價值。Keywords:SmartHome;ARMEmbedded;LinuxSystem;GPRStechnology;

  

【正文】 發(fā)送和接收,為服務(wù)區(qū)內(nèi)所有用戶提供雙向的分組路由。系統(tǒng)共用 GSM 基站,但基站要進行軟件更新,并采 用新的 GPRS 移動臺。GPRS 要增加新的移動性管理程序,通過路由器實現(xiàn) GPRS 骨干網(wǎng)互聯(lián)。 協(xié)議 移動臺 (MS)和 SGSN 之間的 GPRS 分層協(xié)議模型如圖 316 所示。 Um 接口是 GSM 的空中接口。 Um 接口上的通信協(xié)議有 5 層,自下面上依次為物理層、MAC 層、 LLC 層、 SNDC (子網(wǎng)依賴結(jié)合層,是完成傳送數(shù)據(jù)的分組、打包,確定 TCP/ IP 地址和加密方式。在 SNDC 層,移動臺和 SGSN 之間傳送的數(shù)據(jù)被分割為一個或多個 SNDC 數(shù)據(jù)包單元。 SNDC 數(shù)據(jù)包單元生成后被放置到 LLC幀內(nèi)。 )層和網(wǎng)絡(luò)層。 Um 接口 的物理層為射頻接口部分,而物理鏈路層則負責(zé)提供空中接口的各種邏輯信道。 MAC 為媒質(zhì)接入控制層。 MAC 的主要作用是定義和分配空中接口的 GPRS 邏輯信道,使得這些信道能被不同的移動臺共享。 圖 316 GPRS 分層協(xié)議模型 協(xié)議模型 LLC 層為邏輯鏈路控制層。它是一種基于高速數(shù)據(jù)鏈路規(guī)程 HDLC 的無線常州工 學(xué)院畢業(yè)設(shè)計論文 23 鏈路協(xié)議。 LLC 層負責(zé)在高層 SNDC 層的 SNDC 數(shù)據(jù)單元上形成 LLC 地址、幀字段,從而生成完整的 LLC 幀。 SNDC 被稱為子網(wǎng)依賴結(jié)合層。它的主要作用是完成傳送數(shù)據(jù)的分組、打包,確定 TCPflP 地址和加 密方式。網(wǎng)絡(luò)層的協(xié)議目前主要是 Phase l 階段提供的 TCP/ IP 和 X25 協(xié)議,這些協(xié)議對于傳統(tǒng)的 GSM網(wǎng)絡(luò)設(shè)備 (如 BSS 和 NSS 等設(shè)備 )是透明的。 的路由管理 GPRS 的路由管理是指 GPRS 網(wǎng)絡(luò)如何進行尋址和建立數(shù)據(jù)傳送路由。 GPRS 的路由管理表現(xiàn)在以下三個方面:移動臺發(fā)送數(shù)據(jù)的路由建立、移動臺接收數(shù)據(jù)的路由建立、以及移動臺處于漫游時數(shù)據(jù)路由的建立。 第一種情況,如圖中的路徑 1 所示,當(dāng)移動臺產(chǎn)生了一個 PDU(分組數(shù)據(jù)單元 ),這個 PDU經(jīng)過 SNDC 層處理,稱為 SNDC 數(shù)據(jù)單元。然后經(jīng)過 LLC 層 處理為 LLC 幀,通過空中接口送到 GSM 網(wǎng)絡(luò)中移動臺所處的 SGSN。 SGSN 把數(shù)據(jù)送到 GGSN。 GGSN 把收到的消息進行解裝處理,轉(zhuǎn)換為可在公用數(shù)據(jù)網(wǎng)中傳送的格式,最終送給公用數(shù)據(jù)網(wǎng)的用戶。 第二種情況中,一個公用數(shù)據(jù)網(wǎng)用戶傳送數(shù)據(jù)到移動臺,如圖中的路徑 2 所 示。首先通過數(shù)據(jù)網(wǎng)的標(biāo)準(zhǔn)協(xié)議建立數(shù)據(jù)網(wǎng)和 GGSN 之間的路由。數(shù)據(jù)網(wǎng)用戶發(fā)出的數(shù)據(jù)單元 (如 PSPDN 中的 PDU),通過建立好的路由把數(shù)據(jù)單元 PDU送給 GGSN。而 GGSN再把 PDU送給移動臺所在的 SGSN, GSN把 PDU封裝成 SNDC數(shù)據(jù)單元,再經(jīng) LLC 層處理為 LLC 幀單元,最終經(jīng)空中接口送給移動臺。 第三種情況是一個數(shù)據(jù)網(wǎng)用戶傳送數(shù)據(jù)給一個正在漫游的移動用戶。如圖路 由 3 所示。其數(shù)據(jù)必須經(jīng)過歸屬地的 GGSN,然后送到移動用戶。 5 GPRS 彩信模塊簡介 GPRS 模塊部分由 TR800 模塊與 SIM 卡電路組成,如圖 316所示。 TR800 模塊是一款 GPRS 產(chǎn)品.它通過串口與 LPC2138 相連,另外與 SIM卡電路相連,從而可以通過 6PRS 網(wǎng)絡(luò)實現(xiàn)信息的發(fā)送和接收。 L P C 2 1 3 8串口T R 8 0 0S I M 卡 圖 3 17 彩信模塊框圖 常州工 學(xué)院畢業(yè)設(shè)計論文 24 第 4 章 軟件設(shè)計 系統(tǒng)軟件設(shè)計包括智能家居控制中心軟件設(shè)計和智能終端應(yīng)用軟件設(shè)計兩大部分。智能家居控制中心是以 ARM 微處理器為控制核心,其軟件設(shè)計包括系統(tǒng)軟件設(shè)計和應(yīng)用軟件設(shè)計。 4. 1 系統(tǒng)控制中心的軟件設(shè)計 4. 1. 1 系統(tǒng)軟件設(shè)計 (1)嵌入式操作系統(tǒng)的選擇及移植本系統(tǒng)采用 Linux 作為操作系統(tǒng),并選用 Linux2. 6 內(nèi)核在嵌入式微處理器 LPC2138 上移植,具體移植方法如下: ①準(zhǔn)備 Linux 2. 6 內(nèi)核移植所必需的文件 (內(nèi)核壓縮包 linux2. 6. tar. bz2 及交叉編譯器 armlinuxgcc3. 4. 1. tar. bz2),這些文件可到 Linux 官方網(wǎng)站免費下載。 ②利用 Linux 命令 (mkdir , tar , mv 及 export) 安 裝 交 叉 編 譯 器 armlinuxgcc3. 4. 1。 ③修改 Makefile 文件及相關(guān)硬件文件。開發(fā)人員要首先修改 Linux 2. 6 根目錄下的 Makfile 文件,修改的主要內(nèi)容是目標(biāo)代碼的類型和為編譯內(nèi)核指定一個編譯器。 ④運用 Make 命令編譯內(nèi)核生成內(nèi)核鏡像文件 zImage 文件,通過相應(yīng)的固化軟件把這個文件固化在系統(tǒng)相應(yīng)的存儲器中,完成 Linux 2. 6 內(nèi)核在 ARM 微處理器上的移植。 驅(qū)動程序的移植及設(shè)計 智能家居控制中心需要多個設(shè)備驅(qū)動程序,而對于嵌入式系統(tǒng)而言很少有通用的外設(shè)驅(qū)動程序可以使用。在本系統(tǒng)中,除了 GPRS 模塊和紅外模塊分別通過第一、第二個串口與 LPC2138 相連,可以直接使用標(biāo)準(zhǔn)的串口驅(qū)動程序外,其余的如家電控制接口、傳感器接口及以太網(wǎng)接口等屬于非標(biāo)準(zhǔn)外設(shè),需要專門設(shè)計其驅(qū)動程序。主要的函數(shù)包括 open(), read(), write(), ioctl(), release(),module_init()和 module exit()等。 常州工 學(xué)院畢業(yè)設(shè)計論文 25 具體移植方法如下: ①利用網(wǎng)絡(luò)工具從網(wǎng)上下載 CS8900. C 和 CS8900. H,并把它們拷貝到內(nèi)核下的 DRIVERS/ NET 目錄。 ②修改配菜單,增加 CS8900 配置選項,使系統(tǒng)在配置 ARCH SMDK2410 時,可使用 CS8900 的配置選項。 ③對網(wǎng)卡進行初始化及相關(guān)文件 (smdk2138. h, machsmdk2138. c, makefile)進行修改工作。 ④通過 Make 命令 重新編譯,即可實現(xiàn) CS8900 以太網(wǎng)驅(qū)動程序的移植。 嵌入式數(shù)據(jù)庫的選擇及移植 本系統(tǒng)在設(shè)計中選用 SQLite 數(shù)據(jù)庫,該數(shù)據(jù)庫具有功能強大、接口簡單、速度快、占用空間小的優(yōu)點,使其比較適合應(yīng)用在嵌入式系統(tǒng)中。系統(tǒng)在設(shè)計中實現(xiàn)了 SQLire3 在 ARM 微處理器上的移植。具體移植方法如下: ①在 : //. 3. 8. tar. gz,并將其解壓后將生成 SQLite 目錄。 ②安裝交叉編譯工具 armlinuxgcc。 ③修改 Makefile 文件。 Makefile 的修改主要包括兩個方面:首先是將編譯器、歸檔工具等換成交叉工具鏈中的對應(yīng)工具,其次是去掉與 TCL 相關(guān)的編譯選項,因為默認情況下,將會編譯 SQLite3 的 Tcl 語言綁定,但是在移植到 ARMLinux 的時候并不需要,因此將兩個與 TCL 有關(guān)的行注釋掉。 ④利用 Make 命令編譯生成目標(biāo)文件 SQLite3。嵌入式數(shù)據(jù)庫 SQLite 的應(yīng)用開發(fā)主要是利用它所提供的 C 語言 API 函數(shù)來開發(fā)的,其核心的三個函數(shù)如下: Sqlite * sqlite_open(const * dbnace,int mode,char * * errmsg)。 //打開一個數(shù)據(jù)庫 Void sqlite_close(sqlite * db)。 //關(guān)閉數(shù)據(jù)庫 Int sqlite_exec(sqlite * db,char * sql,int( * callback(void * ,int,char * * ,char * * ),void * parg,char * * errmsg)。 //用來處理 SQL 查詢 常州工 學(xué)院畢業(yè)設(shè)計論文 26 應(yīng)用軟件設(shè)計 智能家居控制中心的核心是一個嵌入式局域網(wǎng),本系統(tǒng)控制中心的應(yīng)用軟件工作流程如圖 4 1 所示。 圖 41 軟件工作流程 初始化 偵聽端口 有發(fā)送請求? 定時時間到 執(zhí)行終端實時采樣,數(shù)據(jù)處理程序 綁定端口 向用戶手機發(fā)送短信 接受無線數(shù)據(jù) 解釋幀 緊急情況? 接收幀 家電控制 返回 N N Y N Y Y 開始 常州工 學(xué)院畢業(yè)設(shè)計論文 27 串行口子程序 本設(shè)計中, LPC2138 兩個串口和一個 USB 口分別與各節(jié)點模塊相連,在嵌入式 Linux 系統(tǒng)中,由于內(nèi)核的保護機制,使得用戶開發(fā)時不能直接訪問硬件,而是通過調(diào)用驅(qū)動程序來實現(xiàn)對硬件的控制。因此需要編寫串口驅(qū)動程序,完成串口通信功能。在嵌入式系統(tǒng)的開發(fā)中,很大的工作量是為設(shè)備編寫驅(qū)動程序。 Linux 下設(shè)備驅(qū)動的開發(fā)就是編寫各種函數(shù)實現(xiàn)設(shè)備的注冊、初始化、 IO 操 作、卸載等功能。其一般模式如圖所示。 圖 42 Linux下驅(qū)動開發(fā)模式 在 Linux 中,所有的設(shè)備文件一般都位于“/ dev”下,其中串口一、串口二對應(yīng)的設(shè)備名次依次為“ / dev/ ttySO”、“/ dev/ ttySl”。在這里 LPC2138使用 UART0,其對應(yīng)的文件為“/ dev/ ttySO”,由于在 Linux 下對設(shè)備與對文件的操作方法是一樣的,因此,對串口的讀寫可以使用簡單的“ read”,“ write”函數(shù),但需要對串口的其他參數(shù)另做配置,串口讀/寫程序流程如圖 43 所示。 本設(shè)計中定義了 open 函數(shù)打開串口。如下所示: Fd=open(“/ dev/ ttySO”, 0_RDWRIO_NOCTTYIO NDELAY); 在 open 函數(shù)中對串口進行初始化,選擇端 口并設(shè)置端 El 狀態(tài),確定串 El的波特率。 定義主次設(shè)備號 編寫人口函數(shù),實現(xiàn)設(shè)備控制 文件系統(tǒng)人口定義 初始化和卸載函數(shù)調(diào)用 編寫設(shè)備初始化和卸載函數(shù) 常州工 學(xué)院畢業(yè)設(shè)計論文 28 最基本的設(shè)置串口包括波特率設(shè)置,效驗位和停止位設(shè)置。串口的設(shè)置主要是設(shè)置 struct termios 結(jié)構(gòu)體的各成員值。采用 ioctl 函數(shù)實現(xiàn)對串口校驗方式的選擇設(shè)置,在應(yīng)用程序中,通過系統(tǒng)調(diào)用在串口的兩種校驗方式中切換。 串口的讀寫與普通文件一樣, 使用 Read, write 函數(shù)。 read(fd,buff,8); write(fd, buff,8); 通過寫函數(shù) write 實現(xiàn)串口數(shù)據(jù)的發(fā)送。利用函數(shù) copy_from_user()將要發(fā) 送的數(shù)據(jù)從用戶空間調(diào)入到內(nèi)核空間,并監(jiān)視 UTRSTATI 寄存器,判斷數(shù)據(jù)是否發(fā)送完成。 圖 43 串口讀/寫流程圖 ,卸載設(shè)備驅(qū)動,釋放資源。至此,針對 LPC2138 芯片的特點,完成了串口驅(qū)動的整個驅(qū)動設(shè)計,滿足了設(shè)備的串口通信要求。程序?qū)懞弥?,將該程序進行交叉編譯,得到目標(biāo)機的可執(zhí)行文件,然后將其下載或燒寫到目標(biāo)機上執(zhí)行,就可以和目標(biāo)機上的外圍設(shè)備進行串行通信了。 DS18B20 溫度傳感器程序設(shè)計 DS18B20 初始化 (1)先將數(shù)據(jù)線置 高電平 “1” 。 (2)延時(該時間要求的不是很嚴格,但是盡可能的短一點) 。 打開串口 配置串口 讀寫串口 開始 常州工 學(xué)院畢業(yè)設(shè)計論文 29 (3)數(shù)據(jù)線拉到低電平 “0” 。 (4)延時 750微秒(該時間的時間范圍可以從 480 到 960 微秒)。 (5)數(shù)據(jù)線拉到高電平 “1” 。 (6)延時等待(如果初始化成功則在 15 到 60毫秒時間之內(nèi)產(chǎn)生一個由 DS18B20 所返回的低電平 “0” 。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制)。 (7)若 CPU 讀到了數(shù)據(jù)線上的低電平 “0” 后,還要做延時,其延時的時間從發(fā)出的高電平算起(第( 5)步的時間算起)最少要 480 微秒。 (8)將數(shù)據(jù)線再次拉高到高電平 “1” 后結(jié)束。 圖 44 初始化 DS18B20 時序圖 DS18B20 讀操作 (1)將數(shù)據(jù)線拉高 “1” 。 (2)延時 2微秒。 (3)將數(shù)據(jù)線拉低 “0” 。 (4)延時 15微秒。 (5)將數(shù)據(jù)線拉高 “1 ” (6)延時 15微秒。 (7)讀數(shù)據(jù)線的狀態(tài)得到 1個狀態(tài)位,并進行數(shù)據(jù)處理。 (8)延時 30微秒。 常州工 學(xué)院畢業(yè)設(shè)計論文 30 (9)重復(fù)發(fā)
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1