北京聯合大學自動化學院 王 磊北京聯合大學 電子信息技術實驗實訓基地 張翠霞周道賢
基于藍牙4.0智能控制系統的研究與實踐
北京聯合大學自動化學院 王 磊
北京聯合大學 電子信息技術實驗實訓基地 張翠霞
周道賢
物聯網技術的發展離不開無線控制系統的構建,在該生態系統大家族中,藍牙扮演著重要角色。本文以藍牙智能控制系統為研究對象,對系統架構與功能設計、關鍵技術以及解決方案、軟件、硬件進行了分析,并應用于普通電源插座,使之成為實用的藍牙智能電源插座。
藍牙;智能控制器;物聯網
物聯網技術應用使得人們生活和生存質量變得更好,它在環境污染監控、工業農業測量、信號采集與處理、醫療行業等有很大應用。為此,作為物聯網網絡中的重要部分如集中器,節點器等都需要有完善的功能和能力,如:信息采集、控制執行、網絡組建、智能處理等。在現有的物聯網網絡實施方案中還缺少一些更加節能、更加智能、更加靈活的物聯網節點解決方案。基于目前的現狀和存在的問題,我們試想研究一種新型的藍牙智能控制器。
藍牙智能控制器采用低功耗藍牙技術,將自身傳感器數據信息發送到移動設備,移動設備將控制信息發送給藍牙控制系統,控制系統根據信息來執行控制過程,通過外圍接口電路連接驅動電路實現應用與控制,比如智能插座,智能燈帶,實現了弱點控制強電并分析了相關原理。
本項研究的特點及創新點在信息處理、自動控制方面的低功耗設計與實現,并應用于常用的電源插座,使得電源插座提供時間管理、斷電存儲信息、網絡共享等功能,變成藍牙智能電源插座。
該系統由藍牙控制終端、手機APP、網絡組成,如圖1.1所示。
藍牙控制終端:由藍牙芯片和外圍電路組成,用來接收手機app數據,并反饋系統狀態給app,是系統的核心組成部分。
手機app用于設置數據控制數據,獲取設備狀態數據,并將數據同步到網絡服務器。
網絡服務器用于用戶注冊,數據管理。
該系統通過手機app設置時間,時長,通道數據,并通過藍牙傳輸在藍牙控制終端,藍牙終端存儲信息并根據此信息控制被控制對象,以及采集終端相關數據反饋給手機APP,app將數據傳送到網絡服務器。終端與手機app之間數據傳輸采用自定義協議加密解密。

圖1 。1 系統架構框圖
2.1 最小系統設計
選用低功耗Qn9020芯片,該芯片具備定時器,IIC接口,以及藍牙4.0協議棧,內核還有一個時鐘芯片,并有官方提供的API函數支持,滿足研究需求,并預留接口到存儲器,屏幕以及外設控制接口。其應用是以此作為系統控制核心,使用IO連接控制驅動,控制電磁繼電器實現插座的開關。
信號采樣部分通過電阻橋線性比例處理信號,映射信號到單片機處理范圍再進行采樣,規范化。
2.2 外圍接口電路設計
外設控制部分采用光電控制器控制插座以及燈帶功率放大三極管實現。
為方便調試,采用串口實現與PC連接,實現開發調試仿真信息的回調。
2.3 節點組成框圖
節點核心使用藍牙芯片,外接傳感器,驅動電路,存儲器,以及顯示器。傳感器采用模數轉換器接口采樣電平信號,并最終使用軟件濾波,計算其值發送到APP。節點組成電路如圖2.1所示。

圖2.1 節點電路組成
3.1 編譯器設計
編譯器就是將"一種語言(通常為高級語言)"翻譯為"另一種語言(通常為低級語言)"的程序。
本項設計的編譯器如圖3.1所示,使用keil IDE編譯代碼,界面如下,keil根據cpu芯片指令集編譯代碼為二進制碼,同時使用sourceinsight編輯代碼,會提升效率。
3.2 系統軟件設計
通過嵌入式系統運行藍牙api,結合外設控制模塊的驅動實現該功能,軟件結構如圖3.2所示。

圖3 。2 終端軟件架構

