新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux的智能家居管理方案

基于Linux的智能家居管理方案

作者: 時(shí)間:2013-01-05 來源:網(wǎng)絡(luò) 收藏

引言

  物聯(lián)網(wǎng)指的是將各種信息傳感設(shè)備,如射頻識(shí)別裝置、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等與互聯(lián)網(wǎng)結(jié)合起來,組成一個(gè)巨大的網(wǎng)絡(luò)。然后,將生活中的所有物品都納入這個(gè)網(wǎng)絡(luò),方便識(shí)別和管理。通俗地說,互聯(lián)網(wǎng)的終端是人,而“物聯(lián)網(wǎng)”的終端是物品,每一件物品都有CPU、網(wǎng)絡(luò)地址和傳感器,物品與物品之間也可以傳遞信息、發(fā)送指令,其主要宗旨是讓所有物品與網(wǎng)絡(luò)連接在一起,系統(tǒng)可以自動(dòng)的、實(shí)時(shí)的對(duì)物體進(jìn)行監(jiān)控、識(shí)別、定位、追蹤并觸發(fā)相應(yīng)事件。

  物聯(lián)網(wǎng)的興起,為提供了條件。如何通過簡(jiǎn)化物聯(lián)網(wǎng)終端設(shè)備,最終開發(fā)出一套經(jīng)濟(jì)實(shí)用的支持多終端應(yīng)用的物聯(lián)網(wǎng)平臺(tái)是非常有意義、有價(jià)值的工作。本系統(tǒng)基于操作系統(tǒng),開發(fā)了一套融合無線移動(dòng)網(wǎng)絡(luò)、射頻識(shí)別裝置的控制系統(tǒng)。此系統(tǒng)具有智能抄表、遠(yuǎn)程開啟電器、射頻識(shí)別遠(yuǎn)程遙控等功能。

1 系統(tǒng)概述

  本系統(tǒng)采用S3C2440芯片作為主控制器,操作界面為4.3寸觸摸顯示屏。上電后,顯示屏顯示整個(gè)家居系統(tǒng)網(wǎng)絡(luò)內(nèi)各設(shè)備,每個(gè)設(shè)備分別對(duì)應(yīng)一個(gè)圖標(biāo),包括燈光控制、風(fēng)扇、冰箱、電飯煲、燃?xì)饬髁坎杉取|c(diǎn)擊圖標(biāo)進(jìn)入該設(shè)備相應(yīng)的詳細(xì)信息欄。進(jìn)入燈光控制界面,可以方便地查看家中各房間亮燈情況,也可遠(yuǎn)程通過短信方式控制各房間的燈的亮滅;燃?xì)馐褂们闆r可方便地發(fā)送至相關(guān)采集部門;坐在辦公室,一條短信可以將電飯煲電源接通。家居中各設(shè)備與主控平臺(tái)間選擇了2.4 GHz的無線射頻收發(fā)芯片nRF24L01,通過它可以實(shí)現(xiàn)各家居設(shè)備與主控平臺(tái)間的無線通信。主控平臺(tái)與外網(wǎng)的通信,采用的是德國(guó)西門子公司的MC39i GSM/GPRS終端無線模塊。燃?xì)饬髁繙y(cè)量采用了美國(guó)矽翔微機(jī)電系統(tǒng)(上海)有限公司的MF4000系列氣體流量計(jì)燃?xì)饬髁坑?jì),智能家居控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 智能家居控制系統(tǒng)結(jié)構(gòu)框圖

  嵌入式ARM2440系統(tǒng)開發(fā)平臺(tái)是整個(gè)智能家居系統(tǒng)的監(jiān)控與管理中心,它主要集成了無線通信模塊、射頻識(shí)別模塊、紅外感應(yīng)模塊、觸摸顯示屏。該總控平臺(tái)一方面可以通過無線模塊接收到外部命令(例如:手機(jī)短信),并通過射頻識(shí)別,控制對(duì)應(yīng)的家居設(shè)備按指示工作,例如,打開電飯煲、空調(diào)或洗衣機(jī)。另一方面,各家居設(shè)備運(yùn)行信息可以通過射頻模塊接收采集(例如采集燃?xì)庾x數(shù)、水表讀數(shù)、電表讀數(shù)等),處理后,可以將數(shù)據(jù)發(fā)送到嵌入式ARM2440系統(tǒng)開發(fā)平臺(tái),該平臺(tái)將數(shù)據(jù)分類處理后,可選擇有用數(shù)據(jù)發(fā)送至對(duì)應(yīng)公司服務(wù)器(例如燃?xì)夤?、供電局、水廠等),實(shí)現(xiàn)自動(dòng)抄表。

  智能家居控制系統(tǒng)的中的每一個(gè)家居設(shè)備,都需要分別安裝一個(gè)射頻識(shí)別模塊,通過該模塊可以與嵌入式ARM2440系統(tǒng)開發(fā)平臺(tái)實(shí)現(xiàn)短距離無線通信。

