《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Android的智能藍(lán)牙溫度計的研究與設(shè)計
基于Android的智能藍(lán)牙溫度計的研究與設(shè)計
2017年電子技術(shù)應(yīng)用第3期
方天恩1,漆 晶1,馬金輝2,劉德慶1,張朝陽1
1.重慶郵電大學(xué) 移動通信技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶400065;2.重慶郵電大學(xué) 無線傳輸技術(shù)研究所,重慶400065
摘要: 針對人們對智能溫度計需求的不斷提升,結(jié)合目前最流行的Android智能終端和藍(lán)牙低功耗通信技術(shù),設(shè)計了利用智能移動平臺和藍(lán)牙通信實(shí)現(xiàn)溫度數(shù)據(jù)實(shí)時傳輸顯示的系統(tǒng)。該系統(tǒng)采用基于BLE技術(shù)的CC2541芯片,MF52A2熱敏電阻經(jīng)CC2541節(jié)點(diǎn)設(shè)備內(nèi)部A/D轉(zhuǎn)換器進(jìn)行溫度數(shù)據(jù)采集,通過CC2541芯片自帶的藍(lán)牙模塊以無線的方式將采集到的數(shù)據(jù)發(fā)送到Android App端。該系統(tǒng)經(jīng)過測試表明,運(yùn)行穩(wěn)定、實(shí)時性好、性價比高,滿足了人們對設(shè)備溫度的實(shí)時監(jiān)控。
關(guān)鍵詞: CC2541 藍(lán)牙 Android 溫度檢測
中圖分類號: TN949.6
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.018
中文引用格式: 方天恩,漆晶,馬金輝,等. 基于Android的智能藍(lán)牙溫度計的研究與設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(3):73-76.
英文引用格式: Fang Tianen,Qi Jing,Ma Jinhui,et al. The research and implementation of smart Bluetooth thermometer based on Android[J].Application of Electronic Technique,2017,43(3):73-76.
The research and implementation of smart Bluetooth thermometer based on Android
Fang Tianen1,Qi Jing1,Ma Jinhui2,Liu Deqing1,Zhang Zhaoyang1
1.Mobile Communication Technology Key Lab.,Chongqing University of Posts and Telecommunications,Chongqing 400065,China; 2.Wireless Transmission Technology Research Laboratory, Chongqing University of Posts and Telecommunications,Chongqing 400065,China
Abstract: In view of the increasing demand for smart thermometer, the Bluetooth smart communication system is designed combining with the most popular Android smart terminal and Bluetooth low power communication technology, which is in order to realize temperature data real-time transmission and display. The system utilizes cc2541 chip which based on BLE technology, and utilizes MF52A2 thermistor temperature sensor for temperature collection and Bluetooth module within the cc2541 chip to collect the data and then send the data to the Android App end in a wireless method. Through the system performance testing, the results show the system runs stably with good real time and high quality ,which can satisfy the real-time monitoring of device temperature.
Key words : CC2541;Bluetooth;Android;temperature measurement

0 引言

    隨著無線傳感網(wǎng)絡(luò)技術(shù)的飛速發(fā)展及智能家居概念的不斷普及,人們對生活品質(zhì)的追求也在不斷提高,各種各樣的無線智能設(shè)備開始融入大家的生活,引領(lǐng)人們進(jìn)入了智能時代。傳統(tǒng)的PC監(jiān)測設(shè)備溫度已經(jīng)滿足不了現(xiàn)代生活的需求,為此,本文根據(jù)需求設(shè)計了一套利用智能移動平臺和藍(lán)牙通信實(shí)現(xiàn)溫度數(shù)據(jù)的實(shí)時傳輸顯示系統(tǒng),同時在進(jìn)行一對多通信時,在Android App端采用了一種基于能量優(yōu)先級的通信調(diào)度算法。本設(shè)計主要用于測量葡萄酒的儲藏溫度,但同樣適用于測量工程設(shè)備以及各種生產(chǎn)現(xiàn)場。

1 總體架構(gòu)

    本文設(shè)計的無線溫度采集系統(tǒng)結(jié)構(gòu)如圖1所示。熱敏電阻與CC2541節(jié)點(diǎn)設(shè)備連接,由CC2541節(jié)點(diǎn)設(shè)備內(nèi)部A/D轉(zhuǎn)換器進(jìn)行溫度數(shù)據(jù)采集,然后通過藍(lán)牙BLE協(xié)議將數(shù)據(jù)傳輸至Android設(shè)備,進(jìn)行圖形化溫度顯示,并通過Android設(shè)備的3G/4G網(wǎng)絡(luò)將溫度數(shù)據(jù)傳輸至服務(wù)器進(jìn)行存儲,同時也可以通過3G/4G網(wǎng)絡(luò)下載查看歷史數(shù)據(jù)。

