<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 嵌入式技術在智能家居終端控制系統(tǒng)中的應用

          嵌入式技術在智能家居終端控制系統(tǒng)中的應用

          作者: 時間:2011-12-13 來源:網(wǎng)絡 收藏

            其中,主CPUS3C44B0X與ROK101007模塊通過UART口連接,其連接電路如圖4所示。

            藍牙模塊電路連接圖

            從圖4中可以看到,主控制器連接到一個藍牙主模塊,通過它與各節(jié)點的藍牙從模塊進行通信來實現(xiàn)各種控制功能。同時主控制還帶有LCD以及鍵盤輸入的功能。即可在主控制器進行命令和數(shù)據(jù)的輸入然后通過藍牙主模塊發(fā)送到節(jié)點,從各節(jié)點返回的狀態(tài)信息也可即時的在LCD上顯示。

            4 軟件設計

            根據(jù)中各部分的劃分,軟件也相應的對各部份進行了模塊化的設計。包括遠程控制模塊,安防報警模塊,環(huán)境控制模塊,信息家電模塊。而其中安防報警模塊的優(yōu)先級是最高的,其次是環(huán)境控制模塊(因為需要實時的環(huán)境狀態(tài)),然后才是遠程控制模塊和信息家電模塊。

            本系統(tǒng)中采用的操作系統(tǒng)是uC/OS-II.它是一個多任務實時操作系統(tǒng),具有簡潔高效,易于移植,可裁剪等特點。它可以最多管理63個任務,且提供良好的任務控制API使得用戶可靈活簡便的控制各任務的運行。針對本系統(tǒng)各模塊我們設計了相應的獨立任務完成所需的功能。主要包括主程序任務、安防報警任務、環(huán)境控制任務、遠程控制任務和信息家控制任務。主程序任務是其他各任務的創(chuàng)建者,由它來管理各個任務的創(chuàng)建及運行。故程序運行時首先創(chuàng)建主程序任務,它的顯示界面將提供其他各任務的進入菜單。當需要對某個節(jié)點進行控制或狀態(tài)查看時,就進入它所在的模塊菜單,主程序就創(chuàng)建此模塊任務進行對此節(jié)點的控制。主程序任務默認首先創(chuàng)建安防報警任務,因為它需要最高的優(yōu)先級。

            整個程序運行過程如圖5所示。

            程序運行圖

            從圖中可以看到,系統(tǒng)上電后,首先進行系統(tǒng)初始化(包括LCD,中斷,串口等的初始化),再進行藍牙網(wǎng)絡的硬件初始化,再進入操作系統(tǒng)uC/OS-II的載入及初始化,接下來uC/OS-II利用OSTaskCreat()創(chuàng)建主程序任務。主程序任務默認又創(chuàng)建安防報警任務并進入運行狀態(tài)。當要進行其它模塊任務的創(chuàng)建時就需將安防報警任務掛起,等其他模塊任務退出后再恢復運行安防報警模塊。每一時刻在uC/OS-II最多只有兩個任務處于運行狀態(tài),這樣做很好的保證了系統(tǒng)的實時性。

            5 結語

            本系統(tǒng)采用了藍牙和32位微控制器對控制進行了設計,使其性能優(yōu)越、結構清晰、成本低并具有較好的擴展性。與有線家居網(wǎng)絡相比,本系統(tǒng)擺脫了布線系統(tǒng)的束縛,提高了系統(tǒng)的抗干擾能力。用戶在增加電器或其他設備時,只需要增加相應的設備識別號,無須增加連線。隨著計算機、通信和網(wǎng)絡的飛速發(fā)展,可以預見,不遠的將來市場必將迎來它的繁榮發(fā)展階段。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();