當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要 :將智能手機(jī)應(yīng)用于家居生活是發(fā)展的必然趨勢(shì),設(shè)計(jì)一種基于 Android 和藍(lán)牙的無(wú)線遙控開關(guān)系統(tǒng)。該系統(tǒng)利用手機(jī)等智能終端作為上位機(jī),通過(guò)藍(lán)牙功能發(fā)出指令,以單片機(jī)作為下位機(jī)的執(zhí)行端,利用藍(lán)牙模塊接收指令,經(jīng) Arduino Nano 處理后驅(qū)動(dòng)機(jī)械結(jié)構(gòu)完成開關(guān)的動(dòng)作。實(shí)驗(yàn)測(cè)試結(jié)果表明,該系統(tǒng)具有低成本、低功耗、穩(wěn)定、安全、易嵌入等優(yōu)點(diǎn),不需要改動(dòng)原有電路就可隨時(shí)拆卸并更換安裝位置。

0 引 言

家庭生活是人們?nèi)粘I畹闹匾M成部分,如何搭建一個(gè)方便使用、高效率、低成本的智能家居系統(tǒng),進(jìn)而為人們提供一個(gè)方便快捷、舒適安全的家庭生活環(huán)境,是近來(lái)信息技術(shù)從業(yè)者研究的一個(gè)熱點(diǎn)問(wèn)題。傳統(tǒng)的智能家居通信多采用有線方式,其缺點(diǎn)是布線繁雜、安裝成本高、系統(tǒng)升級(jí)困難、擴(kuò)展性和移動(dòng)性差。室內(nèi)常用的開關(guān)面板如圖 1 所示,由蓋板和翹板組成,按動(dòng)翹板可以實(shí)現(xiàn)開關(guān)的通斷。該面板使用廣泛,若要進(jìn)行智能化改造,必然需要改動(dòng)原有墻體線路 [1-4]。

基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

針對(duì)上述情況,本文提供一種簡(jiǎn)單有效的開關(guān)面板無(wú)線控制方式如圖 2 所示。本體與基座采用螺釘連接,通過(guò)過(guò)盈配合罩扣在蓋板上。在本體中,以舵機(jī)為原動(dòng)機(jī),曲柄滑塊機(jī)構(gòu)為執(zhí)行部件,仿照手指按動(dòng)翹板 ;控制系統(tǒng)采用基于藍(lán)牙技術(shù)的無(wú)線通信方式 ;整個(gè)裝置采用放置在電池倉(cāng)中的可充電鋰電池供電。本裝置采用罩扣式安裝,安裝方便,不改動(dòng)原有接線,不需要專業(yè)技術(shù)便可安裝,可隨時(shí)拆卸并更換安裝位置。



基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

1 系統(tǒng)概述

本家居控制器采用低功耗的微控單元和無(wú)線通信模塊,這樣保證了系統(tǒng)的穩(wěn)定性、低功耗和低成本 ;與無(wú)線通信模塊之間采用心跳鏈路工作模式,保證了設(shè)備響應(yīng)時(shí)效性。

系統(tǒng)工作時(shí),以手機(jī)等智能終端作為上位機(jī),利用藍(lán)牙功能發(fā)出指令,以單片機(jī)為核心的下位機(jī),通過(guò)藍(lán)牙透?jìng)髂K接收指令,經(jīng)處理后由數(shù)字引腳發(fā)出控制信號(hào)使機(jī)械結(jié)構(gòu)完成開關(guān)動(dòng)作。系統(tǒng)采用電池供電,為避免電池的快速消耗,下位機(jī)在與上位機(jī)連接后,如果在單位時(shí)間內(nèi)沒(méi)有接收到有效指令,則進(jìn)入休眠狀態(tài)。由單片機(jī)內(nèi)置定時(shí)器定期喚醒,發(fā)送一個(gè)同步幀至上位機(jī),上位機(jī)接收到同步幀之后才會(huì)進(jìn)行有效的數(shù)據(jù)交流,使執(zhí)行終端從休眠模式轉(zhuǎn)入工作模式執(zhí)行任務(wù),系統(tǒng)執(zhí)行完后繼續(xù)休眠以節(jié)省電量。系統(tǒng)總體設(shè)計(jì)如圖 3 所示 [5-7]。


基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

2 硬件選型

