實訓報告-智能家居實訓報告模板.doc
《實訓報告-智能家居實訓報告模板.doc》由會員分享,可在線閱讀,更多相關《實訓報告-智能家居實訓報告模板.doc(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
實 訓 報 告嵌入式智能家居實訓報告班級學號 1339124 姓 名 張德進 實訓地點 E501 指導教師 龐春輝 完成日期 2015 年 12月 20日一、實訓目的(1)具有閱讀程序能力,查閱相關資料能力,掌握程序修改能力(2)具備編寫代碼能力,掌握程序分析,編寫,調試能力。二、實訓環(huán)境校內環(huán)境:E501校外環(huán)境:工作單位以校內實訓為主,校外實訓為輔。(1)硬件設備計算機。(2)軟件Eclipse。3、 技術介紹隨著社會、經(jīng)濟水平的發(fā)展,人們對家居品質的要求也越來越高,要求居住環(huán)境舒適化、安全化,家居生活人性化、智能化。智能家居是3C技術(即)向傳統(tǒng)家電產業(yè)滲透發(fā)展的必然結果。從社會背景的層面來看,近年來信息化的高度進展,通訊的自由化與高層次化、業(yè)務量的急速增加與人類對工作環(huán)境的安全性、舒適性、效率性要求的提高,造成家居智能化的需求大為增加;此外在科學技術方面,由于計算機控制技術的發(fā)展與電子信息通訊技術的成長,促成了智能家居的誕生。現(xiàn)在的中國正迎來一個數(shù)字城市、數(shù)字社區(qū)建設與發(fā)展的熱潮,3G技術和互聯(lián)網(wǎng)應用對智能家居的發(fā)展也起到很重要的推動作用,智能家居的日漸興起影響到人們生活的方方面面,改變了人們的生活習慣,提高了人們的生活質量,促使家庭實現(xiàn)了生活現(xiàn)代化,給人們的家居生活帶來了全新的感受,它必將成為一種發(fā)展趨勢。目前市場上出現(xiàn)得智能家居控制系統(tǒng)主要有: (1)X-10系統(tǒng)(美國),該系統(tǒng)是利用電力線作為網(wǎng)絡平臺,采用集中控制方式實現(xiàn)。這套系統(tǒng)的功能較為強大,與其它家居控制系統(tǒng)如ABB、C_BUS等比起來更容易接收,使用也相對簡單。因為實現(xiàn)同樣的功能,X-10家居控制系統(tǒng)是利用220v電力線將發(fā)射器發(fā)出的X-10信號傳送給接收器從而實現(xiàn)智能化的控制,因此采用這套系統(tǒng)不需要額外的布線,這也是這套系統(tǒng)的最大的一個優(yōu)勢,因為其它系統(tǒng)基本上都需要布低壓線,在墻上或地面開槽、鉆孔,施工難度大、費用高、工期長。但由于缺乏在國內市場推廣的條件且價格昂貴,該系統(tǒng)在國內應用極少。 (2)EIB系統(tǒng)(德國),該系統(tǒng)采用預埋總線及中央控制方式實現(xiàn)控制功能。但由于其工程要求復雜嚴苛,并且價格較高,因此一直無法打開國內市場。 (3)8X系統(tǒng)(新加坡),該系統(tǒng)采用預處理總線跟集中控制方式來實現(xiàn)功能。它的優(yōu)點在于利用的產品對系統(tǒng)進行擴展,系統(tǒng)較為成熟,比較適合中國國情。但是由于系統(tǒng)架構、靈活性及產品價格等方面還難以達到要求,所以目前在國內還較少應用。 對于我國的智能家居進展目前,主要采用國外的一些技術產品,但也有一些企業(yè)推出了自己的產品,主要有: (1)e家庭(海爾),該系列產品以海爾電腦作為控制中心,各種網(wǎng)絡家電作為終端設備,海爾移動電話作為移動數(shù)字控制中心。海爾在技術上同微軟合作,利用微軟的Windows Me技術和海爾的網(wǎng)絡家電,使“e家庭”已具雛形,已推出了網(wǎng)絡洗衣機、網(wǎng)絡冰箱、網(wǎng)絡空調、網(wǎng)絡微波爐等一系列網(wǎng)絡家電。 (2)e-home數(shù)字家園(清華同方),該智能家居控制系統(tǒng)是專門針對中國家庭設計的,遵循國際技術標準,采用嵌入式軟、硬件技術,提供網(wǎng)絡、網(wǎng)絡節(jié)點及末端設備。產品以功能模塊開發(fā)為主,基于國外成熟的智能家居標準之上。其智能家居控制系統(tǒng)主要有以下三個部分: A系列:遵循EIB協(xié)議的家庭控制產品,適用于中高檔住宅區(qū)。 B系列:遵循X-10協(xié)議的家庭控制產品,適用于中檔住宅區(qū)。 易家三代:配電箱集中安裝式家庭控制產品。 國內各大軟、硬件機構正在積極的研制、開發(fā)更為符合市場的智能化家居設備,以解決當前智能化產品實用性差、使用復雜及產品價格昂貴等缺點,而技術創(chuàng)新性也逐步向國際先進水平靠攏,這樣的未來值得期待。 4、存在的不足或有待深入研究解決的問題; 不足之處:由于我國的智能家居相對于國外起步較晚, 還缺乏統(tǒng)一明確的國際標準,許多公司開發(fā)出的產品都是基于自己組的網(wǎng)絡和信息交換協(xié)議,很多產品是針對特定的組網(wǎng)環(huán)境開發(fā)的,部分核心技術沒有對外公布,技術復雜,直接導致了使用范圍的局限性。再者,缺乏對應的第三方產品,各個接入設備之間不能兼容,互操作性差,不利于產品的擴充,因而進一步局限了產品的發(fā)展。再加上,有的系統(tǒng)成本過高,嚴重影響了產品的普及。因此設計一個符合國家國情和規(guī)范的集遠程控制和本地控制為一體的智能家居控制系統(tǒng)是非常具有現(xiàn)實意義的,且勢在必行。 主要問題:根據(jù)前面提到的一些調查結果及數(shù)據(jù)可以看出,雖然目前智能家居系統(tǒng)有了一定的發(fā)展,并且市場上也開始出現(xiàn)相應的產品,但從總體的發(fā)展來看,不容樂觀,特別是統(tǒng)一標準和權威產品的缺乏嚴重影響了家居智能化的發(fā)展。隨著科技的提高,經(jīng)濟的發(fā)展,人們的物質生活水平的提高,對家居環(huán)境的要求也越來越高,作為家居智能化的核心部分智能家居控制系統(tǒng)也越發(fā)顯得重要。家居智能化控制的開發(fā)和建設是未來國家、經(jīng)濟發(fā)展的必然趨勢。 智能家居控制器可以為系統(tǒng)提供智能控制方案,使住戶的控制更便捷,更高效,更能為家庭的日?;顒庸?jié)約不必要的能耗。而且在現(xiàn)在這個注重綠色環(huán)保的世界里,智能的為住戶控制好空氣的濕度、溫度等,檢查分析空氣成分,讓住戶安心入住。同時,智能家居控制器可以根據(jù)住戶的要求調整方案,加強緊急處理,危機救護等急救控制,充分達到只要是“用戶想要的,就是我們追求的”宗旨。經(jīng)過2013年的哥本哈根會議,我國更加明確了節(jié)能減排,綠色建筑的目標,這就使住宅智能化凸顯出了其合理規(guī)劃,最大限度的節(jié)約能源的優(yōu)勢。如果我國大力推廣綠色建筑,僅在鋪設智能化系統(tǒng)上所需的新設備的生產上就有2000億到3000億人民幣的新市場。而中國“智能家居網(wǎng)絡”必在“智能化住宅”的框架下形成一個新型IT產業(yè),而這一切必將對未來幾十年我國房地產的健康有效發(fā)展起著深遠的影響。 作為智能家居的核心系統(tǒng)的智能家居的控制系統(tǒng),它的設計功能的完善必將推動住宅智能化的發(fā)展。而系統(tǒng)功能的集成化、用戶使用的傻瓜化以及市場的平民化將是智能家居控制器的發(fā)展趨勢,系統(tǒng)也將逐步邁向綠色化。最終,我想全人類的夢想是智能家居控制系統(tǒng)將囊括所有的家事雜物,讓我們真正的享受舒適溫馨的家庭生活。4、 實訓內容#include #include #include lpc11xx.h#include clkconfig.h#include gpio.h#include uart.h#include timer32.h#include ssp.h#include i2c.h#include wdt.h#include adc.h#include rom_drivers.h#include seg7led.h#include oled2864.h #include light.h#include acc.h#include key.h#include rfid.h#include tools.h#include spi_uart.h#include temp_hum.h#include collect_data.h#include led_spk_fan.h#include menu.hextern void LED_Test(void);extern void Speaker_Test(void);extern void Fan_Test(void);extern void ADC_Test(void);extern void CAN_Test_ROM(void);extern void CAN_Test(void);#define ID_NUM 2#define ntype 1#define itype 2#define rtype 4#define transhead 0xaa#define LED_ON 0 #define LED_OFF 1#define FAN_ON 2#define FAN_OFF 3#define LED7_ON 4#define LED7_OFF 5#define SPEAKER_ON 6#define SPEAKER_OFF 7#define ANSWER 8 volatile uint32_t counter1 = 0;volatile uint32_t counter2 = 0;static const unsigned char aucCRCHi = 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40;static const unsigned char aucCRCLo = 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 0x40;typedef struct /數(shù)據(jù)封裝uint8_t head; /數(shù)據(jù)頭 uint8_t dev_no; /房間號uint8_t type; /數(shù)據(jù)類型uint8_t len; /數(shù)據(jù)長度uint8_t ndata; uint8_t temp2; uint8_t hum2; uint8_t light2; uint8_t adc2; uint8_t acc3; uint8_t rfid4; uint_least16_t check; transdata; int32_txoff = 0; /初始化三軸信息 int32_tyoff = 0; int32_tzoff = 0; int8_tx = 0; int8_ty = 0; int8_tz = 0; /初始化三軸信息void SysTick_Handler(void)/線程 static uint32_tTick=0; static uint8_tcnt=0; Tick +; if(Tick = 500) cnt +;cnt &= 0x1f; else if(Tick = 1000) counter1+;counter2+;Tick = 0; void collect_data(uint8_t *temp,uint8_t *hum,uint8_t *light)/顯示溫濕度和亮度函數(shù) uint8_t i; char buf16; uint32_tlight_data; i = Read_Temp_Hum(temp, hum);/采集溫濕度 I2CInit(I2CMASTER, 0); /初始化亮度函數(shù) light_init(); light_enable(); light_setRange(LIGHT_RANGE_4000); /初始化亮度函數(shù) light_data = light_read(); /采集亮度 light0 = (light_data 8); /左移八位,使光亮度值在整數(shù)位上 light1 = (light_data & 0xff); if(i != 0) OLED_ClearScreen(); /清屏 snprintf(buf, 16, Temp: %d.%d , temp0, temp1); OLED_DisStrLine(1, 0, (uint8_t *)buf); /顯示溫度 snprintf(buf, 16, Hum: %d.%d , hum0, hum1); OLED_DisStrLine(2, 0, (uint8_t *)buf); /顯示濕度 snprintf(buf, 20, Light: %d , light_data); OLED_DisStrLine(3, 0, (uint8_t *)buf); /顯示亮度if(temp030) /判斷溫度高位是否超過閥值GPIOSetValue(PORT3, 0, 0);/Turn on led1 speaker_op(1);/Turn on speaker GPIOSetValue(PORT0, 2, 0);/ Turn on Fanif(temp030) GPIOSetValue(PORT0, 2, 1);/ Turn off Fan GPIOSetValue(PORT3, 0, 1);/Turn off led1speaker_op(0);/Turn off speakerif(light_data 30 | x 30 | y 30 | z -30) /判斷是否超過設定的閥值speaker_op(1); /turn on spear GPIOSetValue(PORT3, 0, 0);/Turn on led1elsespeaker_op(0);/Turn off speaker GPIOSetValue(PORT3, 0, 1);/Turn off led1 void send_data(uint8_t *data, uint8_t len)/發(fā)送信息函數(shù) uint8_t i = 0,buf16; for(i = 0;ilen;i+) ZigBee_PutChar(datai); /利用zigbee發(fā)送數(shù)據(jù)void send_zigbee(uint8_t *data)ZigBee_PutString(data);return;uint_least16_t usMBCRC16( uint8_t * pucFrame,uint8_t usLen )/CRC檢驗函數(shù) uint8_t ucCRCHi = 0x0; uint8_t ucCRCLo = 0x0; int iIndex; while( usLen- ) iIndex = ucCRCLo *( pucFrame+ ); ucCRCLo = (uint8_t)( ucCRCHi aucCRCHiiIndex ); ucCRCHi = aucCRCLoiIndex; return (uint_least16_t)( ucCRCHi 8; buf16 = data.check & 0xff; send_data(buf,17); /發(fā)送信息和CRC檢驗位 if(data.type = rtype) buf2 = data.type;buf3 = 4;buf4 = data.rfid0;buf5 = data.rfid1;buf6 = data.rfid2;buf7 = data.rfid3;data.check = usMBCRC16(buf,8); /根據(jù)發(fā)送數(shù)據(jù)設置CRC檢驗位buf8 = data.check 8;buf9 = data.check & 0xff;send_data(buf,10);/發(fā)送信息和CRC檢驗位 if(data.type = ntype) buf2 = data.type; buf3 = 1; buf4 = data.ndata; data.check = usMBCRC16(buf,5);/根據(jù)發(fā)送數(shù)據(jù)設置CRC檢驗位 buf5 = data.check 8; buf6 = data.check & 0xff; send_data(buf,7); /發(fā)送信息和CRC檢驗位 Led7_On(void)/數(shù)碼管顯示函數(shù) uint32_t i = 0; while(i PIO0_1 &= 0x07; LPC_IOCON-PIO0_1 |= 0x01;/* CLK OUT */ GPIOSetDir(PORT3, 0, 1);/ Set PIO3_0 to output GPIOSetValue(PORT3, 0, 1);/ PIO3_0 output 1, close LED1 GPIOSetDir(PORT3, 1, 1);/ Set PIO3_1 to outputGPIOSetValue(PORT3, 1, 1);/ PIO1_1 output 1, close LED2 GPIOSetDir(PORT0, 2, 1);/ Set PIO0_2 to output GPIOSetValue(PORT0, 2, 1);/ PIO0_2 output 1, close FAN LPC_IOCON-R_PIO1_1 &= 0x07; LPC_IOCON-R_PIO1_1 |= 0x01; GPIOSetDir(PORT1, 1, 1);/ Set PIO3_2 to outputGPIOSetValue(PORT1, 1, 1);/ PIO3_2 output 1,Speaker turn off Seg7Led_Init();/初始化數(shù)碼管 Seg7Led_Put( );/ Output SysTick_Config(48000); GPIOSetValue(PORT3, 0, 0);/ PIO3_0 output 0, Turn on LED1 GPIOSetValue(PORT3, 1, 0);/ PIO3_1 output 0, Turn on LED2 delay_ms(200); GPIOSetValue(PORT3, 0, 1);/ PIO3_0 output 1, Turn off LED1 GPIOSetValue(PORT3, 1, 1);/ PIO3_1 output 1, Turn off LED2 SPI_IOConfig(0); SPI_Init(0, 8, 2); /初始化M0板的顯示屏 OLED_Init_I(); UARTInit(115200); /初始化串口 NVIC_SetPriority(UART_IRQn, 2); printf(rnrnFS_11C14 Main Menurn); delay_ms(250); SPI_IOConfig(1); /* 初始化zigbee發(fā)送設備 */ SPI_Init(1, 8, 2); SPI752_Init(1, 115200); /* 初始化zigbee發(fā)送設備 */ for(k =0 ; k 9) k = 0;Seg7Led_Put(k);k+;delay_ms(250);if(counter1 1)collect_data(data.temp,data.hum,data.light);/顯示溫濕度和亮度函數(shù)adc_set(data.adc);/顯示電池函數(shù)acc_set(data.acc); /顯示三軸函數(shù)data.type = itype;/設置發(fā)送數(shù)據(jù)類型data_pakget_trans(data); /發(fā)送數(shù)據(jù)counter1 = 0;if(ZigBee_GetChar(p) /接收上層發(fā)下來的命令 if (i 8) = p5 ) if (p1 - 0 = ID_NUM) /如果設備號一致則執(zhí)行命令switch (p4) /如果有設備已開啟信息case LED_ON: GPIOSetValue(PORT3, 1, 0); /開led2break;case LED_OFF: GPIOSetValue(PORT3, 1, 1); /關led2break;case FAN_ON:GPIOSetValue(PORT0, 2, 0); /開風扇break;case FAN_OFF:GPIOSetValue(PORT0, 2, 1); /關風扇break;case LED7_ON:Led7_On();/數(shù)碼管倒計時break;case LED7_OFF:Seg7Led_Put( );/關數(shù)碼管break;case SPEAKER_ON: speaker_op(1); /開報警器break;case SPEAKER_OFF: speaker_op(0);/關報警器break;case ANSWER:GPIOSetValue(PORT0, 2, 6); /風扇加速break; default: printf(not write commod); break; /判斷是否有刷卡,返回值不為0則有人刷卡if(RFID_Test(data.rfid)/*!GPIOGetValue(PORT2, 8)*/)GPIOSetValue(PORT3, 0, 0); /刷卡顯示燈led1亮data.type = rtype; delay_ms(250);data_pakget_trans(data);GPIOSetValue(PORT3, 0, 1); /刷卡顯示燈led1滅/ Go to sleep to save power between timer interrupts _WFI(); 5、 實訓總結:綜上所述,本文通過對智能家居及其功能的介紹,展示智能家居的現(xiàn)代生活中的必要性。在介紹國外智能家居發(fā)展近況及國內發(fā)展現(xiàn)狀后,對我國智能家居發(fā)展提出有利建議。最后,預想出我國未來智能家居的發(fā)展趨勢。6、 實訓成績:- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 報告 智能家居 模板
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-9345389.html