国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于手機(jī)和藍(lán)牙的監(jiān)控技術(shù)研究

2018-01-10 22:50魏銳斌吳超益毋茂盛
物聯(lián)網(wǎng)技術(shù) 2017年12期
關(guān)鍵詞:藍(lán)牙智能家居

魏銳斌+吳超益+毋茂盛

摘 要:隨著手機(jī)的普及和通信技術(shù)的發(fā)展,使用手機(jī)實(shí)現(xiàn)智能家居控制成為人們目前的研究熱點(diǎn)。文中開發(fā)了一個手機(jī)App程序和對應(yīng)的硬件電路板,實(shí)現(xiàn)了家居溫濕度等數(shù)據(jù)的實(shí)時采集、顯示以及電燈和門鎖的智能化控制。

關(guān)鍵詞:App;硬件電路板;藍(lán)牙;智能家居

中圖分類號:TP277 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)12-00-03

0 引 言

隨著計算機(jī)技術(shù)和通信技術(shù)的發(fā)展,手機(jī)已成為人們生活中必不可少的工具,現(xiàn)在幾乎人手一部甚至幾部。藍(lán)牙是一種短距離的無線通信技術(shù),采用藍(lán)牙方式傳輸數(shù)據(jù),可以避免布線帶來的麻煩,并節(jié)約成本,由于手機(jī)都帶有藍(lán)牙接口,因此手機(jī)的普及大大拓寬了藍(lán)牙的應(yīng)用領(lǐng)域[1,2]。例如,將手機(jī)應(yīng)用到實(shí)時監(jiān)控領(lǐng)域,手機(jī)通過藍(lán)牙發(fā)送命令或接收傳感器數(shù)據(jù)實(shí)現(xiàn)智能化控制。本文研究了通過手機(jī)控制家中電燈、門鎖開關(guān)的技術(shù)。

1 系統(tǒng)總體設(shè)計與特點(diǎn)

1.1 系統(tǒng)總體設(shè)計

系統(tǒng)由Android端、后臺數(shù)據(jù)統(tǒng)計以及硬件電路等組成,結(jié)構(gòu)如圖1所示。

1.2 系統(tǒng)特點(diǎn)

系統(tǒng)帶有看門狗電路,可靠性高。當(dāng)程序運(yùn)行出問題時能自動重啟,且上層App有斷開重連的功能。系統(tǒng)還加入了環(huán)境監(jiān)測模塊,可實(shí)時顯示家中環(huán)境的溫濕度,為生活提供方便。App采用MVP設(shè)計模式,分為界面控制、邏輯控制和控制器,以簡化程序設(shè)計。界面控制主要負(fù)責(zé)界面的更新;邏輯控制主要負(fù)責(zé)數(shù)據(jù)處理;控制器主要控制系統(tǒng)如何操作。采用這種設(shè)計模式可以方便在未來對系統(tǒng)功能進(jìn)行增加、修改和完善,不用對以前的代碼進(jìn)行過多的改動。

2 系統(tǒng)硬件設(shè)計

系統(tǒng)硬件主要包括STC15F2K60S2單片機(jī),藍(lán)牙模塊,溫濕度傳感器,光敏模塊,紅外控制模塊,火焰報警模塊等。

2.1 控制器模塊

控制器選用STC15F2K60S2,該單片機(jī)具有兩個串行口,可以方便下載程序并通過藍(lán)牙串口通訊,簡化電路的設(shè)計。STC15F2K60S2單片機(jī)自帶E2PROM,可以編程,具有10的AD轉(zhuǎn)換和8個轉(zhuǎn)換通道,機(jī)器周期為1個時鐘周期,執(zhí)行速度快,且內(nèi)置復(fù)位電路。該芯片具有使用方便,調(diào)用簡單等特點(diǎn)。

2.2 傳感器模塊

傳感器模塊主要包括溫濕度傳感器DH11、光敏電阻5528、火焰?zhèn)鞲衅鞯?。溫濕度傳感器DH11通過單總線接口和單片機(jī)相連,單總線通過一條線進(jìn)行數(shù)據(jù)傳送[3],與CPU連接接口簡單。上層接收處理藍(lán)牙發(fā)送的數(shù)據(jù),完成對周圍環(huán)境的監(jiān)測和數(shù)據(jù)獲取。DH11是集溫濕度采集于一體的復(fù)合型傳感器,極大地提高了數(shù)據(jù)轉(zhuǎn)換的效率。5528光敏電阻在與同類型電阻的對比下?lián)碛休^好的參數(shù),在考慮低成本、低功耗的情況下使用這款電阻具有一定的優(yōu)勢。

傳感器模塊電路如圖2所示。

2.3 藍(lán)牙模塊

