




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于物聯(lián)網(wǎng)技術(shù)的智能家居嵌入式系統(tǒng)設(shè)計(jì)摘 要從上世紀(jì)的住宅電子化、住宅自動(dòng)化到今天的住宅智能化,基于物聯(lián)網(wǎng)技術(shù)的智能家居正逐步融入到我們的生活當(dāng)中來(lái)。作為嵌入式Linux系統(tǒng)設(shè)計(jì)的一個(gè)典型應(yīng)用,智能家居是融合自動(dòng)化控制系統(tǒng)、網(wǎng)絡(luò)通信系統(tǒng)于一體的網(wǎng)絡(luò)化、智能化 HYPERLINK /view/4210555.htm t _blank 家居控制系統(tǒng)?;谖锫?lián)網(wǎng)的智能家居嵌入式系統(tǒng)設(shè)計(jì),主要分為三個(gè)子系統(tǒng),即前端數(shù)據(jù)采集子系統(tǒng)、終端服務(wù)器子系統(tǒng)、上位機(jī)反控子系統(tǒng)。前端數(shù)據(jù)采集子系統(tǒng),主要負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)采集與傳輸,包括溫度數(shù)據(jù)、濕度數(shù)據(jù)、時(shí)鐘數(shù)據(jù),與終端服務(wù)器子系統(tǒng)通過(guò)串口進(jìn)行單工通信,其中包括單片機(jī)主
2、控制處理模塊、溫度采集模塊、時(shí)鐘采集模塊、報(bào)警模塊、電平轉(zhuǎn)換模塊等。終端服務(wù)器子系統(tǒng),主要負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)與傳輸,即存儲(chǔ)從前端采集模子系統(tǒng)收到的實(shí)時(shí)數(shù)據(jù),傳輸獨(dú)立采集數(shù)據(jù),其搭載的BOA服務(wù)器可以進(jìn)行遠(yuǎn)程瀏覽訪問(wèn)控制,包括前臺(tái)界面、后臺(tái)控制模塊、智能家居控制模塊等,另外,也可以進(jìn)行獨(dú)立數(shù)據(jù)采集以及傳輸。上位機(jī)反控子系統(tǒng),主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)備份以及網(wǎng)絡(luò)數(shù)據(jù)遠(yuǎn)程訪問(wèn)控制。解析由終端服務(wù)器傳輸來(lái)的實(shí)時(shí)數(shù)據(jù),同步顯示在上位機(jī)界面上,另外可以通過(guò)瀏覽器遠(yuǎn)程訪問(wèn)控制搭載在終端服務(wù)器上的BOA服務(wù)器,實(shí)現(xiàn)智能家居遠(yuǎn)程訪問(wèn)控制。關(guān)鍵詞 物聯(lián)網(wǎng) 嵌入式系統(tǒng) 智能家居Design of Intelligent Ho
3、me Embedded System Based on Internet of ThingsABSTRACTFrom the last centurys electronic home and automation home, intelligent home based on Internet technology is gradually coming into our lives. As a typical application of the embedded Linux system, the intelligent home is networking and intelligen
4、t home control system which integrated automated control systems and network communication systems. The intelligent home embedded system based on Internet of Things is mainly designed to be three subsystems. They are namely the front data acquisition subsystem, terminal server subsystem, host comput
5、er anti-control subsystem.The front data acquisition subsystem mainly realized data acquisition and transmission which include temperature data, humidity and clock. It simplex communicated with terminal server subsystem through serial port. This subsystem includes a microcontroller master control pr
6、ocessing module, temperature acquisition module, clock acquisition module, alarm module, level conversion module.Terminal server subsystem mainly realized storage and transmission. The process stored real-time data received from front acquisition subsystem and transmitted to host computer anti-contr
7、ol subsystem. We can remotely browse and control the BOA server equipped in this subsystem which includes the front interface module, the background control module, intelligent home control module. It can also separately carry out data collection and transmission. Host computer anti-control subsyste
8、m mainly realized data storage backup and network data remote access control. It synchronously displayed on interface by analyzing real time data transmission from terminal server. Besides, it can also remotely access and control BOA server through a web browser. So realize the remote access and con
9、trol of intelligent home.KEYWORDS Internet of Things, embedded system, intelligent home目 錄 TOC o 1-3 h z u HYPERLINK l _Toc351016565 摘 要 圖 11所示。前端數(shù)據(jù)集子系統(tǒng)終端服務(wù)器子系統(tǒng)系統(tǒng)上位機(jī)反控子系統(tǒng)數(shù)據(jù)采集模塊前臺(tái)界面后臺(tái)控制網(wǎng)絡(luò)瀏覽控制獨(dú)立數(shù)據(jù)采集圖 STYLEREF 1 s 1 SEQ 圖 * ARABIC s 1 1 系統(tǒng)整體架構(gòu)框圖基于S3C2440的智能家居嵌入式系統(tǒng),整個(gè)系統(tǒng)分為三個(gè)子系統(tǒng),即前端數(shù)據(jù)采集子系統(tǒng)、終端服務(wù)器子系統(tǒng)、上位機(jī)反控子
10、系統(tǒng)。其中前端數(shù)據(jù)采集子系統(tǒng)主要負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)采集與傳輸,與終端服務(wù)器子系統(tǒng)通過(guò)串口或者I2C進(jìn)行單工通信;終端服務(wù)器子系統(tǒng)負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)與傳輸,其搭載的嵌入式BOA服務(wù)器可以通過(guò)網(wǎng)絡(luò)瀏覽器進(jìn)行遠(yuǎn)程訪問(wèn)控制,并且該子系統(tǒng)也可以進(jìn)行獨(dú)立數(shù)據(jù)采集傳輸;上位機(jī)反控子系統(tǒng)負(fù)責(zé)數(shù)據(jù)存儲(chǔ)與備份,另外可以通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問(wèn)控制。嵌入式系統(tǒng)環(huán)境搭建一般嵌入式Linux系統(tǒng)主要包括以下幾個(gè)部分 REF _Ref328341720 n h 1:引導(dǎo)加載程序:其中包括內(nèi)部ROM中的固化啟動(dòng)代碼和Bootloader兩部分。固化啟動(dòng)代碼是廠家生產(chǎn)芯片時(shí)固化在ROM中的,其主要作用是引導(dǎo)Bootloader;而B(niǎo)oo
11、tloader是用來(lái)初始化硬件環(huán)境,加載Linux內(nèi)核。Linux內(nèi)核:通過(guò)Bootloader傳遞內(nèi)核參數(shù)來(lái)引導(dǎo)加載內(nèi)核。文件系統(tǒng):包括根文件系統(tǒng)和建立在Flash設(shè)備上的其他文件系統(tǒng),包含了Linux系統(tǒng)能夠運(yùn)行所必需的應(yīng)用程序、庫(kù)文件等,比如用戶(hù)操作Linux的控制界面shell程序、動(dòng)態(tài)鏈接的程序運(yùn)行時(shí)所需要的glibc等。用戶(hù)應(yīng)用程序:用戶(hù)自定義的應(yīng)用程序,它們也存儲(chǔ)在文件系統(tǒng)當(dāng)中,當(dāng)然在用戶(hù)應(yīng)用程序以及內(nèi)核層之間還可能包含嵌入式用戶(hù)界面GUI。嵌入式Linux系統(tǒng)的典型架構(gòu),如 REF _Ref328157320 h * MERGEFORMAT 圖 21所示。圖 STYLEREF
12、1 s 2 SEQ 圖 * ARABIC s 1 1 嵌入式Linux系統(tǒng)中的典型分區(qū)結(jié)構(gòu)根據(jù)上述嵌入式Linux系統(tǒng)的結(jié)構(gòu)組成,基于物聯(lián)網(wǎng)的智能家居嵌入式系統(tǒng)的設(shè)計(jì),需要構(gòu)建嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境,這其中包括Bootloader的移植、Linux內(nèi)核裁剪、Rootfs根文件系統(tǒng)制作、QT4 GUI的移植、Sqlite3嵌入式數(shù)據(jù)庫(kù)的移植、Boa嵌入式服務(wù)器的搭載等。Bootloader的移植Bootloader是在操作系統(tǒng)內(nèi)核啟動(dòng)之前運(yùn)行的一段小程序,通過(guò)這段程序,可以初始化硬件設(shè)備,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備一個(gè)正確的環(huán)境,然后從別處(比如Flas
13、h、NET、SD卡等)引導(dǎo)Linux內(nèi)核映像文件,最終加載Linux內(nèi)核,啟動(dòng)Linux系統(tǒng)?,F(xiàn)如今,bootloader的種類(lèi)非常多,一般比較常用的bootloader REF _Ref328341720 r h * MERGEFORMAT 1,在x86架構(gòu)上有GRUB、LILO等,而在ARM架構(gòu)上則有Vivi、U_Boot等,其適用性如 REF _Ref328157453 h * MERGEFORMAT 表 21所示。從表中可以看出,U_boot對(duì)各種平臺(tái)的支持性比較好,事實(shí)上,U_boot是遵循GNU條款的開(kāi)放源代碼項(xiàng)目,可以引導(dǎo)多種操作系統(tǒng)、支持多種架構(gòu)的CPU,比如ARM、X86、P
14、owerPC等。支持多種操作系統(tǒng),比如Linux、NetBSD、VxWorks、Windows等。表 STYLEREF 1 s 2 SEQ 表 * ARABIC s 1 1 bootloader的分類(lèi)Bootloader描述 X86 ARM PowerPCVivi針對(duì)三星的引導(dǎo)程序 否 是 否 U_Boot 通用引導(dǎo)程序 是 是 是 LILO Linux磁盤(pán)引導(dǎo)程序 是 否 否 GRUBGNU的LILO替代程序 是 否 否但是,U_Boot一直以來(lái)都沒(méi)有支持S3C2440,移植U_Boot仍是使用SBC2410的文件作為藍(lán)本,主要針對(duì)S3C2440與S3C2410的不同,以及SBC2410與M
15、icro440外設(shè)的不同來(lái)做相應(yīng)的調(diào)整與修改,并增加新的功能特性。S3C2440與S3C2410的主要區(qū)別是 REF _Ref328369195 r h * MERGEFORMAT 22440的主頻更高,在接口方面,增加了攝像頭接口和AC97音頻接口,在寄存器方面,NAND FLASH控制寄存器有較大變化,另外,芯片的時(shí)鐘控制寄存器也有一定的變化,其他寄存器是兼容的。下面是Bootloader移植的簡(jiǎn)要步驟:步驟一:修改頂層Makefile,定義交叉編譯工具鏈和開(kāi)發(fā)板配置選項(xiàng),在/board目錄中建立開(kāi)發(fā)板micro2440目錄,并拷貝復(fù)制sbc2410 x的文件到此,并作適當(dāng)修改;步驟二:測(cè)
16、試編譯環(huán)境,對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行相應(yīng)的調(diào)整修改。如果測(cè)試編譯通過(guò),說(shuō)明編譯環(huán)境的基本的開(kāi)發(fā)板代碼沒(méi)有問(wèn)題,由于編譯的藍(lán)本是基于SBC2410的,接下來(lái)的工作主要是按照代碼的執(zhí)行流程來(lái)針對(duì)mico2440做相應(yīng)的修改;步驟三:進(jìn)入/cpu/arm920t/start.S初始化代碼,針對(duì)CPU頻率的不同修改初始化設(shè)置,針對(duì)寄存器配置的不同,作相應(yīng)的調(diào)整與修改;步驟四:在UBoot啟動(dòng)的其一階段,初始化Nand Flash控制器,起到代碼重定向的作用,但是在第二階段的start_armboot函數(shù)還是需要再次初始化Nand Flash控制器,真正啟動(dòng)U_boot,2410與2440 Nand Flash
17、控制器上的寄存器和啟動(dòng)流程差別很大,需要修改Nand Flash底層驅(qū)動(dòng)代碼。接下來(lái)增加對(duì)yaffs2文件系統(tǒng)的支持,對(duì)網(wǎng)絡(luò)協(xié)議、串口傳輸?shù)茸飨鄳?yīng)的修改;步驟五:根據(jù)配置文件,重新編譯移植。Linux內(nèi)核裁剪相比于Linux2.4內(nèi)核,2.6內(nèi)核支持更多的平臺(tái)架構(gòu),采用新的調(diào)度算法,使進(jìn)程間的切換更加高效。而基于物聯(lián)網(wǎng)的的智能家居嵌入式系統(tǒng)則是在Linux2.6.32的基礎(chǔ)上裁剪移植的。在虛擬機(jī)下建立內(nèi)核源碼樹(shù),對(duì)于ARM架構(gòu)的S3C2440,與其體系相關(guān)的內(nèi)核代碼在arch/arm目錄下,在后面相關(guān)的移植裁剪工作,也主要是針對(duì)此目錄下的文件。對(duì)于ARM架構(gòu),通過(guò)缺省配置內(nèi)核,在頂層目錄下執(zhí)行
18、命令make menuconfig,選擇支持的平臺(tái)S3C2410進(jìn)行相應(yīng)的配置,同樣在頂層目錄下執(zhí)行命令make zImage,編譯內(nèi)核,在arch/arm/boot目錄下生成相應(yīng)的內(nèi)核映像文件zImage。下面主要是針對(duì)與平臺(tái)相關(guān)的驅(qū)動(dòng),手工定制Linux內(nèi)核。主配制菜單界面,如 REF _Ref328234385 h * MERGEFORMAT 圖 22所示。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 2 主配置菜單界面LCD驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Device Drivers-Graphic Support-LCD Select 選擇如 REF _Ref
19、328234514 h * MERGEFORMAT 圖 23所示的LCD型號(hào)支持。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 3 LCD驅(qū)動(dòng)配置界面觸摸屏驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Device Drivers-Input device Support-Touchscreens 選擇如 REF _Ref328234610 h * MERGEFORMAT 圖 24所示的觸摸屏配置支持。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 4 觸摸屏驅(qū)動(dòng)配置界面USB鼠標(biāo)鍵盤(pán)配置界面在主菜單界面,進(jìn)入Device Drivers-HID Device
20、- USB Device選擇如 REF _Ref328235081 h * MERGEFORMAT 圖 25所示的USB鼠標(biāo)鍵盤(pán)配置支持。USB攝像頭驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Device Drivers-Multimedia device-Video capture adaptersV4L USB device選擇如 REF _Ref328235217 h * MERGEFORMAT 圖 26所示的USB攝像頭配置支持。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 5 USB鼠標(biāo)鍵盤(pán)配置界面圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1
21、6 USB攝像頭驅(qū)動(dòng)配置界面DM9000網(wǎng)卡驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Networking Support-Networking Options,缺省配置一般網(wǎng)絡(luò)支持,比如TCP等,進(jìn)入Device Drivers-Network Device support-Ethernet(10M or 100M)選擇如 REF _Ref328235484 h * MERGEFORMAT 圖 27所示的網(wǎng)卡驅(qū)動(dòng)配置支持。AC97音頻驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Device Drivers-Sound card support -Advanced Linux Sound Architecture選擇如
22、 REF _Ref328235682 h * MERGEFORMAT 圖 28所示的音頻驅(qū)動(dòng)配置支持。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 7 DM9000網(wǎng)卡驅(qū)動(dòng)配置界面圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 8 AC97音頻驅(qū)動(dòng)配置界面串口驅(qū)動(dòng)配置界面在主菜單界面,進(jìn)入Character devices-Serial drivers選擇如 REF _Ref328235787 h * MERGEFORMAT 圖 29所示的串口配置支持。文件系統(tǒng)配置界面在主菜單界面,進(jìn)入File systems-Miscellaneous fi
23、lesystems選擇如 REF _Ref328235851 h * MERGEFORMAT 圖 210所示的yaffs2支持。進(jìn)入File systems-Network filesystem,選擇如 REF _Ref328329078 h * MERGEFORMAT 圖 211所示的NFS文件系統(tǒng)支持。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 9 串口驅(qū)動(dòng)配置界面圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 10 yaffs2文件系統(tǒng)配置界面圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 11 nfs文件系統(tǒng)配
24、置界面根文件系統(tǒng)制作區(qū)別于Windows系統(tǒng),Linux中并沒(méi)有C、D、E等盤(pán)符的概念,它是以樹(shù)狀形式來(lái)組織管理所有目錄、文件的,而其他分區(qū)則是以?huà)燧d的形式掛接在某個(gè)目錄上,然后通過(guò)訪問(wèn)目錄來(lái)訪問(wèn)相應(yīng)分區(qū)上的文件。事實(shí)上根文件系統(tǒng)就是被掛載在目錄“/”上,在根文件系統(tǒng)目錄下又有其相應(yīng)的各個(gè)目錄、文件,比如/etc、/mnt、/dev、/lib等,其他分區(qū)掛載在/mnt目錄下,比如CDRom等。每一個(gè)分區(qū)上的文件需要遵循一定的文件系統(tǒng)類(lèi)型,比如常見(jiàn)的yaffs、ntfs、fat32、ext3等。實(shí)際上,除了這幾種確實(shí)存儲(chǔ)在存儲(chǔ)分區(qū)上的文件系統(tǒng)類(lèi)型以外,Linux還有幾種虛擬的文件系統(tǒng),比如sys
25、fs、proc等,與實(shí)際存在的文件系統(tǒng)區(qū)別是,他們的目錄文件并不存儲(chǔ)在實(shí)際的存儲(chǔ)設(shè)備上,而是在訪問(wèn)時(shí)由內(nèi)核臨時(shí)動(dòng)態(tài)生成。嵌入式Linux系統(tǒng),在由U_boot引導(dǎo)內(nèi)核之后,需要加載根文件系統(tǒng),而所謂的根文件系統(tǒng),是根據(jù)需要專(zhuān)門(mén)定制后移植到嵌入式開(kāi)發(fā)板上的。實(shí)際上,制作根文件系統(tǒng),就是按照需要?jiǎng)?chuàng)建各種目錄,并在里面存放需要的文件,比如在/etc目錄下存放系統(tǒng)配置文件,在/lib目錄下存放系統(tǒng)庫(kù)文件,在/dev目錄下存放設(shè)備節(jié)點(diǎn)文件,在/sbin、/bin目錄下存放可執(zhí)行文件等。在虛擬機(jī)下編輯執(zhí)行腳本程序rootfs .sh,完成根文件系統(tǒng)目錄的創(chuàng)建工作,完善最小根文件系統(tǒng),其中包括/bin、/d
26、ev、/lib等。使用BusyBox工具創(chuàng)建嵌入式根文件系統(tǒng)/bin、/sbin目錄下的可執(zhí)行文件,另外在/dev目錄下創(chuàng)建必要的設(shè)備節(jié)點(diǎn),在/lib目錄下創(chuàng)建必要的動(dòng)態(tài)鏈接庫(kù),在/etc目錄下創(chuàng)建必要的配置文件,在/dev目錄下創(chuàng)建必要的配置文件等。類(lèi)似于裁剪Linux內(nèi)核,解壓源碼包進(jìn)入相應(yīng)目錄后,執(zhí)行make menuconfig命令即可進(jìn)入相應(yīng)的配置界面。包含各個(gè)配置選項(xiàng),如核心命令Coreutils、控制臺(tái)相關(guān)命令Console Utilities、網(wǎng)絡(luò)方面的命令Networking Utilities、進(jìn)程相關(guān)的命令Process Utilities等。主配置菜單界面,如 REF
27、_Ref328236217 h * MERGEFORMAT 圖 212所示。壓縮、解壓縮工具命令配置界面在主配置菜單界面,選擇Archival Utilities選項(xiàng),進(jìn)入如 REF _Ref328236373 h * MERGEFORMAT 圖 213所示的壓縮、解壓縮工具命令配置界面。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 12 busybox主配置界面系統(tǒng)核心命令配置界面在主配置菜單界面,選擇Core Utilities選項(xiàng),進(jìn)入如 REF _Ref328236428 h * MERGEFORMAT 圖 214所示的系統(tǒng)核心命令配置界面??刂婆_(tái)相關(guān)命令配置
28、界面在主配置菜單界面,選擇Console Utilities選項(xiàng),進(jìn)入如 REF _Ref328236516 h * MERGEFORMAT 圖 215所示的控制臺(tái)相關(guān)命令配置界面。圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 13 壓縮、解壓縮工具命令 Archival Utilities圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 14 核心命令Core Utilities圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 15 控制臺(tái)相關(guān)命令 Console Utilities編輯相關(guān)命令配置界面在主配置菜單界面,選
29、擇Editor Utilities選項(xiàng),進(jìn)入如 REF _Ref328236583 h * MERGEFORMAT 圖 216所示的編輯相關(guān)命令配置界面。網(wǎng)絡(luò)相關(guān)命令配置界面在主配置菜單界面,選擇Networking Utilities選項(xiàng),進(jìn)入如 REF _Ref328236645 h * MERGEFORMAT 圖 217所示的編輯相關(guān)命令配置界面。進(jìn)程相關(guān)命令配置界面在主配置菜單界面,選擇Process Utilities選項(xiàng),進(jìn)入如 REF _Ref328236723 h * MERGEFORMAT 圖 218所示的編輯相關(guān)命令配置界面。圖 STYLEREF 1 s 2 SEQ 圖 *
30、 ARABIC s 1 16 編輯相關(guān)命令 Editor Utilities圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 17 網(wǎng)絡(luò)相關(guān)命令 Networking Utilities圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 18 進(jìn)程相關(guān)命令 Process Utilities配置dev目錄,可以使用手工創(chuàng)建,即在制作根文件系統(tǒng)時(shí),在dev目錄下創(chuàng)建使用的設(shè)備文件,系統(tǒng)在掛載根文件系統(tǒng)后,即可使用dev目錄下的設(shè)備文件。當(dāng)然也可以使用BusyBox自帶的mdev程序,mdev是嵌入式版本的udev,在系統(tǒng)啟動(dòng)或者是熱插拔、加載設(shè)備驅(qū)動(dòng)程序
31、時(shí)動(dòng)態(tài)創(chuàng)建設(shè)備節(jié)點(diǎn)。對(duì)于etc目錄下的配置文件,拷貝虛擬機(jī)目錄下的passwd、group等目錄至etc下,接下來(lái)編輯創(chuàng)建與啟動(dòng)有關(guān)的三個(gè)主要的配置文件,即etc/inittab文件、etc/init.d/rcS文件、etc/profile文件,在后續(xù)的移植工作中會(huì)經(jīng)常修改這幾個(gè)文件,其具體腳本,詳見(jiàn)附件。在制作完最小根文件系統(tǒng)之后,接下來(lái)就是制作根文件系統(tǒng)映像文件,即將上述rootfs目錄下的文件按照一定的格式存放在一個(gè)文件中,然后將這個(gè)文件移植燒寫(xiě)到嵌入式設(shè)備上去。嵌入式GUI移植對(duì)于Linux的GUI系統(tǒng),接觸比較多的是桌面的KDE、GNOME等 REF _Ref328369317 r
32、h * MERGEFORMAT 3,而針對(duì)嵌入式GUI,一般則是QTE,它是嵌入式交叉編譯的QT,實(shí)際上,編譯運(yùn)行代碼與PC上完全相同,只是為適應(yīng)不同的平臺(tái)環(huán)境而選擇交叉編譯的結(jié)果。QT是由挪威TrollTech公司(現(xiàn)已被Nokia公司收購(gòu))開(kāi)發(fā)的跨平臺(tái)的C+圖形用戶(hù)界面庫(kù),目前包括基于FrameBuffer的Qt Embedded、Linux版集成開(kāi)發(fā)工具Qt Designer、國(guó)際化支持工具Qt Linguist,PC版集成開(kāi)發(fā)工具Qt Creator等。將嵌入式GUI移植到開(kāi)發(fā)板上去,需要根據(jù)平臺(tái)環(huán)境做相應(yīng)的配置編譯,比如選擇觸摸屏支持、鼠標(biāo)鍵盤(pán)支持、PNG等圖片格式支持等,下面是針對(duì)
33、qt-4.5.3版本進(jìn)行移植的主要操作步驟:步驟一:安裝qt-x11-linux-opensource-4.5.3.tar.gz默認(rèn)將軟件包qt-x11-linux-opensource-4.5.3.tar.gz放到目錄/tmp下#tar xvzf qt-x11-linux-opensource-4.5.3.tar.gz -C /opt /QT4#cd qt-x11-linux-opensource-4.5.3#./configure#gmake /該過(guò)程需要23小時(shí),根據(jù)機(jī)器性能而定#gmake installPC上的QT4編譯成功,接下來(lái)需要設(shè)置環(huán)境變量,編輯文件setEnv-x11.sh
34、#!bin/bashPATH=/usr/local/Trolltech/Qt-4.5.3/bin:$PATHQTDIR=/usr/local/Trolltech/Qt-4.5.3LD_LIBRARY_PATH=$QTDIR/lib:$ LD_LIBRARY_PATHexport PATH QTDIR LD_LIBRARY_PATH保存,在每次進(jìn)入/opt/ QT4/ qt-x11-linux-opensource-4.5.3時(shí)設(shè)置環(huán)境變量步驟二:安裝tslib-1.4.tar.gz軟件包默認(rèn)將軟件包tslib-1.4.tar.gz放到目錄/tmp下#tar xvzf tslib-1.4.tar
35、.gz#cd tslib#./autogen.sh#.configure-prefix=/opt/mytslib-host=arm-linux #make#make install可以發(fā)現(xiàn)在/opt/mytslib目錄下出現(xiàn)etc 、include、lib、bin目錄(在編譯過(guò)程通過(guò)prefix配置選項(xiàng)選擇路徑,這里選擇安裝在/opt/mytslib路徑下)步驟三:安裝qt-embedded-linux-opensource-4.5.3.tar.gz,配置選項(xiàng)如下#tar xvzf qt-embedded-linux-opensource-4.5.3.tar.gz C /opt/ QT4#cd
36、 qt-embedded-linux-opensource-4.5.3#./configure -prefix=micro2440 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl nomake exmaples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-c
37、ups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g+ -embedded arm -depths 16 -no-qvfb-qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -I/home/mytslib/include
38、-L/home/mytslib/lib #gmake #gmake install由于編譯器的問(wèn)題,安裝完成后即使運(yùn)行在PC上編譯通過(guò)的examples也會(huì)出現(xiàn)經(jīng)典的Segmenttion fault錯(cuò)誤,可以通過(guò)下面的途徑解決:424 /*425 canaccel=useOffccreen();426 if(canaccel)427 setupOffscreen();428 */429 canaccel=false;724 /* if(canaccel) 725 *entryp=0;726 *lowest=mapsize;727 Insert_entry(*entryp,*lowest,*l
39、owest); /dummy entry to mark start728 729 */將上述這段源代碼注釋掉,主要是對(duì)canccel重新賦值,然后再進(jìn)行編譯工作,embedded-QT4編譯成功,接下來(lái)需要設(shè)置環(huán)境變量,編輯文件setEnv-embedded.sh。#!bin/bashPATH=/micro2440/bin:$PATHQTDIR=/micro2440LD_LIBRARY_PATH=$QTDIR/lib:$ LD_LIBRARY_PATHexport PATH QTDIR LD_LIBRARY_PATH步驟四:在micro2440開(kāi)發(fā)板下配置選項(xiàng),移植相應(yīng)庫(kù)文件在開(kāi)發(fā)板根目錄下
40、建立micro2440以及tslib目錄,接下來(lái)將在PC機(jī)上編譯的庫(kù)文件以及配置文件拷貝到micro2440、tslib目錄下。# cp rf /opt/mytslib /lib /nfs/rootfs/tslib# cp rf /opt/mytslib /etc /nfs/rootfs/tslib# cp rf /opt/mytslib /bin/ts_calibrate /nfs/rootfs/tslib/bin# cp rf /opt/mytslib /bin/ts_test /nfs/rootfs/tslib/bin# cp rf /opt/mytslib /lib /nfs/root
41、fs/micro2440# cp rf /micro2440/etc /nfs/rootfs/micro2440# cp rf /micro2440/examples /nfs/rootfs/micro2440 # cp rf /micro2440/plunging /nfs/rootfs/micro2440 # cp rf /micro2440/bin /nfs/rootfs/micro2440 # cp rf /micro2440/include /nfs/rootfs/micro2440 在移植/micro2440時(shí)鏈接文件需要單獨(dú)創(chuàng)建,利用命令ln s source_file targ
42、et_file,在首次執(zhí)行QT4程序時(shí),會(huì)提示找不到庫(kù)文件,這時(shí)開(kāi)發(fā)板一般缺少/micro2440/lib目錄下以及/tslib/lib目錄下鏈接文件,需要參考PC編譯完成后在相應(yīng)目錄下的鏈接文件,手動(dòng)創(chuàng)建。編譯后的字庫(kù)不能很好地顯示界面,一般采用重新移植溫泉驛字庫(kù),將解壓后的字庫(kù)文件移植到/micro2440/lib/fonts路徑下即可。接下來(lái)需要配置開(kāi)發(fā)板下/etc/profile文件設(shè)置環(huán)境變量,/tslib/ts.conf文件設(shè)置觸摸屏選項(xiàng)。/etc/profile文件export QTDIR=/micro2440export TSLIB_TOOT=/tslibexport PATH
43、=$QTDIR/bin:$PATHexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_TSDEVICE=/dev/input/event0export TSLIB_PLUNGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.confexport TSLIB_CALIBFILE=/etc/pointercalexport POINTERCAL_FILE=/etc/pointercalintelliMouse:/dev/in
44、put/miceexport QWS_DISPLAY=LinuxFb:/dev/fb0export QT_QWS_FONTDIR=$QTDIR/lib/fontsexport QWS_SIZE=640*480export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib 由于選擇用的是觸摸屏,需要將module_raw input注釋去掉module_raw input /如果不去掉注釋?zhuān)|摸屏不可以使用module pthres pmin=1module variance delta=30module dejitter delta=100module li
45、near接下來(lái)分別運(yùn)行/tslib/bin/ts_calibrate以及/tslib/bin/ts_test進(jìn)行觸摸屏校準(zhǔn)以及測(cè)試 ,至此,qte-4.5.3編譯移植配置完成。嵌入式數(shù)據(jù)庫(kù)sqlite3的移植基于物聯(lián)網(wǎng)的智能家居嵌入式系統(tǒng),需要使用數(shù)據(jù)庫(kù)存儲(chǔ)配置數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)等,在這里,選用嵌入式數(shù)據(jù)庫(kù)sqlite3。sqlite3是一款代碼精簡(jiǎn)、無(wú)可視化界面操作的數(shù)據(jù)庫(kù),廣泛應(yīng)用于嵌入式系統(tǒng)中。一般在Linux系統(tǒng)中,已經(jīng)默認(rèn)安裝了數(shù)據(jù)庫(kù)sqlite3 ,為了能夠在micro2440上使用,需要移植到開(kāi)發(fā)板中,建立相應(yīng)的鏈接庫(kù)文件等,下面主要的移植操作步驟:步驟一:在PC下編譯安裝sqlit
46、e3_3.7.11 將軟件包 HYPERLINK /sqlite-autoconf-3071100.tar.gz sqlite-autoconf-3071100.tar.gz放到/tmp目錄下,在根目錄建立文件夾sqlite3作為解壓文件夾以及編譯文件存放路徑。#mkdir /sqlite3#tar xvzf /tmp/ HYPERLINK /sqlite-autoconf-3071100.tar.gz sqlite-autoconf-3071100.tar.gz -C /sqlite3#cd /sqlite3/ sqlite-autoconf-3071100 /進(jìn)入解壓文件夾#./confi
47、gure -host=arm-linux -prefix=/sqlite3 /執(zhí)行編譯#make /執(zhí)行生成的Makefile文件出現(xiàn)錯(cuò)誤提示如下:arm-none-linux-gnueabi-gcc:3.7.11:Nosuchfileordirectory:warning:missingterminatingcharacter查找原因,與前文的make信息-DPACKAGE_STRING=sqlite3.7.11相比較,發(fā)現(xiàn)是因?yàn)?DPACKAGE_STRING=sqlite3.7.11字符之間空格沒(méi)有轉(zhuǎn)義字符(由于使用交叉編譯器arm-linux-gcc4.3.2會(huì)出現(xiàn)這個(gè)錯(cuò)誤)。修改Ma
48、kefile文件,在136行找到-DPACKAGE_STRING=sqlite3.7.11改為-DPACKAGE _STRING=sqlite_3.7.11,保存退出,重新執(zhí)行make命令進(jìn)行編譯。#make#make install (編譯時(shí)間大約十分鐘左右)編譯成功,會(huì)發(fā)現(xiàn)在/sqlite3目錄下多出bin、include、lib、share目錄。事實(shí)上,主要用到bin/sqlite3、include/sqlite3.h、lib目錄下這幾個(gè)文件??梢赃x擇將以上幾個(gè)文件復(fù)制到開(kāi)發(fā)板根目錄下的bin lib目錄下,這樣可以不用單獨(dú)設(shè)置環(huán)境變量。由于sqlite3.7.11比較小巧,在這里沒(méi)有區(qū)
49、分,全部拷貝到開(kāi)發(fā)板下。步驟二:拷貝bin、lib、share、include文件夾到開(kāi)發(fā)板根目錄,配置環(huán)境變量#mkdir sqlite3 /在開(kāi)發(fā)板根目錄下#cp -rf /sqlite3/bin /nfs/rootfs/sqlite3#cp -rf /sqlite3/include /nfs/rootfs/sqlite3#cp -rf /sqlite3/lib /nfs/rootfs/sqlite3#cp -rf /sqlite3/share /nfs/rootfs/sqlite3接下來(lái)需要配置環(huán)境變量,編輯文件/etc/profile在移植QT4.5.3時(shí)曾配置過(guò)環(huán)境變量,這里在原有的
50、基礎(chǔ)上繼續(xù)修改:增加export SQLITE_3=/sqlite3,修改PATH以及LD_LIBRARY_PATH,在開(kāi)發(fā)板根目錄下執(zhí)行sqlite3命令,會(huì)看到如下提示信息,證明移植成功export PATH=$QTDIR/bin:$SQLITE_3/bin:$PATHexport LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$SQLITE_3/libSQLite3 version 3.7.11 2012-03-20 11:35:50Enter “.help” for instructionsEnter SQL statements termina
51、ted with a ;sqlite 步驟三:在PC上編寫(xiě)測(cè)試程序交叉編譯到開(kāi)發(fā)板執(zhí)行測(cè)試一般情況下,編輯完文件首先在PC上gcc編譯測(cè)試通過(guò),然后再進(jìn)行交叉編譯下載到開(kāi)發(fā)板上運(yùn)行。#arm-linux-gcc -o test test.c L /sqlite3/lib I /sqlite3/include-lsqlite3至此,sqlite3.7.9移植成功。嵌入式BOA服務(wù)器的移植針對(duì)智能家居安防子系統(tǒng)設(shè)計(jì),在基于物聯(lián)網(wǎng)的嵌入式智能家居系統(tǒng)中,需要通過(guò)網(wǎng)絡(luò)瀏覽器遠(yuǎn)程訪問(wèn)控制終端服務(wù)器,即瀏覽訪問(wèn)在嵌入式開(kāi)發(fā)板上搭載的BOA服務(wù)器,這里選用的是boa-0.94.13.tar.gz,下面是主要
52、的移植操作步驟。步驟一:在PC下解壓安裝boa源碼,運(yùn)行./config 生成相應(yīng)的配置文件# ./config /配置編譯# make# arm-linux-strip boa步驟二:完成Boa的配置,使其能夠支持CGI程序的執(zhí)行需要在嵌入式系統(tǒng)/etc目錄下建立一個(gè)Boa目錄,拷貝boa-0.94.13/目錄下文件boa.conf到/boa目錄下并行如下的修改,修改User nobody 為 User 0 ; 修改Group nogroup 為 Group 0。其中,在boa源碼目錄下有一個(gè)示范性的boa.conf配置文件,可以參考修改,其中某些配置信息比較重要,配置如下:# Port 8
53、0 監(jiān)聽(tīng)端口號(hào),缺省為80,一般無(wú)需修改;# bind調(diào)用的IP地址,一般注釋掉,表示綁定到INADDR_ANY,通配所有IP;# HTML主目錄,缺省為/開(kāi)始,一般在/目錄下建立www目錄作為服務(wù)器根目錄,存放需要訪問(wèn)到的網(wǎng)頁(yè);# CGI程序運(yùn)行環(huán)境變量。步驟三、嵌入式系統(tǒng)目錄創(chuàng)建創(chuàng)建日志文件所在目錄/var/boa/log/;創(chuàng)建HTML文檔的主目錄/var/boa/www,網(wǎng)頁(yè)文件的后綴需要是html;將mime.types文件拷貝到/etc目錄,mime.types文件用來(lái)指明不同文件擴(kuò)展名對(duì)應(yīng)的MIME類(lèi)型,一般可以直接從Linux主機(jī)上拷貝一個(gè),大部分也都是在主機(jī)的/etc目錄下;
54、 創(chuàng)建CGI腳本所在目錄/var/boa/www/cgi-bin/。步驟四:測(cè)試BOA服務(wù)器將靜態(tài)網(wǎng)頁(yè)index.html和img目錄放到/var/www目錄下,將PC機(jī)上生成的可執(zhí)行文件boa復(fù)制到嵌入式系統(tǒng)根目錄下。前端數(shù)據(jù)采集子系統(tǒng)前端數(shù)據(jù)采集子系統(tǒng),主要負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)采集 REF _Ref328369495 r h * MERGEFORMAT 4與傳輸,包括溫度數(shù)據(jù)、濕度數(shù)據(jù)、時(shí)鐘數(shù)據(jù),與前端服務(wù)器子系統(tǒng)通過(guò)串口進(jìn)行單工通信,其中包括單片機(jī)主控制處理模塊、溫度采集模塊、時(shí)鐘采集模塊、報(bào)警模塊、電平轉(zhuǎn)換模塊等。其系統(tǒng)架構(gòu)框圖如 REF _Ref328236842 h * MERGEFORM
55、AT 圖 31所示:主控制處理模塊報(bào)警電路模塊前端數(shù)據(jù)采集子系統(tǒng)時(shí)鐘數(shù)據(jù)采集模塊溫度數(shù)據(jù)采集模塊圖 STYLEREF 1 s 3 SEQ 圖 * ARABIC s 1 1 前端數(shù)據(jù)采集子系統(tǒng)架構(gòu)框圖單片機(jī)主控制處理模塊市面上常見(jiàn)的單片機(jī),比如MCS-51系列、STM系列、AVR系列等,在這里,要求單片機(jī)的處理速度不高,并且單片機(jī)芯片資源要求也不高,常見(jiàn)的STC51系列單片機(jī) REF _Ref328370106 r h * MERGEFORMAT 5,其包含的128B的數(shù)據(jù)存儲(chǔ)器、32根可雙向?qū)ぶ稩/O口、2個(gè)16位定時(shí)器/計(jì)數(shù)器、5個(gè)外部中斷源,即可滿(mǎn)足設(shè)計(jì)需要。在這里,選用的是STC89C5
56、1系列單片機(jī)作為主控制處理器,其最小系統(tǒng)電路主要包括復(fù)位電路、晶振電路、電源電路等,程序流程框圖如 REF _Ref328236895 h * MERGEFORMAT 圖 32所示。 上電 Power up定時(shí)器0初始化串口UART初始化DS18B20初始化DS1302初始化讀DS18B20數(shù)據(jù)讀DS1302數(shù)據(jù)串口數(shù)據(jù)發(fā)送定時(shí)中斷圖 STYLEREF 1 s 3 SEQ 圖 * ARABIC s 1 2 前端數(shù)據(jù)采集子系統(tǒng)流程框圖晶振電路是單片機(jī)系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作;假如振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的偏差,特別是在通信中電路將無(wú)法正常通
57、信。 晶振電路比較簡(jiǎn)單,主要使用無(wú)源晶振以及陶瓷電容組成。復(fù)位電路能夠保證單片機(jī)在工作異常情況下,使其從頭開(kāi)始工作,類(lèi)似于軟件復(fù)位看門(mén)狗,在這里,選用的是硬件手動(dòng)復(fù)位,即持續(xù)一段時(shí)間的低電平,電路比較簡(jiǎn)單,如 REF _Ref328237128 h * MERGEFORMAT 圖 33所示。圖 STYLEREF 1 s 3 SEQ 圖 * ARABIC s 1 3 單片機(jī)最小系統(tǒng)電路圖溫度采集模塊DS18B20是美國(guó)DALLAS公司推出的一種高性能、低功耗實(shí)時(shí)溫度傳感器,測(cè)溫范圍為-55C到+125C,以9位數(shù)字量輸出,分辨率為0.0625。對(duì)于每一個(gè)DS18B20,都有一個(gè)唯一的序列號(hào),可以
58、實(shí)現(xiàn)多點(diǎn)測(cè)溫,DS18B20硬件電路比較簡(jiǎn)單,廣泛應(yīng)用于現(xiàn)場(chǎng)溫度測(cè)量系統(tǒng)當(dāng)中?;谖锫?lián)網(wǎng)的嵌入式智能家居系統(tǒng)設(shè)計(jì),前端采集子系統(tǒng)實(shí)時(shí)采集家居現(xiàn)場(chǎng)溫度,通過(guò)串口通信方式,將實(shí)時(shí)數(shù)據(jù)上傳到終端服務(wù)器中,再作簡(jiǎn)單存儲(chǔ)處理后上傳到上位機(jī)平臺(tái)中。下面是DS18B20溫度寄存器格式以及溫度值實(shí)例,如 REF _Ref328237179 h * MERGEFORMAT 圖 34以及 REF _Ref328237220 h * MERGEFORMAT 圖 35所示。圖 STYLEREF 1 s 3 SEQ 圖 * ARABIC s 1 4 DS18B20溫度寄存器格式圖 STYLEREF 1 s 3 SEQ
59、圖 * ARABIC s 1 5 DS18B20數(shù)值樣例單片機(jī)訪問(wèn)DS18B20,DS18B20此時(shí)充當(dāng)從機(jī)的角色,即單片機(jī)是主機(jī),通過(guò)一總線(xiàn)方式來(lái)訪問(wèn)DS18B20,一般經(jīng)過(guò)以下幾個(gè)步驟:執(zhí)行DS18B20復(fù)位 執(zhí)行ROM指令 執(zhí)行RAM指令事實(shí)上,一般采用單點(diǎn)測(cè)溫,也就是說(shuō)單總線(xiàn)上只有一個(gè)DS18B20存在,因此,在執(zhí)行過(guò)程中可以跳過(guò)ROM指令,無(wú)需可以讀取ROM里面的序列號(hào),直接讀取功能指令,DS18B20復(fù)位時(shí)序如下:?jiǎn)纹瑱C(jī)拉低總線(xiàn)480us950us,然后拉高總線(xiàn);DS18B20此時(shí)會(huì)拉低信號(hào),大約60240us表示應(yīng)答;DS18B20拉低電平的60240us之間,單片機(jī)讀取單總線(xiàn)的
60、電平,如果是低電平,則表示復(fù)位成功;DS18B20拉低電平60240us之后,會(huì)釋放總線(xiàn)。單總線(xiàn)通信協(xié)議中存在兩種寫(xiě)時(shí)隙:寫(xiě)0寫(xiě)1。主機(jī)采用寫(xiě)1時(shí)隙向從機(jī)寫(xiě)入1,而寫(xiě)0時(shí)隙向從機(jī)寫(xiě)入0。所有寫(xiě)時(shí)隙至少要60us,且在兩次獨(dú)立的寫(xiě)時(shí)隙之間至少要1us的恢復(fù)時(shí)間。兩種寫(xiě)時(shí)隙均起始于主機(jī)拉低數(shù)據(jù)總線(xiàn)。下面是單總線(xiàn)的時(shí)序規(guī)定,如 REF _Ref328237967 h * MERGEFORMAT 圖 36所示DS18B20讀寫(xiě)0時(shí)隙,如 REF _Ref328238125 h * MERGEFORMAT 圖 37所示DS18B20讀寫(xiě)1時(shí)隙,如 REF _Ref328238191 h * MERGEF
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)振弦式多點(diǎn)變位計(jì)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)開(kāi)天帳篷市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)外勤馬甲市場(chǎng)調(diào)查研究報(bào)告
- 法斗合同范本
- 2025年中國(guó)雙層陳列食物暖柜市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)壓縮式垃圾中轉(zhuǎn)設(shè)備市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)化妝品注塑件市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)中央試驗(yàn)臺(tái)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)不銹鋼水管市場(chǎng)調(diào)查研究報(bào)告
- 武漢市婚紗攝影服務(wù)合同范本
- 2025年房屋交易代持策劃協(xié)議書(shū)
- 課題申報(bào)參考:“四新”建設(shè)背景下教育創(chuàng)新與課程數(shù)字化實(shí)踐研究
- 2025年上半年贛州市于都縣招聘城管協(xié)管員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年江蘇農(nóng)牧科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫(kù)及答案【易錯(cuò)題】
- 中考數(shù)學(xué)總復(fù)習(xí)第一章第3課時(shí)二次根式課件
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(xiàn)(道)數(shù)字化施工組”賽項(xiàng)考試題庫(kù)
- 病原生物與免疫學(xué)(中職)緒論P(yáng)PT課件
- 新起點(diǎn)小學(xué)英語(yǔ)一年級(jí)上冊(cè)單詞卡片(共23頁(yè))
- 譯林版五下英語(yǔ)1-3單元電子稿
- 節(jié)后復(fù)工安全溫馨提示
評(píng)論
0/150
提交評(píng)論