丁 輝,何 濤,丁華峰,徐冠浩(常州輕工職業技術學院 江蘇 常州 213164)
基于藍牙技術的物品尋找器設計
丁 輝,何 濤,丁華峰,徐冠浩
(常州輕工職業技術學院 江蘇 常州213164)
基于藍牙技術的低成本、低功耗、高速度通信的優勢,以及智能手機的普及,針對小型物品易于放置在難于發現的位置,尋找較為困難的問題,設計了一款物品尋找器。采用JAVA語言編寫智能手機端App,通過藍牙與綁在物品上的尋找器進行通訊,發出聲音和亮光,引導人們尋找到物品。經過實際測試,該物品尋找器與智能手機App運行穩定可靠,最大尋找距離達25米,并且該物品尋找器可進一步擴展其功能用于各類無線短距離控制系統。
藍牙技術;物品尋找器;智能終端;無線通訊
日常生活中,我們經常會遇到這樣的情況,錢包、鑰匙等小東西,不經意間的隨手一放,結果在想要的時候,卻忘記放在哪里了,怎么也找不到。如果這些物品在我們找它的時候,它能感應到并能夠發出聲音或光亮,引導我們去找到它們,那該多好呢!為此,設計了一款基于藍牙技術的物品尋找器,通過手機藍牙發出尋找信號,與物品綁定的尋找器即可發出聲音和光亮,使用戶能順利找到相應物品。
藍牙(Bluetooth)技術是使用范圍最廣泛的全球短距離無線標準之一,它是一種開放的低成本、低功耗、短距離無線通訊技術規范的代稱,這個規范是由一組協議棧的技術協議構成。它是基于藍牙基帶協議,采用跳頻技術,使用2.4 GHz ISM(Industrial,Scientific,and Medical—工業、科學和醫療)全球通用頻段,結合電路交換與分組交換的特點,能同時傳送語音和數據;采用分散網絡結構,支持點對點及點對多點通訊,幾個藍牙設備以主從方式構成微微網(Piconet)。藍牙技術協議標準從1998年的V0.7/1.0/1.1/1.2/2.0/2.1/3.0,到2010 年V4.0,在安全性、通信速率、低功耗、低輻射方面得到了增強,結構上也有了很大的變化。藍牙技術的最終目標是就是要建立一個全球統一的無線連接標準,使得不同生產廠家生產的數字信息設備,在近距離內都能不用電纜就可以很方便地連接起來,實現相互操作與數據共享。藍牙這種理念使用戶不需要學習如何安裝、設置等操作,凡是嵌入藍牙技術的設備相互之間,都能利用相應的控制軟件,自動進行聯絡與確認,并傳輸數據,不需要用戶干預。
該系統分為兩大模塊:藍牙通信與控制模塊和智能終端模塊,見圖1。藍牙通信與控制模塊通過藍牙收發器獲取智能手機的請求信息,再將手機的請求信息通過控制器發出燈光或聲音提示信息,并且返回給智能手機相關信息。智能終端模塊采用具有藍牙功能的智能手機,安裝自主開發的手機App,完成對物品尋找器的添加、刪除、修改以及發出尋找信息、接收來自藍牙通信與控制模塊的返回信息等功能。

圖1 物品尋找器技術方案框圖
該模塊是和物品綁定在一起,因此設計時,需要考慮通訊距離、功耗、體積、成本等因素。通訊距離赿長越好,這個距離是由藍牙芯片決定的。功耗、體積、成本等與藍牙芯片及控制器芯片決定。經過實際測試,選用HC05(class 2)藍牙串口模塊,該模塊的實際通訊距離可達25米,完全可以滿足物品尋找器在單個房間(換一個房間,可以重新發送相關信息)的使用需要??刂破鱉CU選用STC11F04E-16P的單片機,速度快、功耗低、抗干擾能力強,完全可以滿足通訊與控制的要求。
1)HC05藍牙串口模塊
HC05是主從一體化的藍牙串口模塊,采用CRS公司的RB-6B BC417主流藍牙芯片,支持藍牙V2.0協議標準,并帶有EDR(藍牙增強速率)模塊,內置2.4 GHz天線,串口波特率為2400~115200,模塊供電電壓為3.3~3.6 V。模塊配對后,即可作為固定波特率的全雙工串口使用。該模塊有3個功能,一是與智能終端進行配對;另一功能是接收智能終端的呼叫信息,通過串口傳遞給單片機;第三個功能是通過串將單片機的反饋信息發送給智能終端,這樣智能終端可以知道物品被找到。模塊外形及相關引腳見圖2。

