新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Android終端及FPGA控制的智能家居系統(tǒng)

Android終端及FPGA控制的智能家居系統(tǒng)

作者: 時間:2015-03-31 來源:網絡 收藏

  3 應用程序的開發(fā)

本文引用地址:http://m.butianyuan.cn/article/271874.htm

  終端的應用程序是基于2.3版本,在Eclipse平臺下用Java語言進行開發(fā),其主要內容包括設計一個人機交流界面、獲取已配對的藍牙設備并建立連接、利用Socket進行數據傳輸等。

  3.1界面設計

  該應用程序主要有兩個界面,開啟時首先進入主控界面,主要包括溫濕度的顯示、防盜系統(tǒng)的開啟與關閉、電視遙控等功能,點擊電視遙控按鍵將進入紅外遙控界面。界面通過AbsoluteLayout進行布局設計,這是一種絕對布局,可以任意調整每個控件的橫坐標和縱坐標,界面上每個按鍵通過綁定一個地址和添加一個監(jiān)聽器,點擊按鍵后會觸發(fā)監(jiān)聽器并執(zhí)行相應的操作。

  3.2藍牙的獲取和連接

  應用程序中需要建立一個藍牙通信通道,以便與端的藍牙模塊進行數據傳輸,在建立藍牙通信之前先搜索出已配對的藍牙設備并用列表顯示,當點擊其中一個設備進行連接時,其地址值會被記錄下來并通過Intent回傳給主Activity.當本機藍牙開啟以及要連接設備的地址獲取后就可建立Socket連接,通過Thread創(chuàng)建的一個線程來進行Socket連接,連接成功后界面上會顯示“連接成功”。

  4功能模塊的開發(fā)

  4.1無線通信設計

  系統(tǒng)中主要運用了藍牙、GSM這兩種無線通信協(xié)議,其中藍牙是應用在手機和主控中心之間的通信,它的傳輸距離達10m左右,滿足室內使用要求。而GSM用于遠距離報警。

  4.2學習型紅外遙控

  現在大多數家庭中使用到紅外遙控器多達數個,如果將控制全部集中于手機則會十分便利,但不同遙控器的紅外編碼是不一致的,因此本系統(tǒng)設計的是學習型紅外遙控,它以STM8S105S4單片機作為主控芯片,包括了紅外發(fā)射和接收兩部分電路,能夠學習并存儲各種紅外編碼,工作流程如圖3所示。

  

 

  圖3學習型紅外遙控工作流程

  4.3溫度檢測

  溫度檢測采用NTC(熱敏電阻),它是隨溫度上升電阻呈指數關系減小、具有負溫度系數的材料,因此只要采樣出的電阻值然后與其溫度阻值變化列表進行對應便可得出當前的溫度值。設計中用單片機內部的10位A/D轉換器采樣其電壓值,再根據分壓電阻求出NTC的阻值,最后通過取表得出溫度值。

  4.4濕度檢測

  濕度檢測采用HS1100濕度傳感器,它是一種基于電容原理的濕度傳感器,相對濕度的變化和電容值呈線性規(guī)律。在實際測試中,電容值隨著空氣濕度的變化而變化,因此將電容值的變化轉換成電壓或頻率的變化,才能進行有效地數據采集。設計中用NE555組成振蕩電路,HS1100濕度傳感器充當振蕩電容,從而完成濕度到頻率的轉換。

  4.5振動檢測

  振動檢測采用MMA7631三軸小量程加速度傳感器,它根據物體運動和方向改變輸出信號的電壓值。各軸的信號在不運動或不被重力作用的狀態(tài)下,其輸出為1.65V.采用STM8S105S4單片機內部的10位A/D轉換器采樣3個方向的電壓,根據采樣結果的變化來判斷門窗是否振動,當變化范圍超過一定的限值時,則判斷門窗被開啟,觸發(fā)報警信息。

  本文設計并實現了一個基于Android智能終端及的智能家居系統(tǒng),在3個平臺下完成開發(fā),分別是用Java語言在Android系統(tǒng)下進行應用程序開發(fā),用Verilog語言對主控進行設計以及基于STM8單片機的功能模塊設計。以FPGA作為主控中心,相比于AMR11、STM32等串行處理器,它可實現視頻監(jiān)控、人臉識別等高速復雜處理,而且無須后臺服務器,減低了成本。系統(tǒng)以Android設備作為遙控終端,與傳統(tǒng)控制方案比,它可以實現程序化控制,可存貯各種個性化的控制方案。本系統(tǒng)使用方便、操作簡單,能滿足普通家庭的需求,具有較高的實用性和推廣價值。

紅外遙控器相關文章:紅外遙控器原理

萬能遙控器相關文章:萬能遙控器代碼


fpga相關文章:fpga是什么



上一頁 1 2 下一頁

關鍵詞: Android FPGA

評論


相關推薦

技術專區(qū)

關閉