單片機(jī)模塊采用 Arduino Nano,它是一種基于 ATMEGA328P 的小型單片機(jī)集成板,有 16 KB 的閃存用于存儲(chǔ)代碼。Arduino Nano 上的 14 個(gè)數(shù)字引腳都可以用作輸入或輸出,可以使用 pinMode(),DigalWrite() 和 DigalRead() 函數(shù)進(jìn)行操作,每個(gè)引腳工作電壓為 5 V,驅(qū)動(dòng)電流為 40 mA,并有內(nèi)部上拉電阻,A6,A7 針腳可以讀取模擬信號(hào)用來(lái)監(jiān)控電源模塊。ATMEGA 328P 有 8 種節(jié)電設(shè)置,SLEEP 指令可以使 MCU 進(jìn)入掉電模式,降低功耗。另外,該集成板具有 UART 串行通信引腳,可用于接收和發(fā)送 TTL 串行數(shù)據(jù)。


藍(lán)牙通信在生活中的應(yīng)用非常廣泛,大多數(shù)無(wú)線設(shè)備支持此功能。本設(shè)計(jì)中藍(lán)牙模塊采用 HC-05 藍(lán)牙透?jìng)髂K,其優(yōu)點(diǎn)是體積小巧、貼片生產(chǎn)、穩(wěn)定性好、易嵌入。HC-05 采用了 CSR 主流藍(lán)牙芯片,藍(lán)牙 V2.0 協(xié)議標(biāo)準(zhǔn),輸入電壓為3.6 ~ 6 V,可設(shè)置多種波特率,空曠地有效距離為 10 m,能滿足室內(nèi)使用??梢耘c各種帶藍(lán)牙功能的電腦、藍(lán)牙主機(jī),以及大部分帶藍(lán)牙的手機(jī)、PDA 等智能終端配對(duì)。其模塊上引出接口,包括 VCC,GND,TXD,RXD。調(diào)試時(shí)可以采用 AT 指令設(shè)置通信參數(shù),藍(lán)牙模塊發(fā)送端 TXD,接Arduino Nano 上的 RXD 引腳 ;藍(lán)牙模塊接收端 RXD,接Arduino Nano 上的 TXD 引腳。

電源模塊為可充電電池供電,用于向執(zhí)行裝置提供工作電源。本系統(tǒng) 24 h 連續(xù)工作過(guò)程中,處于低功耗休眠狀態(tài),無(wú)線接收模塊周期性喚醒,以激活系統(tǒng)進(jìn)行工作,進(jìn)一步降低了能耗,提高了系統(tǒng)可靠性。

電機(jī)驅(qū)動(dòng)模塊采用 MG996R 舵機(jī),以舵機(jī)為原動(dòng)機(jī)的機(jī)械裝置可以實(shí)現(xiàn)對(duì)開關(guān)面板的按動(dòng)操作。MG996R 舵機(jī)質(zhì)量輕,響應(yīng)速度快,控制精度適中,工作電壓為 4.8 ~ 7.2 V,可以與 MCU、藍(lán)牙模塊共用電源。

下位機(jī)硬件框圖及實(shí)物如圖 4 所示。


基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

3 軟件設(shè)計(jì)

軟件部分主要是應(yīng)用計(jì)算機(jī)編程語(yǔ)言設(shè)計(jì)應(yīng)用程序?qū)Ω黝愋盘?hào)進(jìn)行處理計(jì)算,最終實(shí)現(xiàn)對(duì)硬件的控制。本系統(tǒng)需要在軟硬件協(xié)同工作實(shí)現(xiàn)對(duì)開關(guān)的遠(yuǎn)程控制,分為上位機(jī)軟件和下位機(jī)軟件。上位機(jī)軟件是安卓移動(dòng)端 APP,用戶通過(guò)APP 發(fā)送指令 ;下位機(jī)軟件在 Arduino Nano 中,用于接收指令驅(qū)動(dòng)舵機(jī)。

3.1 上位機(jī) APP 設(shè)計(jì)

Android 系統(tǒng)為例,系統(tǒng)中上位機(jī)與下位機(jī)之間由藍(lán)牙通信實(shí)現(xiàn)數(shù)據(jù)傳輸,上位機(jī)部分主要功能為 :打開應(yīng)用程序時(shí),與對(duì)應(yīng)的下位機(jī)藍(lán)牙模塊建立連接,將指令通過(guò)藍(lán)牙功能發(fā)送至下位機(jī)的藍(lán)牙模塊。啟動(dòng) APP 后,系統(tǒng)首先會(huì)判斷是否支持藍(lán)牙,如圖 5(a)所示 ;確認(rèn)支持后再判斷藍(lán)牙狀態(tài),此時(shí)應(yīng)使藍(lán)牙功能處于打開狀態(tài),并掃描搜索附近藍(lán)牙設(shè)備,如圖 5(b)所示 ;完成與硬件采集設(shè)備的匹配連接,連接成功后跳轉(zhuǎn)到操作界面進(jìn)行數(shù)據(jù)的傳輸,如圖 5(c)所 示。本系統(tǒng)使用安卓 Eclipse 設(shè)計(jì)了一款手機(jī) APP,使用方便,調(diào)試難度低。