2 射頻識(shí)別模塊

  nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片射頻收發(fā)器件。該射頻識(shí)別模塊可以實(shí)現(xiàn)多機(jī)通信,多機(jī)通信采用頻分多址的方法,只需要在接收端對(duì)不同的通道配置地址即可。發(fā)送端使用相應(yīng)的地址作為本機(jī)地址。接收數(shù)據(jù)時(shí)通過讀取STATUS中相關(guān)位即可得知接收的是哪個(gè)通道的數(shù)據(jù)。射頻識(shí)別模塊內(nèi)包括:頻率發(fā)生器、增強(qiáng)型SchockBurstTM模式控制器、功率放大器、晶體振蕩器、調(diào)制器和解調(diào)器。輸出功率頻道的選擇和協(xié)議可以通過對(duì)應(yīng)的SPI接口進(jìn)行設(shè)置。射頻識(shí)別模塊功耗低,當(dāng)工作在發(fā)射模式下發(fā)射功率為-6 dBm時(shí),電流消耗為9.0 mA;接收模式時(shí)為12.3 mA,掉電模式和待機(jī)模式下電流消耗更低。

  nRF24L01在接收模式下可以接收6路不同通道的數(shù)據(jù),nRF24L01在星形網(wǎng)絡(luò)中的結(jié)構(gòu)如圖2所示。每一個(gè)數(shù)據(jù)通道使用不同的地址,但是共用相同的頻道,也就是說6個(gè)不同的nRF24L01設(shè)置為發(fā)送模式后可以與同一個(gè)設(shè)置為接收模式的nRF24L01進(jìn)行通信,而設(shè)置為接收模式的nRF24L01可以對(duì)這6個(gè)發(fā)射端進(jìn)行識(shí)別。同一時(shí)刻,所有的數(shù)據(jù)通道都被搜索,但只能接

圖2 nRF24L01在星形網(wǎng)絡(luò)中的結(jié)構(gòu)

  收一路數(shù)據(jù)通道的數(shù)據(jù)。nRF24L01在確認(rèn)收到數(shù)據(jù)后記錄地址,并以此地址為目標(biāo)地址發(fā)送應(yīng)答信號(hào),在發(fā)送端數(shù)據(jù)通道0被用作接收應(yīng)答信號(hào),因此數(shù)據(jù)通道0的接收地址要與發(fā)送端地址相等以確保接收到正確的應(yīng)答信號(hào)。

3 氣體流量的檢測(cè)

  氣體流量測(cè)量采用的是MF4000系列氣體流量計(jì),MF4000系列質(zhì)量流量計(jì)是美國(guó)矽翔微機(jī)電專為管徑為3~8 mm的氣體管路中的低速氣流的流量計(jì)量而設(shè)計(jì)??谑皆O(shè)計(jì)為用戶提供簡(jiǎn)便的安裝,滿足用戶測(cè)量多氣體管路的需求。塑料卡口可輕松的進(jìn)行機(jī)械接口轉(zhuǎn)換,應(yīng)用于不同的低成本環(huán)境,內(nèi)置安全插件可適用于更寬的應(yīng)用,MF4000系列氣體流量計(jì)技術(shù)參數(shù)如表1所列。

