【正文】
設計了燈光控制系統(tǒng)客戶端的圖形用戶界面,使得對燈光系統(tǒng)的控制可視化。實驗結果是在客戶端用戶界面上選擇燈具的運行狀態(tài),服務器端接收到客戶端發(fā)出的請求后,在ICETEKDM642AVM評估板上模擬對應燈具的運行模式。(2) 網(wǎng)絡通信部分采用UDP協(xié)議,控制命令通過UDP數(shù)據(jù)報直接發(fā)送,沒有進行加密措施,在實際應用中就會存在很大的安全隱患,系統(tǒng)容易受到威脅。最主要的就是要詳細了解各種家用電器的運行模式和性能,對其加以正確的控制。姚老師嚴謹?shù)闹螌W精神,實事求是的研究作風給我留下了深刻的印象,這必將是我以后學習的榜樣。所有這些這將會使我受益終生。感謝我的家人對我一如既往的關懷和鼓勵。他們的支持就是我前進的動力。Property39。s Tools menu. Choose GUI allows only one% instance to run (singleton).%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help smartsystem % Last Modified by GUIDE 16May2010 11:08:39 % Begin initialization code DO NOT EDITglobal handles。, mfilename, ... 39。, smartsystem_OpeningF, ... 39。, [] , ... 39。amp。end% End initialization code DO NOT EDIT % Executes just before smartsystem is made visible.function smartsystem_OpeningF(hObject, eventdata, handles, varargin)% This function has no output args, see OutputF.% hObject handle to figure% eventdata reserved 。end if nargout [varargout{1:nargout}] = gui_mainf(gui_State, varargin{:})。, [])。, smartsystem_OutputF, ... 39。, gui_Singleton, ... 39。gui_State = struct(39。Value39。CALLBACK39。在精神和物質上都給予了我最大的支持,使我能夠更加積極地面對學習和生活中的困難,勇于進取。不僅如此,他們在學習過程中堅定的毅力以及不怕困難,勇于挑戰(zhàn)的精神都是我應該努力的方向。在將近三個月的時間里,我查閱分析資料的能力有了很大的提高,能夠從眾多資料中提煉對自己有用的信息。致謝大學四年的時光已接近尾聲,我想借此機會表達對母校,我的父母、親人,老師和同學由衷的謝意。(3) 本設計還只是處在模擬家用電器的運行模式的階段,沒有實際控制家用電器。(1) 智能家居系統(tǒng)包括八個子系統(tǒng),即燈光控制系統(tǒng)、遠程監(jiān)控系統(tǒng)、可視對講系統(tǒng)、安防報警系統(tǒng)、家電控制系統(tǒng)、窗簾控制系統(tǒng)、背景音樂系統(tǒng)和小區(qū)服務系統(tǒng)。通過點擊不同按鈕可調用不同子系統(tǒng)的圖形用戶界面。再次通過UDP協(xié)議設計網(wǎng)絡通信流程。MATLAB、DSP的軟件仿真環(huán)境CCS及ICETEKDM642AVM評估板。如果需要點亮指示燈,該指示燈的寄存器控制位上要置高電平(1),關閉時置低電平(0)。如圖36(3)所示。連接成功后,就可以選擇燈具的不同運行模式發(fā)送給服務器端。打開服務器端的工程,進行編譯、連接。上電正常時,ICETEKDM642AVM評估板上的上電指示燈常亮,復位指示燈熄滅。 網(wǎng)絡通信調試連接實驗設備,設置Code Composer (Emulator)方式下運行,要使板上的USB接口與PC機上的USB接口相連。3.數(shù)據(jù)報的發(fā)送和接收fprintf(obj1, 39。39。Tag39。39。udp39。圖35為使用UDP發(fā)送數(shù)據(jù)的連接圖以及相應的程序。單擊Connect按鈕,可實現(xiàn)與所創(chuàng)建的對象的連接。在Add new UDP instrument中的Address項下輸入要連接的PC的IP地址,在Port中輸入進行通信的端口號。sin1,sizeof(sin1))//防止發(fā)送過快, 任務暫停8msTaskSleep(8)。if(bind(s,(PSA) amp。}while(rc 0)。//配置socket緩沖區(qū)大小rc = 8704。RT, sizeof(RT) )。 = inet_addr(LocalIPMask)。hCfg = CfgNew()。堆棧初始化過程:(1) 使用NC_SystemOpen(),該函數(shù)為所有網(wǎng)絡應用程序建立堆棧和內存環(huán)境;(2) 使用CfgNew(),該函數(shù)會創(chuàng)建一個配置句柄,利用該句柄使用CfgAddEntry()函數(shù)可以添加DHCP、DNS、HTTP等服務和配置socket緩沖區(qū)大小與ARP超時參數(shù);(3) 使用NC_NetStart(),該函數(shù)根據(jù)前面的配置參數(shù)啟動網(wǎng)絡,并創(chuàng)建三個回調函數(shù),分別是網(wǎng)絡啟動時只運行一次的函數(shù)、網(wǎng)絡被關閉時只運行一次的函數(shù)、當IP地址改變時運行的函數(shù)。同樣開發(fā)基于DSP/BIOS的網(wǎng)絡應用程序也必須要遵循一些原則:1.在CDB文件中為HAL創(chuàng)建一個周期為100ms的PRD函數(shù),用來驅動llTimerTick()系統(tǒng)函數(shù);2.OS需要鉤子函數(shù)為TCP/IP堆棧加載和保存私人變量指針,所以必須在CDB文件中創(chuàng)建兩個鉤子函數(shù)NDK_hookInit()和NDK_hookCreate(); Searching Path指向NDK安裝目錄下的inc文件夾;,在CCS的Link Order要按一定的順序添加庫文件,推薦的順序是:、HAL_xxxLIB;,OS和HAL會創(chuàng)建三個內存段,分別是PACKETMEM、MMBUFFER、OBJMEM,必須在CMD文件中為這三個段在內存中分配存儲空間;6.至少要使用32K的cache,否則應用程序會產(chǎn)生不可預料的錯誤。在NDK的TCP/,協(xié)調操作系統(tǒng)和底層硬件驅動,管理所有網(wǎng)絡事件。NDK的軟件開發(fā)環(huán)境是TI的開發(fā)工具CCS(code poser studio)。(2)示范程序。(3) 連接確認:是當服務器端套接字監(jiān)聽到或者接收到客戶端套接字的連接請求時,它就響應客戶端套接字的請求,建立一個新的線程,把服務器socket的描述發(fā)給客戶端,一旦客戶端確認此描述,連接就建立好了。套接字明確地將客戶和服務器區(qū)分開來,套接字機制可以實現(xiàn)多個客戶連接到一個服務器。因此本系統(tǒng)選擇UDP協(xié)議,相應的套接字也選用數(shù)據(jù)包套接字。C/S軟件技術是一種通用的、基于消息的技術。包含程序運行所需的庫。在本設計中因為要與TMS320DM642 ICETECKAVM板相連,故應該使用MATLAB R2007a版本。進行操作的信息如下:Would you like mbuild to locate installed pilers [y]/n? ySelect a piler: [1] Lccwin32 C in D:\R2007a\sys\lcc [0] None Compiler: 1Please verify your choices: Compiler: Lccwin32 C Location: D:\R2007a\sys\lcc Are these correct [y]/n? yTrying to update options file: C:\Documents and Settings\xtu\Application Data\MathWorks\MATLAB\R2007a\Fromtemplate: D:\R2007a\bin\win32\mbuildopts\ Done . . . 2.將腳本編譯為可執(zhí)行文件: ,在matlab的mand窗口中輸入:mcc B sgl 。 圖26智能家居系統(tǒng)主界面 MATLAB GUI程序轉換成可執(zhí)行文件對于一個通用的,比較成熟的解決方案,當然期望它能應用到更多的場合,(可執(zhí)行)文件可運行于所有的通用Windows操作系統(tǒng)。,39。)。 若要求退出子系統(tǒng)時返回智能家居系統(tǒng)主界面,則可在各子系統(tǒng)的退出按鈕的回調函數(shù)中的case‘是’后加入以下代碼:set (smartsystem,39。,39。)。set (smartsystem,39。智能家居系統(tǒng)主界面如圖23所示。在剛打開用戶界面時,雖然下拉菜單中顯示有各種燈具、運行模式、亮度選擇,但是這不會調用回調函數(shù),只有當下拉菜單被點擊時才會執(zhí)行相應的命令。界面上的連接按鈕是要創(chuàng)建一個UDP對象。圖23設置下拉菜單屬性當設置好界面后,點擊界面上的保存按鈕,MATLAB自動生成兩個文件:。其中對于按鈕來說String屬性是顯示在按鈕上的標題,對于下拉菜單來說String屬性是彈出菜單的字串??瞻醉撊鐖D21所示。Static Text用來顯示用戶界面上的靜態(tài)信息,用做其它控件的標簽,在該用戶界面中用于顯示控制項目名稱。 客戶端GUIDE界面設計1.燈光控制系統(tǒng)的GUIDE界面設計,選擇Push Button、Popup Menu、Static Text三種控件來構建燈光控制系統(tǒng)的客戶端圖形界面。(5) 網(wǎng)格標尺設置編輯器(Grid and Rulers)通過網(wǎng)格標尺設置編輯器,可以再GUI面板中添加網(wǎng)格以及標尺,來方便用戶的界面設計。選中需要對齊的對象,然后選擇工具條上的控件布置按鈕,即可打開控件布置編輯器。在GUIDE設計環(huán)境中,需要用到的工具有屬性編輯器、控件布置器、菜單編輯器、對象瀏覽器、網(wǎng)格標尺設置編輯器以及GUI應用屬性設置編輯器等?,F(xiàn)場菜單總是和某個(些)圖形對象相聯(lián)系,并通過鼠標右鍵激活,方便用戶的交互性操作。界面菜單包括圖形窗的標準菜單、自定義的用戶菜單、現(xiàn)場菜單。GUIDE將用戶保存設計好的GUI界面保存在一個FIG資源文件中,同時自動生成包含GUI初始化和組件界面布局控制代碼的M文件,為實現(xiàn)回調函數(shù)提供了一個參考框架。設計了客廳和臥室兩個房間。它不僅大大方便了人們的生活,也許它還會從一定程度上改變人們的生活方式,從而提高生活質量。實用性和舒適度是家庭燈光照明的兩大設計原則。 (4) 廚房要有足夠的亮度,而且宜設置局部照明。臥室是主人體息的地方,需要控制中央的吊燈,床頭的射燈、壁燈以及四周的筒燈,營造一個寧靜、溫和、安樣的休息場所。(2)一般配有吊燈、射燈、壁燈、筒燈等,可以用不同的燈光相互搭配產(chǎn)生不同的照明效果。智能照明系統(tǒng)還能夠和安防系統(tǒng)連動,當有警情發(fā)生的時候,家里陽臺上的燈會不停的閃爍報警。 (6) 場景設置:對于固定模式的場景,無需逐一地開關燈和調光,只進行一次編程,就可以按一個鍵控制一組燈,這就是場景設置功能。例如,在每天早晨7:00,將臥室的燈光緩緩開啟到一個合適亮度;在深夜,自動關閉全部的燈光照明。 (4) 全開全關和記憶功能:整個照明系統(tǒng)的燈可以實現(xiàn)一鍵全開和一鍵全關的功能。而且避免大電流和高溫的突變對燈絲的沖擊,保護燈泡,延長使用壽命。通過使用各種方式管理燈光控制系統(tǒng),如觸摸屏、網(wǎng)絡、PDA、電話,讓用戶在任意時候,任意地點都可以控制自己的房間中的設備。本設計就是利用這四個用戶指示燈模擬家用燈具的運行模式。編解碼器可以選擇麥克風輸入或直接輸入作為主動輸入,模擬輸出被指定為直接輸出接口。EMIF接口也連接擴展背板接口,擴展背板接口用來連接背板。ICETEKDM642AVM評估板還可以作為為TMS320DM642DSP芯片設計的硬件參考板。CCS的開發(fā)系統(tǒng)主要由以下組件構成: (1) TMS320C64x集成代碼產(chǎn)生工具; (2) CCS集成開發(fā)環(huán)境; (3) DSP/BIOS實時內核插件及其應用程序接口API; (4) 實時數(shù)據(jù)交換的RTDX插件以及相應的程序接口API; (5) 由TI公司以外的第三方提供的各種應用模塊插件。 TMS320C6000軟件開發(fā)環(huán)境Code Composer Studio (CCS)是德州儀器(TI)eXpressDSP?軟件與開發(fā)工具的核心。因此,不久的將來它一定能名符其實地成為“萬能演算紙式的”科學算法語言。(5) 高效方便的矩陣和數(shù)組運算Matlab語言象Basic、Fortran和C語言一樣規(guī)定了矩陣的算術運算符、關系運算符、邏輯運算符、條件運算符及賦值運算符,而且這些運算符大部分可以毫無改變地照搬到數(shù)組間的運算,有些如算術運算符只要增加“因而,用戶可以根據(jù)自己的需要方便地建立和擴充新的庫函數(shù),以便提高Matlab使用效率和擴充它的功能。Matlab語言與其它語言相比,較好地解決了上述問題,把編輯、編譯、鏈接和執(zhí)行融為一體。由于它編寫簡單,所以編程效率高,易學且易懂。在此環(huán)境下所解決問題的Matlab語言表述形式和其數(shù)學表達形式相同,不需要按傳統(tǒng)的方法編程。通常,編制程序也是繁雜的,不僅消耗人力與物力,而且影響工作進程和效率。第1章 開發(fā)系統(tǒng)簡介 MATLAB環(huán)境簡介在科學研究和工程應用中,往往要進行大量的數(shù)學計算,其中包括矩陣運算。介紹了客戶端的GUI程序設計以及將其轉換為可執(zhí)行文件的步驟。最終的實驗可以通過MATLAB開發(fā)出的GUI在局域網(wǎng)內以遠程訪問的方式來控制DSP,模擬控制家居中燈具