藍(lán)牙模塊采用HC-08低功耗模塊,該模塊具有尺寸小、成本低等特點(diǎn),采用藍(lán)牙4.0協(xié)議與自適應(yīng)跳頻(AFH)技術(shù),以確保低功耗藍(lán)牙在“嘈雜”射頻環(huán)境中穩(wěn)定地傳輸。與很多藍(lán)牙技術(shù)、無線LAN、IEE802.15.4等無線技術(shù)一樣使用無需認(rèn)證許可的2.4 GHz工業(yè)科學(xué)醫(yī)療(ISM)頻帶,通過與STC15F2K60S2的串口相連接,實(shí)現(xiàn)藍(lán)牙與單片機(jī)的通訊。由于STC15F2K60S2具有雙串口,不會與串口通訊互相干擾,因此,能夠保證在串口通訊的同時完成藍(lán)牙通訊。電路圖如圖3所示。

2.4 繼電器智能家居模塊

該模塊主要由繼電器、電插鎖、燈泡以及報警電路組成。STC15F2K60S2控制繼電器的開關(guān)實(shí)現(xiàn)對智能家居的控制,通過上層App發(fā)送命令給STC15F2K60S2單片機(jī),STC15F2K60S2發(fā)出的控制信號經(jīng)ULN2003驅(qū)動連接到繼電器實(shí)現(xiàn)開關(guān)控制。ULN2003的輸出連接2個繼電器和1個報警蜂鳴器。

(1)火焰報警電路。當(dāng)火焰?zhèn)鞲衅鳈z測到有火焰出現(xiàn)時,會向單片機(jī)申請中斷,在單片機(jī)執(zhí)行中斷服務(wù)程序時通過蜂鳴器報警,同時通過藍(lán)牙向手機(jī)發(fā)送報警信號,手機(jī)發(fā)出報警信息。

(2)開鎖電路。系統(tǒng)采用YGS-600-S5電插鎖,用繼電器控制12 V開鎖電源實(shí)現(xiàn)開鎖。

(3)電燈控制電路。用繼電器控制220 V電源,當(dāng)繼電器吸合時,接通電源,實(shí)現(xiàn)開燈操作。電燈控制電路如圖4所示。

3 系統(tǒng)軟件設(shè)計

Android端主要通過藍(lán)牙模塊向硬件發(fā)送各路命令或采集數(shù)據(jù)到手機(jī)顯示,通過設(shè)置選項(xiàng)允許手機(jī)端把數(shù)據(jù)發(fā)送到后臺,通過后臺生成統(tǒng)計表格。后臺數(shù)據(jù)主要使用javaEE,將Android手機(jī)端的數(shù)據(jù)上傳到后臺,存入數(shù)據(jù)庫,然后生成統(tǒng)計表;上層Android部分主要分為5個模塊,分別是注冊模塊、登錄模塊,藍(lán)牙掃描模塊,藍(lán)牙連接模塊和藍(lán)牙控制模塊,基本流程如圖5所示。

3.1 用戶登錄模塊

用戶登錄模塊主要通過登錄獲得遠(yuǎn)程數(shù)據(jù)庫之前連接過的藍(lán)牙設(shè)備,減少藍(lán)牙掃描模塊的時間,提高效率。登錄后會獲得遠(yuǎn)程連接的數(shù)據(jù)庫中該用戶曾連接過的藍(lán)牙設(shè)備名稱和UUID,在進(jìn)入藍(lán)牙模塊后直接加載,減少藍(lán)牙設(shè)備掃描的時間,方便用戶直接連接已連接過的藍(lán)牙設(shè)備。登錄界面如圖6所示。

3.2 用戶注冊模塊

用戶注冊模塊主要負(fù)責(zé)新用戶,使用郵箱方式來完成注冊,通過HTTP協(xié)議與后臺連接,并寫入后臺數(shù)據(jù)庫中。用戶注冊界面如圖7所示。

3.3 藍(lán)牙掃描模塊

藍(lán)牙掃描模塊用于掃描周圍的低功耗藍(lán)牙,通過邏輯去除普通的藍(lán)牙設(shè)備,減少非必要的藍(lán)牙設(shè)備加入列表。同時使用最新的API,通過回調(diào)函數(shù)掃描設(shè)備,加快掃描速度。使用RecyclerView控件,大大減少了列表加載所需的內(nèi)存并優(yōu)化顯示。核心代碼如下:endprint

ScanCallback mcallback = new ScanCallback() {

@Override

public void onScanResult(int callbackType,ScanResult result) {

super.onScanResult(callbackType, result);

for (int i = 0;

i

if(result.getDevice().getAddress().equals

(ScanBean.getScanBean().getBlelist().get(i).

getDevice().getAddress())) {return;

}

}

iscanModel.setResult(result);

//掃描得到的藍(lán)牙設(shè)備加入列表

refresh();/更新列表

}}

掃描模塊運(yùn)行界面如圖8所示。

3.4 藍(lán)牙連接模塊