基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

3.2 下位機(jī)程序設(shè)計(jì)

下位機(jī)部分主要通過(guò)藍(lán)牙模塊接收指令,并驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)指定角度等動(dòng)作,故單片機(jī)的程序設(shè)計(jì)較為簡(jiǎn)單。

程序首先對(duì) Arduino Nano 的引腳、串口波特率等進(jìn)行初始化設(shè)置,將通信模塊設(shè)置為接收狀態(tài),并使 Arduino Nano進(jìn)入低功耗模式。當(dāng)接收到正確數(shù)據(jù)后產(chǎn)生中斷,對(duì)外圍電路開始供電,系統(tǒng)各模塊反饋信息給 Arduino Nano。而后Arduino Nano 退出低功耗模式,對(duì)數(shù)據(jù)進(jìn)行處理,一方面驅(qū)動(dòng)舵機(jī),另一方面通過(guò)藍(lán)牙串口將數(shù)據(jù)發(fā)送至上位機(jī)。數(shù)據(jù)發(fā)送完成后再次進(jìn)入低功耗模式。

使用 Arduino Nano 編寫藍(lán)牙通信程序簡(jiǎn)單快捷,完成串口通信波特率(本文采用 9 600 b/s)等參數(shù)初始化設(shè)置后,利用 Serial.read()函數(shù)讀取藍(lán)牙模塊傳入的數(shù)據(jù),根據(jù)讀到的數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。由于開關(guān)只有兩種狀態(tài),本文中,若藍(lán)牙模塊收到數(shù)據(jù)“1”,則舵機(jī)旋轉(zhuǎn)到 0°,然后返回到20° ;若讀到數(shù)據(jù)“2”,則舵機(jī)旋轉(zhuǎn)到 40°,然后返回到20°。需要注意,這里的“1”和“2”是由上位機(jī) APP 中的設(shè)定而決定,Arduino Nano 程序中的設(shè)定與上位機(jī) APP 端的編碼必須一致。Arduino Nano 串口通信程序如下 :

基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

基于 Android 和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計(jì)

值得注意的是,組建系統(tǒng)之前需要用 AT 指令對(duì) HC-05藍(lán)牙模塊進(jìn)行設(shè)置,包括藍(lán)牙名稱、波特率、配對(duì)碼等參數(shù)。另外,系統(tǒng)軟件設(shè)計(jì)時(shí)應(yīng)采用模塊化設(shè)計(jì)思想,這樣有利于系統(tǒng)調(diào)試,而且便于在項(xiàng)目間進(jìn)行移植。

4 結(jié) 語(yǔ)

通過(guò)以上軟硬件構(gòu)成的一系列的接收、觸發(fā)動(dòng)作,可以較為理想地手動(dòng)與電動(dòng)控制開關(guān)。舵機(jī)驅(qū)動(dòng)的機(jī)械機(jī)構(gòu)運(yùn)行在指定位置按動(dòng)翹板后,立即自動(dòng)返回至初始位置以釋放翹板,解決了手動(dòng)與電動(dòng)兼具的問(wèn)題。無(wú)線通信裝置接收到移動(dòng)終端發(fā)來(lái)的指令信號(hào),通過(guò)其內(nèi)置的應(yīng)用軟件,根據(jù)開或關(guān)的動(dòng)作指令控制機(jī)械結(jié)構(gòu),行進(jìn)一定的距離按動(dòng)翹板,以達(dá)到本裝置的應(yīng)用目的 [2,8-9]。

該系統(tǒng)充分利用藍(lán)牙通信的廣泛性和智能終端的便捷性,安裝簡(jiǎn)單,無(wú)需布線,無(wú)用電隱患,通過(guò)合理布置,可以將整個(gè)室內(nèi)的開關(guān)組網(wǎng)控制。對(duì)系統(tǒng)的軟硬件進(jìn)行改裝,能夠?qū)崿F(xiàn)其他電器的無(wú)線控制組網(wǎng)功能,可廣泛應(yīng)用在不便于布線改線的居家辦公場(chǎng)合,具有一定的實(shí)用價(jià)值。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