圖2 HC05串口模塊外形及引腳
2)單片機控制模塊
單片機控制模塊主要有兩個功能,一是負責與HC05藍牙串口模塊進行串行通訊,從而實現與智能終端的通訊;另一個功能是當接收到智能終端的呼叫信息后,控制指示燈點亮和揚聲器發出聲音,提示用戶,物品所在的位置??刂颇K原理圖如圖3所示。HC05藍牙模塊串行口與控制模塊單片機STCSTC11F04E-16P的串口 (P3.0和P3.1)進行連接,即HC05的TX(1)接J1的2針,RX(2)接J1的3針,實現串口通訊。單片機的P1.5端口控制蜂鳴器,P1.0端口控制LED指示燈,當智能終端發出呼叫信息被控制端收到后,單片機控制蜂鳴器響和指示燈閃,直到用戶找到物品將其關閉(如果為了省電,也可設定響應一定時間后自動關閉)。

圖3 控制模塊原理圖
3)藍牙模塊設置與控制器軟件
HC05藍牙串口模塊通過串口調試助手進行設置,這時候key(34)引腳接高電平,模塊處于AT命令模式。使用相關的AT命令設置藍牙模塊為從模式,并設置串口波特率、8位數據位、1位停止位、無校驗位、模塊名稱、配對密碼等。經過這樣設置后,HC05藍牙模塊在工作模式(此時key(34)引腳懸空,默認為低電平)時,就完全是一個全雙工串行口。
控制器的軟件主要功能是串口通訊以及負責控制蜂鳴器和指示燈。主要有串口初始化模塊、定時器初始化模塊、中斷初始化模塊、定時器中斷服務模塊、串口中斷服務模塊、相關控制位初始化模塊、指示燈和蜂鳴器控制模塊以及主程序模塊組成。當智能終端發出呼叫信息時,與配對的藍牙通信模塊收到信息后,直接通過串口傳送給單片機,單片機串口收到信息后,產生串行中斷,串行中斷服務程序設置相關的標志位,并產生一個反饋信息給智能終端,主程序模塊則不斷查詢相關的標志位,調用指示燈和蜂鳴器控制模塊,從而使指示燈點亮,蜂鳴器發出聲音。
藍牙功能已成為智能手機的標準配置。智能終端模塊以帶藍牙2.0的Android智能手機為基礎,開發一個手機App,實現對綁定在物品上藍牙尋物器的配對、添加、改名、刪除以及呼叫等功能。智能終端模塊主要具有配對、添加、改名、刪除和呼叫等功能,使用JAVA語言進行開發。圖4是添加物品尋找器界面,上半部分顯示已經配對的物品尋找器,如“汽車鑰匙、常用鑰匙”等。通過點擊“添加”按鈕,則智能模塊開始搜索未知的藍牙物品尋找器,如果找到,則按相應的提示進行操作,最后完成物品尋找器的添加即配對操作。其后可以在列表中選擇某個已經配對的物品尋找器,點擊相應的按鈕進行改名、刪除和呼叫等操作。智能終端模塊的操作,同智能手機的使用一樣簡單方便,易于掌握。使用JAVA語言開發基于Android手機的藍牙通信App,有以下幾個關鍵問題需要注意:
1)打開手機端藍牙設備。在此設計中,要保證智能終端模塊與藍牙物品尋找器的正常通信,必須保證手機端藍牙設備處于打開狀態。因此智能終端模塊首先要寫的代碼是打開手機端藍牙設備。主要操作有兩步:①獲取手機端藍牙設備“BluetoothAdapterbtAdapter=BluetoothAdapter.getDefault Adapter();”,②打開藍牙設備“btAdapter.enable();”當然打開過程可以根據實際使用情況做得更友好。