ck2-t1.gif

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

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

    本系統(tǒng)硬件主要有以下模塊:電源模塊、MCU控制模塊、藍(lán)牙數(shù)據(jù)傳輸模塊、LED驅(qū)動模塊。硬件系統(tǒng)框圖如圖2所示。

ck2-t2.gif

2.1.1 處理器單元

    CC2541是由TI公司設(shè)計并生產(chǎn)的基于2.4 G藍(lán)牙無線低功耗單片SOC,該芯片支持藍(lán)牙4.0BLE(藍(lán)牙低功耗)[1]協(xié)議,并通過配置可實(shí)現(xiàn)最高2 Mb/s的數(shù)據(jù)傳輸速率。由于該芯片具有低功耗,外圍原件較少,電路設(shè)計簡單,且內(nèi)部集成最多8通道的12 bit ADC,以及采用QFN封裝的特點(diǎn),非常適合便攜式無線移動節(jié)點(diǎn)應(yīng)用,因此,本設(shè)計采用CC2541芯片作為無線節(jié)點(diǎn)的設(shè)備主控。

    由于該無線節(jié)點(diǎn)設(shè)備應(yīng)用于便攜式場景,采用電池供電,需要保證功耗盡可能低,因此在設(shè)計中,需要采用休眠喚醒功能,必須應(yīng)用RTC(實(shí)時時鐘控制器)時鐘喚醒模塊,故設(shè)計中加入32.768 kHz實(shí)時時鐘震蕩電路作為RTC時鐘的振蕩源。

2.1.2 天線與巴倫濾波電路

    考慮到盡可能降低設(shè)計成本,并保證系統(tǒng)工作的穩(wěn)定性,尤其是在無線傳輸部分?jǐn)?shù)據(jù)傳輸可靠性,本設(shè)計采用了分立器件設(shè)計的巴倫濾波器代替成本較高的單片式集成巴倫濾波器,同時為在器件不一致性較大情況下可對濾波器進(jìn)行微小調(diào)節(jié),在電路設(shè)計中預(yù)留器件接口,具體射頻電路如圖3所示。圖3中C15為調(diào)節(jié)元件,在節(jié)點(diǎn)設(shè)計生產(chǎn)中,可在調(diào)試不理想情況下焊接電容元件進(jìn)行微調(diào)。同樣,為保證系統(tǒng)設(shè)計成本盡量低,本設(shè)計采用板載倒F蜿蜒天線作為射頻發(fā)射接口,保證了數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性,并保證了在應(yīng)用中的傳輸距離。天線尺寸參數(shù)如表1所示。

ck2-t3.gif

ck2-b1.gif

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

    利用Android移動終端對數(shù)據(jù)進(jìn)行讀取并顯示,相比于傳統(tǒng)的PC監(jiān)測,Android移動終端更加方便、快捷。軟件設(shè)計部分的主要內(nèi)容是:在Android移動設(shè)備與BLE設(shè)備之間通過藍(lán)牙建立穩(wěn)定可靠的通信,同時提供一個可視化良好的人機(jī)交互界面。

    (1)為了讓應(yīng)用運(yùn)行在支持BLE的Android設(shè)備上,需要添加以下藍(lán)牙的響應(yīng)權(quán)限[2]

    <uses-permission  android:name="android.permission.BLUETOOTH" />

    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN " />

    <uses-feature  android:name="android.hardware.bluetooth_le" android:required="true" />

    (2)集中器和BLE設(shè)備建立通信流程如圖4所示。具體細(xì)節(jié)如下:

ck2-t4.gif

    集中器開啟藍(lán)牙,開始對外圍正在廣播的設(shè)備進(jìn)行掃描,掃描到廣播設(shè)備后,集中器發(fā)送掃描請求,外圍設(shè)備響應(yīng)請求[3]。在集中器與外圍設(shè)備通信過程中需要使用唯一識別碼UUID(Universally  Unique  Identifier)。在數(shù)據(jù)傳輸過程中,若移動終端定義的UUID與BLE廣播中GAP(Generic Access Profile)定義的UUID相同,一旦移動終端的連接請求通過,集中器與BLE設(shè)備即可進(jìn)入連接狀態(tài)[4]。發(fā)現(xiàn)服務(wù)后,集中器通過指定的UUID向BLE設(shè)備發(fā)送設(shè)置指令,隨后BLE設(shè)備將UUID相對應(yīng)的地址返回給集中器,返回地址中包含集中器需要的最終數(shù)據(jù)。

    (3)App軟件具體工作流程如圖5所示,藍(lán)牙4.0之前都是通過Socket套接字來進(jìn)行連接通信的,同時在實(shí)現(xiàn)一點(diǎn)對多點(diǎn)時,大多采用輪循的機(jī)制。假如6個外圍設(shè)備,則設(shè)12 s一個周期,每個設(shè)備通信時長2 s,這樣大大增加了通信設(shè)備雙方的功耗,而且很容易受到外界諸多因素的干擾,導(dǎo)致通信不可靠。而本文采用廣播包的形式來通知主機(jī),將溫度、電量等信息寫入廣播包字節(jié)中,以獲取廣播包的方式來獲取溫度、電量、設(shè)備名字等信息,很容易實(shí)現(xiàn)一對多的通信。而且在不進(jìn)行數(shù)據(jù)通信時,會進(jìn)入休眠狀態(tài),只有當(dāng)需要對設(shè)備發(fā)送設(shè)置指令時,才進(jìn)行連接,大大降低了功耗,提升了設(shè)備的工作時長,這也是低功耗藍(lán)牙最大的特點(diǎn)。