圖3 。3 終端程序流程
3.3 應用層設計
應用層的核心是數據打包加密解密并映射在四個通道上傳輸的實現,應用層流程:通過藍牙狀態管理器接收處理指令,根據指令解析對應數據包,并行線程運行時間管理器,處理終端事件和數據采集。終端程序流程如圖3.3所示。
藍牙終端程序開始初始化時鐘,外設,加載協議棧,初始化外設驅動以及IO端口,申請內存并運行嵌入式系統,之后運行智能控制管理任務。任務由以下進程組成:藍牙數據管理器,串口打印模塊,電源管理,控制模塊四個進程。藍牙管理器負責監管設置藍牙參數,profile以及廣播數據,廣播回應數據,掃描回應數據等,并且負責連接,設置廣播間隔等參數。當建立數據通信時,管理狀態機先將收到的數據拆分出指令,包頭,數據包存入緩沖區,在下一個程序周期根據指令調用相應代碼進行數據處理。

圖3.1 keil開發IDE
實現本研究需要一系列指令協調,先下達時間,同步標志,檢查存儲器,提醒器等,然后每個數據的處理都有回調監管。
控制模塊會根據當前時間每分鐘更新處理的指令,以及控制信息,時間到則會進入控制隊列,讀取當前控制隊列的控制時長,獲取此刻時間,根據此事件來控制該通道的狀態。
3.4 手機APP設計
APP設計主要為了實現跟藍牙終端通信耦合。手機APP程序流程如圖3.4所示。通信遵循藍牙節點終端協議,對正確協議規范數據解析,打開APP需要點擊連接設備,同時藍牙終端快速廣播,對廣播數據為特定的字符串的進行連接,調用藍牙4.0安卓API接口實現。連接APP后,APP依據一個流程進行指令和數據的下發。具體流程部分如圖3.4所示:
3.5 數據傳輸分析

圖3.4 手機APP程序流程圖
藍牙是通過Profile傳輸數據,每個Profile包含了一些Service,每個Service代表一些能力。Service是一種服務,一個從機會包含電量信息、按鍵、搖桿、傳感器等服務。具體特征值才是通信的主體。因此在編程時需要將每個特征值分配為具體服務內容。 UUID,統一識別碼,service和Char特征值需要唯一的UUID來標識,在BLE協議棧UUID為16位,在標準藍牙中是128位,可以相互轉換,一個Profile有多個Service,每個service可以有多個Characteristic組成,是主機與從機通信的實現方式。
4.1 實驗數據
使用串口調試工具將藍牙終端運行的每一個狀態打印下來,以下是下載數據的全過程,該過程是按照程序設計的流程走指令,進行數據傳輸,各個指令結合從而實現藍牙控制系統的功能。
4.2 結論
按照程序流程實現后,并成功雙向數據傳遞,設備能夠下載時間,能夠反饋自己的狀態如時間,電量等信息。
制作藍牙控制系統的硬件樣機如圖5.1所示。長按鍵后藍牙圖標閃爍,設備變成可配對模式,此時需要在手機APP上點擊配對,幾秒后設備配對,并按照流程繼續,逐一檢查各項參數,和同步時間,下載設置的數據,使得設備進入工作模式。

圖5.1 硬件樣機

圖6.1 基于藍牙控制系統的智能插座
藍牙4.0智能控制系統應用廣泛,特別是在物聯網方面,與人們的日常工作和生活息息相關。本項目就是以藍牙4.0智能控制系統為核心,與普通的電源接線板結合,做出了一個智能插座,如圖6.1所示,其與眾不同之處和創新的地方在于每個通道都有一個獨立的時間管理器,能實現:2WH_ When(何時),Where(哪路通道), How(多長時間)的控制,并且能夠用手機APP設置。
鳴謝:該項目的研究得到2015Google支持教育部高教司國家大學生創新創業訓練計劃聯合基金項目的大力支持,為完成項目研究提供資金保證。
[1]王惠,朱寶中忠,基于藍牙低功耗技術的觸控顏色書寫筆自動識別研究與應用[J]。電子科學技術,2016,3(3)。
[2]張建軍,陳曉,趙意。一種無線傳感器節點動態采樣策略[J]。電子測量與儀器學報,2016,30(2)。
[3]高紹斌,喬學工,王華倩。一種點對多點紅外通信協議設計與實現[J]。電視技術,2013,37(21)。
張翠霞。