表1 MF4000系列氣體流量計(jì)技術(shù)參數(shù)


  智能家電控制芯片為傳統(tǒng)的8051系列單片機(jī),單片機(jī)與氣體流程傳感器通過RS232通信,整個(gè)通信過程單片機(jī)作為主機(jī),傳感器作為從機(jī),它們采用點(diǎn)對(duì)點(diǎn)(或點(diǎn)對(duì)多點(diǎn))主從式工控網(wǎng)絡(luò)的半雙工異步傳輸模式,主機(jī)和從機(jī)之間用輪詢的方式來進(jìn)行通信。只有主機(jī)才能啟動(dòng)通信,沒有接到主機(jī)請(qǐng)求,從機(jī)不能主動(dòng)發(fā)送信息。主機(jī)向從機(jī)發(fā)送任務(wù)報(bào)文,從機(jī)接收到主機(jī)的任務(wù)命令后返回響應(yīng)報(bào)文并執(zhí)行相應(yīng)操作。除了發(fā)送響應(yīng)報(bào)文外,從機(jī)只能處于接收狀態(tài)。主機(jī)的每一次查詢都是以一個(gè)報(bào)文(幀)的數(shù)據(jù)傳送給從機(jī)。其通信流程如圖3所示。


圖3 單片機(jī)與傳感器/流量計(jì)的RS232串行通信流程

  對(duì)于RS232協(xié)議,用固定的字符0x9D標(biāo)識(shí)一幀數(shù)據(jù)的開始。數(shù)據(jù)傳輸通信時(shí),幀頭(地址)的識(shí)別是非常關(guān)鍵和重要的。一般解決此問題的方法是:找到所要傳輸?shù)臄?shù)據(jù)中不可能出現(xiàn)的特征數(shù)據(jù),再將此特征數(shù)據(jù)作為幀頭發(fā)送。但是,這種通信方式中,一方面特征數(shù)據(jù)一般較難找到,大多數(shù)情況下都需要用數(shù)個(gè)特殊字符組成特征數(shù)據(jù)作為幀頭;另一方面由于增加了較多的無用字符(相對(duì)于有用數(shù)據(jù)而言),從機(jī)不得不對(duì)特征數(shù)據(jù)進(jìn)行解碼,使得通信時(shí)間延長(zhǎng),造成該從機(jī)的時(shí)間浪費(fèi)。本協(xié)議采用1位幀頭(地址)標(biāo)志位來解決幀頭(地址)的識(shí)別問題。

  具體方法為:主機(jī)首先禁止奇偶校驗(yàn),同時(shí)設(shè)置奇偶校驗(yàn)位為Mark標(biāo)志(相當(dāng)于設(shè)置幀頭標(biāo)志位DS為1),再向從機(jī)發(fā)送幀頭(地址)。此時(shí),正處于幀頭(地址)監(jiān)聽狀態(tài)的從機(jī)收到主機(jī)發(fā)來的幀頭(地址)后,進(jìn)入中斷服務(wù)例程,讀取主機(jī)發(fā)送的幀頭(地址)是否正確,當(dāng)確認(rèn)正確后,從機(jī)進(jìn)入數(shù)據(jù)接收狀態(tài)并等待主機(jī)發(fā)送數(shù)據(jù);否則,仍處于幀頭(地址)監(jiān)聽狀態(tài)并等待主機(jī)發(fā)送下一個(gè)幀頭(地址)。主機(jī)接著禁止奇偶校驗(yàn),同時(shí)設(shè)置奇偶校驗(yàn)位為Space標(biāo)志(相當(dāng)于設(shè)置幀頭(地址)標(biāo)志位DS為0),再發(fā)送數(shù)據(jù),進(jìn)入數(shù)據(jù)接收狀態(tài)的從機(jī)將正常接收所有數(shù)據(jù),然后向主機(jī)發(fā)送響應(yīng)報(bào)文,最后釋放總線并重新進(jìn)入幀頭(地址)監(jiān)聽狀態(tài)。
  單片機(jī)通過串口與傳感器通信,可以方便地采集到瞬時(shí)流量和累積流量,可記錄自上電以來瞬時(shí)流量的最大值和最小值,具有超量程指示功能。