ck2-t5.gif

    (4)考慮到一點(diǎn)對多點(diǎn)的通信情況,即一個移動設(shè)備同時與多個BLE設(shè)備通信,本文在軟件端提出了一種基于能量(電量)優(yōu)先級的通信調(diào)度算法,可以在一定程度上降低功耗。電壓與電量百分比轉(zhuǎn)換的基本原理是通過ADC(模數(shù)轉(zhuǎn)換器)計算電池電壓。以CC2540芯片用一鈕扣電池為例,電池電壓從2.0 V~3.0 V,即電量的0%~100%。電量轉(zhuǎn)換關(guān)系圖如圖6所示。

ck2-t6.gif

    具體算法如下:

    (1)初始狀態(tài)時,每個BLE設(shè)備都處于待機(jī)狀態(tài),具有相同的優(yōu)先級,人們的手機(jī)自然而然作為主設(shè)備,主動發(fā)起掃描周圍存在的設(shè)備,并將掃描到的設(shè)備添加到掃描列表中[5];

    (2)獲取每個從設(shè)備的當(dāng)前電量百分比,按照電量高低分為M個等級;

    (3)根據(jù)步驟(2)優(yōu)先級從高到低的順序?qū)⒃O(shè)備ID添加到一個優(yōu)先級隊列中;

    (4)主設(shè)備按優(yōu)先級順序依次向列表中的設(shè)備發(fā)起連接并傳送數(shù)據(jù);

    (5)當(dāng)隊列中的設(shè)備為空時,由主設(shè)備進(jìn)行下一輪的掃描,并將掃描到的新設(shè)備添加到設(shè)備列表中,然后跳轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行。

3 系統(tǒng)測試

3.1 通信距離測試

    測試要求:在空曠的環(huán)境下,有效通信距離為20 m以上;當(dāng)溫度計放置于冰箱里面,有效通信距離為4 m。

    測試結(jié)果:經(jīng)過測試,空曠地通信距離可達(dá)40 m;放置于家庭冰箱內(nèi)通信距離可達(dá)6 m,完全滿足了工業(yè)上的設(shè)計要求。

3.2 溫度計量測試

    測試內(nèi)容:常溫到冰箱的溫度隨時間的變化和冰箱到常溫的溫度隨時間的變化。本次測試對比采用市面上比較成熟的Digitron 溫度計,測試結(jié)果如圖7、圖8所示。

ck2-t7.gif

ck2-t8.gif

4 結(jié)束語

    針對當(dāng)前對溫度監(jiān)測精度較高的設(shè)備(主要以PC為主),研究了基于Android系統(tǒng)的藍(lán)牙溫度計,精確有效方便地分析判斷當(dāng)前設(shè)備的溫度,解決了傳統(tǒng)PC監(jiān)測移動性不高的缺點(diǎn),同時也解決了傳統(tǒng)設(shè)備測溫的局限性,方便了人們的生活。該系統(tǒng)設(shè)計所需硬件簡單易用、穩(wěn)定可靠、成本低廉,具有較好的擴(kuò)展性;軟件依附于的Android平臺軟件具有通用性,易于移植。產(chǎn)品目前已經(jīng)批量生產(chǎn),有廣闊的市場應(yīng)用價值。

參考文獻(xiàn)

[1] 藍(lán)牙技術(shù)聯(lián)盟.Core_V4.0[EB/OL].[2012-10].http://www.bluetootn.org/Technical/Specifications/adopted/htm.

[2] 李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2015.

[3] 王宏志,曲超,呂洪武.基于藍(lán)牙4.0溫濕度的監(jiān)測[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2016,34(2):296-302.

[4] 陳子龍,張紅雨,李俊斌.CC2540和SHT11的無線溫濕度采集系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13 (4):41-44.

[5] 廖輝,陳慶奎,高麗萍,等.基于博弈論的藍(lán)牙4.0協(xié)同通信策略[J].廣西大學(xué)學(xué)報(自然科學(xué)版),2014,39(5):1090-1095.



作者信息:

方天恩1,漆  晶1,馬金輝2,劉德慶1,張朝陽1

(1.重慶郵電大學(xué) 移動通信技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶400065;2.重慶郵電大學(xué) 無線傳輸技術(shù)研究所,重慶400065)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。