圖4 添加物品尋找器界面
2)使用固定的藍牙串口通訊UUID(Universally Unique Identifier)建立連接。Android手機與藍牙串口模塊進行串口通信時,使用通用的UUID,即SerialPortServiceClass_UUID=' {00001101-0000-1000-8000-00805F9B34FB}',也就是使用spp協議,建立通信連接。這里還要注意,智能App是作為客戶端,使用spp協議,向遠端藍牙模塊(必須是從模式,遠端藍牙模塊就充當了服務端,處于監聽狀態,才能被手機藍牙連接)發起連接請求,并建立連接。主要操作有三步:①獲取遠端藍牙設備 “BluetoothDevice device=btAdapter.getRemote Device(BluetoothAddress);”,②創建一個Socket連接“Bluetooth Socket socket=device.create Rfcomm Socket To ServiceRecord (UUID.fromString("00001101-0000-1000-8000-00805F9 B34FB"));”,③連接服務器“socket.connect();”。連接過程同樣可以進行相關的信息提示,并對連接異常進行處理等。
3)刪除已添加(配對)的物品尋找器。如圖4所示,如果要刪除“汽車鑰匙”這個已經配對的物品尋找器,則在圖4上直接點擊,即可進入圖5的界面,這時候可以操作3個按鈕,“尋找物品”按鈕用于向配對的物品尋找器發出呼叫信息,“修改物品”按鈕用于修改配對物品尋找器的名稱、相關的說明信息等,“刪除物品”按鈕是用來刪除“汽車鑰匙”這個物品尋物器。由于BluetoothDevice類中提供的刪除已配對物品尋找器的方法為私有,因此使用JAVA反射技術實現對配對物品尋找器的刪除操作,具體需要以下3個步驟:①獲取藍牙設備的Class對象“Class clazz=BluetoothDevice.getClass();”②獲取設備類的刪除物品方法“Method method=Class. getMethod(“removeBond”);”③刪除物品“method.invoke (BluetoothDevice);”這樣,就能夠實現對已配對列表中物品的刪除。同樣刪除操作過程可以做得更加友好,增加一些確認信息等。

圖5 選定汽車鑰匙物品尋找器界面
通過實際測試,本智能終端模塊穩定可靠,使用簡單方便,真正實現了藍牙設計的初衷——不同廠家生產的設備,只要遵循藍牙的規范,即可方便地進行相互操作,實現數據共享。
本設計實物經過測試,穩定可靠,可尋找的距離在無障礙情況下達25米,手機端智能App操作方便簡潔?;谒{牙技術的尋物器,其功能不僅能作尋物器,通過對控制模塊的擴展,可以作為家庭物聯網的控制終端,控制電動窗簾、家用電器、電動玩具、醫療等。將其理解為一個基于藍牙的遠程控制器更確切,用戶根據需要對控制模塊相關端口進行控制功能的擴展,從而控制不同的對象。該設計是對基于射頻技術的物聯網無線連接進行了延伸,藍牙有其輻射低等優勢,隨著藍牙4.0 BLE規范的低功耗、高速度芯片的普及,基于藍牙技術控制器的應用前景將更加廣闊。
[1]陳欣.基于智能手機Andriod平臺的遠程醫療監護系統的設計[D].四川:成都理工大學,2013.
[2]張凡凡.藍牙技術在智能家居中的應用研究[J].電子制作,2015(10):043.
[3]陳曦,徐鵬,許曉蕾.基于藍牙通信技術的嵌入式工業控制系統的開發[J].儀表技術與傳感器,2015(1):74-76.
[4]林二東,王熙.藍牙技術在農機監控系統中的應用研究[J].農機化研究,2015(11):226-229.
[5]潘月,朱卉.基于Android系統的藍牙便攜式血脂儀的設計[J].電子設計工程,2013(24):170-173.
[6]王昭順,徐柏權.一種基于藍牙的交互式系統設計與實現[J].計算機工程與科學,2014(8):1500-1504.
The design of items-finder based on Bluetooth technology
DING Hui,HE Tao,DING Hua-feng,XU Guan-hao
(Changzhou Institute of Light Industry Technology,Changzhou 213164,China)
An item finder is designed for problem that small objectswhich are liable to be placed in the location difficult to find,based on advantages of bluetooth technology as low cost,low power consumption,high speed communication,as well as the proliferation of smart phones.The smart phone App is written with JAVA language,which can communicate with the finder tied to the item through the Bluetooth,and sound and light to guidepeople to search the item.The actual test shows that the finder and smartphone App are stable and reliable operation,and the maximum search distance can up to25 m.The finder's functionality can be further extended.
bluetooth technology;item finder;intelligent terminal;wireless communications
TN929.5
A
1674-6236(2016)11-0160-03
2015-06-17稿件編號:201506178
丁 輝(1969—),女,江蘇大豐人,碩士,副教授。研究方向:計算機應用技術。