linux智能家居
① 怎麼實現智能插座接入linux操作系統
基於Linux操作系統的 智能家居的設計
智能家居是當前社會一個新穎的話題,也是電子技術發展的方面,把電子技術充分應用在生活中。然而到目前為止,智能家居才做到智能小區這個地步,因為實現智能家居的費用比較高。智能家居也是物聯網的一個分支,把家庭中的相關家居通過一個控制平台,連接到網路上,在聯網的條件下,可以隨時查看家裡的情況和控制。
物聯網的興起,為智能家居提供了條件。如何通過簡化物聯網終端設備,最終開發出一套經濟實用的支持多終端應用的智能家居物聯網平台是非常有意義、有價值的工作。本系統基於Linux操作系統,開發了一套融合無線移動網路、射頻識別裝置的智能家居控制系統。此系統具有智能抄表、遠程開啟電器、射頻識別和遠程遙控等功能。
1系統概述
本系統採用S3C2410晶元作為主控制器,操作界面為3.2寸TFT觸摸顯示屏。上電後,顯示屏顯示整個家居系統網路內各設備,每個設備分別對應一個圖標,包括燈光控制、風扇、冰箱、空調、溫度、電飯煲、煙霧、燃氣流量採集等。點擊圖標進入該設備相應的詳細信息欄。進入燈光控制界面,可以方便地查看家中各房間亮燈情況,也可遠程通過簡訊方式控制各房間的燈的亮滅;燃氣使用情況可方便地發送至相關採集部門;坐在辦公室,一條簡訊可以將電飯煲電源接通。家居中各設備與主控平台間選擇了2.4 GHz的無線射頻收發晶元nRF2401,通過它可以實現各家居設備與主控平台間的無線通信。主控平台與外網的通信,採用的是ATK-SIM900A GSM/GPRS終端無線模塊。煙霧感測器採用MQ-2感測器來採集室內煙霧情況。
嵌入式ARM2410系統開發平台是整個智能家居系統的監控與管理中心,它主要集成了無線通信模塊、射頻識別模塊、紅外感應模塊、觸摸顯示屏。該總控平台一方面可以通過無線模塊接收到外部命令(例如:手機簡訊),並通過射頻識別,控制對應的家居設備按指示工作,例如,打開電飯煲、空調或洗衣機。另一方面,各家居設備運行信息可以通過射頻模塊接收採集(例如電表讀數等),處理後,可以將數據發送到嵌入式ARM2410系統開發平台,該平台將數據分類處理後,可選擇有用數據發送至對應公司伺服器(例如供電局、水廠等),實現自動抄表。
智能家居控制系統的中的每一個家居設備,都需要分別安裝一個射頻識別模塊,通過該模塊可以與嵌入式ARM2410系統開發平台實現短距離無線通信。
2射頻識別模塊
nRF2401是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片射頻收發器件。該射頻識別模塊可以實現多機通信,多機通信採用頻分多址的方法,只需要在接收端對不同的通道配置地址即可。發送端使用相應的地址作為本機地址。接收數據時通過讀取STATUS中相關位即可得知接收的是哪個通道的數據。射頻識別模塊內包括:頻率發生器、增強型 SchockBurstTM模式控制器、功率放大器、晶體振盪器、調制器和解調器。輸出功率頻道的選擇和協議可以通過對應的SPI介面進行設置。射頻識別模塊功耗低,當工作在發射模式下發射功率為-6 dBm時,電流消耗為9.0 mA;接收模式時為12.3 mA,掉電模式和待機模式下電流消耗更低。
nRF2401在接收模式下可以接收6路不同通道的數據,nRF2401在星形網路中的結構如所示。每一個數據通道使用不同的地址,但是共用相同的頻道,也就是說6個不同的nRF2401設置為發送模式後可以與同一個設置為接收模式的nRF2401進行通信,而設置為接收模式的 nRF2401可以對這6個發射端進行識別。同一時刻,所有的數據通道都被搜索,但只能接?
收一路數據通道的數據。nRF2401在確認收到數據後記錄地址,並以此地址為目標地址發送應答信號,在發送端數據通道0被用作接收應答信號,因此數據通道0的接收地址要與發送端地址相等以確保接收到正確的應答信號。
3煙霧的檢測
煙霧檢測採用MQ-2 感測器模塊,模塊能檢測多種氣體,當氣體濃度超過程序中設定值的時候,模塊檢測出來並在相應引腳上產生信號,供單片機讀取。模塊有一下參數:
1、可以用於家庭和工廠的氣體泄漏監測裝置,適宜於液化氣,丁烷,丙烷,
? ?甲烷,酒精,煙霧等的探測;
2、靈敏度可調;
3、工作電壓 5V 使用前,供電至少預熱 2 分鍾以上,感測器稍微發燙屬於
? ?正常現象;
4、輸出形式 :a)模擬量電壓輸出? ?b)數字開關量輸出(0 和 1)
5、串口通信
主控晶元採用8051系列單片機晶元,單片機通過串口與感測器通信,可以方便地採集到瞬時流量和累積流量,可記錄自上電以來瞬時流量的最大值和最小值,具有超量程指示功能,程序模擬SPI介面,實現與NRF2401的通信。
4Linux移植及Qt應用程序開發
本系統在Friednly2410開發板上移植了Linux操作系統,並在此嵌入式操作系統平台上進行了簡易家居智能控制平台的開發。Linux移植及Qt應用程序開發步驟如所示。
首先是配置開發板所需要的環境軟體。在開發板環境建立中,要注意的是對於沒有串口的機器,一定要先安裝USB轉串口的驅動,而在安裝時務必注意將電腦與板載串口的波特率設置為一致。這個沒設置好,串口通信會有問題。除此之外,還需安裝好串口調試工具及程序燒錄下載工具。
其次是搭建Linux交叉編譯環境。一般的電腦上都是Windows操作系統,要開發Linux嵌入式操作系統,需要安裝虛擬機(例如VMware 等)、基於Linux內核的相關操作系統(例如Fedora)和交叉編譯器。虛擬機是用來承載Linux操作系統在Windows機器上運行而設置的,就像虛擬光碟一樣,是個虛擬的。交叉編譯器,是用來編譯和產生系統開發過程中各種鏡像文件。深圳、廣州、鄭州想系統學習嵌入式的朋友可聯系付老師QQ1841388306
接著進入移植過程。移植時一般順序為:編譯Uboot→編譯內核→構建文件系統。
最後是Qt應用程序開發。本系統是基於圖形界面開發的。Qt程序開發需要先建立Qtopia開發平台,然後進入編譯目錄,執行編譯腳本,無誤退出後,再編譯應用程序。編譯應用程序時,只需進入每個程序目錄,執行make命令。然後,將編譯好的程序的可執行文件拷貝到文件系統的鏡像目錄中,最後將編譯生成的.bin文件燒錄到開發板中即可。
② Weave通信協議有成為智能家居標準的的潛力嗎
隨著智能家居市場的不斷火爆,智能家居的標准越來越成為其發展的瓶頸,很多廠家各自為政,推出的智能家居產品和其它廠家兼容性很差,或者根本不兼容。市場上急需一個統一的標准,來推動智能家居市場的健康發展,然而標準的制定牽扯各方利益,最終的標准落地仍很漫長。谷歌Weave通信協議的出現,或許給智能家居標準的發展帶來新的曙光。
在 I/O 2015 大會上,Google 推出基於 JSON 的通訊語言 Weave。意在創建智能硬體間的通用通信、指令收發方案,與 Android 兼容。Weave 是一個基於物聯網的底層通信協議,它能夠讓現有的 Brillo 設備、手機、和互聯網進行相互通信。但其中最大的一個困難是在於讓 Indiegogo 和 Kickstarter 上的創客們的產品在沒有經驗的情況下輕松的同時支持 Wi-Fi 和內置藍牙。
我們知道Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。由於Weave通信協議兼容安卓系統,藉助於安卓系統的全球領先地位,Weave通信協議有可能快速發展,成為手機控制智能家居設備的標准協議。