藍(lán)牙連接模塊主要通過Android Service后臺進(jìn)行連接,不會干擾前臺的運(yùn)行。使用谷歌提供的專為低功耗藍(lán)牙連接與通訊設(shè)計的API,代替?zhèn)鹘y(tǒng)的Socker通信。通過回調(diào)函數(shù)連接低功耗藍(lán)牙設(shè)備進(jìn)行通訊,減少了建立Socker的時間。核心代碼如下:

BluetoothGattCallback Callback = new BluetoothGattCallback () {

//藍(lán)牙連接狀態(tài)回調(diào)函數(shù)

@Override

public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {

super.onConnectionStateChange(gatt, status, newState);

if (newState == 2) {

gatt.discoverServices();}

}

//藍(lán)牙服務(wù)發(fā)現(xiàn)函數(shù)

@Override

public void onServicesDiscovered(final BluetoothGatt gatt, int status) {

super.onServicesDiscovered(gatt, status);

if (BluetoothGatt.GATT_SUCCESS == status) {

for (int i = 0; i < bluetoothGattServiceList.size(); i++) {

if(bluetoothGattServiceList.get(i).getUuid().toString().equals(BLE_SERVICE_UUID)) {

bluetoothGattCharacteristics = bluetoothGattServiceList.get(i).getCharacteristics();

for (int j=0; j< bluetoothGattCharacteristics.size(); j++) {

if(bluetoothGattCharacteristics.get (j).getUuid ().toString().equals(BLE_CONNECT_UUID)) {

bluetoothGattCharacteristic = bluetoothGattCharacteristics.get(j);

Gatt.setCharacteristicNotification(bluetoothGattCharacteristic, true);}

}

}

}

}

}

//藍(lán)牙數(shù)據(jù)接收回調(diào)函數(shù)

@Override

public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {

super.onCharacteristicChanged(gatt, characteristic);

if (ble_callBack != null) {

ble_callBack.GetData(characteristic.getStringValue(0))

}

}

}

3.5 藍(lán)牙控制模塊

藍(lán)牙控制模塊主要負(fù)責(zé)藍(lán)牙設(shè)備的通信,進(jìn)行數(shù)據(jù)讀、寫操作,同時對下層發(fā)來的警告進(jìn)行反饋。該模塊由兩個界面組成,分別為環(huán)境監(jiān)測、智能家居控制界面。環(huán)境監(jiān)測頁面主要完收集溫濕度以及光敏數(shù)據(jù),設(shè)置溫濕度上下限等操作。智能家居控制相對簡單,主要負(fù)責(zé)燈泡的開關(guān)和鎖的開啟。主要通訊通過服務(wù)完成??刂平缑嫒鐖D9所示。

4 結(jié) 語

本項(xiàng)目開發(fā)了一個基于Android系統(tǒng)的App程序以及相關(guān)硬件控制單元模塊,分別實(shí)現(xiàn)了家中溫、濕度等數(shù)據(jù)的實(shí)時采集以及對家中燈泡和鎖的智能化控制。當(dāng)檢測到有火焰時,將報警信息上傳給手機(jī)進(jìn)行聲音和手機(jī)雙重報警。同時,實(shí)現(xiàn)了通過手機(jī)開關(guān)燈的功能,為生活提供了很大的方便?;丶視r通過手機(jī)也可打開家門,而且門鎖安裝在室內(nèi),起到了防盜作用。系統(tǒng)經(jīng)過試運(yùn)行,效果良好,應(yīng)用前景廣闊。

參考文獻(xiàn)

[1] 常敏,梅曉敏,崔永進(jìn),等.基于BLE與Android的牧場溫濕度智能監(jiān)控系統(tǒng)設(shè)計[J].通信電源技術(shù),2015 (5):134-137.

[2] 韓丹.BLE技術(shù)在智能家居中的應(yīng)用[D]. 青島: 青島科技大學(xué), 2015.

[3] 毋茂盛. 單片機(jī)原理與開發(fā)[M]. 北京:高等教育出版社, 2015.

[4] 張琦,穆遠(yuǎn)威,劉美娟.基于STC15F2K60S2單片機(jī)的智能管理教室系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2017,7(6):85-86.

[5]白志帥,穆士留,張峰,等.基于BLE技術(shù)的智能門禁系統(tǒng)[J].自動化與儀表,2017,32(4):67-71.

[6]夏盼盼.BLE藍(lán)牙技術(shù)在智能門鎖的應(yīng)用[J].科技廣場,2016(7):84-87.

[7]劉康,林春景,熊宇.智能母線溫濕度監(jiān)控系統(tǒng)設(shè)計[J].科技資訊,2016,14(31):20-22.

[8] 汪月鵬.基于Android平臺上BLE的智能家居控制系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(3):81-82.

猜你喜歡
藍(lán)牙智能家居
藍(lán)牙音箱的直線之美
簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
關(guān)于智能家居真正需求的探討
基于LD3320的智能家居控制