4 移植及Qt應(yīng)用程序開發(fā)

  本系統(tǒng)在TQ2440開發(fā)板上移植了操作系統(tǒng),并在此嵌入式操作系統(tǒng)平臺(tái)上進(jìn)行了簡(jiǎn)易家居智能控制平臺(tái)的開發(fā)。Linux移植及Qt應(yīng)用程序開發(fā)步驟如圖4所示。

圖4 Linux移植及Qt應(yīng)用程序開發(fā)步驟

  首先是配置開發(fā)板所需要的環(huán)境軟件。在開發(fā)板環(huán)境建立中,要注意的是對(duì)于沒有串口的機(jī)器,一定要先安裝USB轉(zhuǎn)串口的驅(qū)動(dòng),而在安裝時(shí)務(wù)必注意將電腦與板載串口的波特率設(shè)置為一致。這個(gè)沒設(shè)置好,串口通信會(huì)有問題。除此之外,還需安裝好串口調(diào)試工具及程序燒錄下載工具。

  其次是搭建Linux交叉編譯環(huán)境。一般的電腦上都是Windows操作系統(tǒng),要開發(fā)Linux嵌入式操作系統(tǒng),需要安裝虛擬機(jī)(例如VMware等)、基于Linux內(nèi)核的相關(guān)操作系統(tǒng)(例如Fedora)和交叉編譯器。虛擬機(jī)是用來承載Linux操作系統(tǒng)在Windows機(jī)器上運(yùn)行而設(shè)置的,就像虛擬光盤一樣,是個(gè)虛擬的。交叉編譯器,是用來編譯和產(chǎn)生系統(tǒng)開發(fā)過程中各種鏡像文件。

  接著進(jìn)入移植過程。移植時(shí)一般順序?yàn)椋壕幾gUboot→編譯內(nèi)核→構(gòu)建文件系統(tǒng)。

  最后是Qt應(yīng)用程序開發(fā)。本系統(tǒng)是基于圖形界面開發(fā)的。Qt程序開發(fā)需要先建立Qtopia開發(fā)平臺(tái),然后進(jìn)入編譯目錄,執(zhí)行編譯腳本,無誤退出后,再編譯應(yīng)用程序。編譯應(yīng)用程序時(shí),只需進(jìn)入每個(gè)程序目錄,執(zhí)行make命令。然后,將編譯好的程序的可執(zhí)行文件拷貝到文件系統(tǒng)的鏡像目錄中,最后將編譯生成的.bin文件燒錄到開發(fā)板中即可。

結(jié)語

  本文描述的是一種簡(jiǎn)易可行的智能家居聯(lián)網(wǎng)方案,其具有成本低、易于實(shí)現(xiàn)、組網(wǎng)容易等優(yōu)點(diǎn),但對(duì)于更復(fù)雜的互動(dòng)功能還存在一定的欠缺。但基于上述主控平臺(tái),只需要調(diào)整智能家居的內(nèi)部局部通信網(wǎng)絡(luò)就可以實(shí)現(xiàn)更加完善的智能家居功能。例如可以不修改主控電路,利用WiFi或ZigBee網(wǎng)絡(luò)來重新組建家居設(shè)備網(wǎng)絡(luò)。

本文引用地址:http://www.butianyuan.cn/article/257197.htm
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 智能家居 Linux

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