田麗新 劉賞
摘要:針對地區(qū)性霧霾指數(shù)監(jiān)控不夠精確、不能夠?qū)崟r監(jiān)控的缺點。本文利用Android系統(tǒng)與單片機實現(xiàn)藍牙傳輸?shù)撵F霾與運動監(jiān)測系統(tǒng),能夠?qū)嵉貙崟r分析運動路線的PM2.5、PM10等霾顆粒的狀況。并根據(jù)霧霾實時監(jiān)測數(shù)據(jù),與個體用戶身體數(shù)據(jù)的個性化分析,給出最適合的運動方案推薦。系統(tǒng)硬件采用PM2.5采集模塊、藍牙傳輸模塊,軟件包括交互程序與傳輸程序設(shè)計。由PM2.5模塊采集的數(shù)據(jù)經(jīng)過單片機處理后,通過藍牙的數(shù)據(jù)傳輸功能將數(shù)據(jù)發(fā)送到Android設(shè)備,經(jīng)過交互處理,可在屏幕上直接顯示PM2.5信息。且同時具備調(diào)用多種接口實現(xiàn)運動記錄、天氣記錄及心率檢測的功能。本系統(tǒng)具有功能多樣,交互簡潔,操作簡單的特點。
關(guān)鍵詞:PM2.5采集模塊;運動方案推薦;心率采集
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)22-0215-04
Abstract: The shortcomings of local haze index are not accurate enough to be monitored in real time.This paper USES the Android system and single-chip microcomputer to realize the haze and motion monitoring system of bluetooth transmission, and can analyze the situation of PM2.5, PM10 and other haze particles in real time.According to the real-time monitoring data of the haze and the individualized analysis of the individual user's body data, the most suitable motion plan recommendation is given.
The system hardware adopts PM2.5 collection module and bluetooth transmission module, and the software includes interactive program and transmission program design.Data from the data of PM2.5 module after dealing with the single chip microcomputer, data transfer via bluetooth function sends the data to the Android device, through interactive processing, can be directly on the screen display PM2.5 information.At the same time, it has the function of calling multiple interfaces to realize movement record, weather record, and heart rate detection.The system has many functions, simple interaction and simple operation.
Key words: PM2.5 collection module; Sports programme recommendation; Heart rate collection
近年來,霧霾呈現(xiàn)全國大范圍的趨勢,在全國大范圍地區(qū)PM2.5嚴重干擾人們?nèi)粘I畛鲂?,并且危害人體健康?!胺丽仓析病币恢笔钦匾暤膯栴}。在此背景下,人們按照傳統(tǒng)的方法接受到的霧霾信息是由環(huán)境監(jiān)測總站發(fā)布的霧霾數(shù)據(jù),這種霧霾信息的發(fā)布方式雖解決了人們對霧霾監(jiān)測數(shù)據(jù)的了解需求,但是存在數(shù)據(jù)不精準,誤差范圍大的問題以及對監(jiān)測到的霧霾數(shù)據(jù)所帶來的相關(guān)問題并沒有得到解決,“了解霧霾,防護霧霾”并不能做到。
傳統(tǒng)的霧霾監(jiān)測的不足之處在于:會受到城市建筑、工廠、綠化等的布局影響,且風向、氣溫、地形、時間差等都是使數(shù)據(jù)產(chǎn)生誤差的原因。所以說傳統(tǒng)的監(jiān)測結(jié)果會不同于個人實際位置的霾數(shù)據(jù)。并且傳統(tǒng)霾監(jiān)測僅僅產(chǎn)生結(jié)果數(shù)據(jù),并不能對霾數(shù)據(jù)進行處理,給出具體防護和出行方案。
針對以上問題,迫切需要找到一種精確且推廣性強的方法來解決霧霾監(jiān)測與出行之間所衍生出來的諸多實際問題。進一步解決霧霾問題,提升出行品質(zhì)的同時,減少人們未知的恐慌或者毫不在意的誤區(qū),更好地監(jiān)管霧霾,監(jiān)管個人的身體素質(zhì)。
本文針對傳統(tǒng)的霧霾監(jiān)測發(fā)展過程中所引發(fā)的諸多現(xiàn)實問題,給出一種行之有效的解決方案。提出基于Android系統(tǒng)與單片機技術(shù)的霧霾監(jiān)測系統(tǒng),這種系統(tǒng)使用軟硬件結(jié)合的方式使得霧霾監(jiān)測數(shù)據(jù)結(jié)果與強身健體的運動方案管理相結(jié)合,同時引入心率監(jiān)測,可以改正一些運動人群對霧霾的錯誤認識,加強運動時對霧霾的監(jiān)測管理,使得人們安全高效運動與出行。
1 霧霾采集硬件系統(tǒng)設(shè)計
根據(jù)“霧霾監(jiān)測運動系統(tǒng)”的功能需求和設(shè)計方案分析[1],我們不能僅依靠程序的運行實現(xiàn),需要與硬件相結(jié)合,實現(xiàn)數(shù)據(jù)的采集與傳輸。從數(shù)據(jù)可靠、經(jīng)濟成本與用戶方便可攜帶三個要素為主進行考慮,決定將大多數(shù)的功能如數(shù)據(jù)分析、定位、心率采集、交互都通過程序的方式呈現(xiàn)于Android手機系統(tǒng)平臺,對硬件的設(shè)計用于系統(tǒng)的核心功能,這樣有利于成本控制、體積控制,且硬件設(shè)計簡單化。
智能是手機終端通過藍牙與單片機建立傳輸通信,單片機通過程序去控制霧霾檢測模塊,模塊檢測到霧霾數(shù)據(jù)后,將數(shù)據(jù)又通過藍牙傳送回手機終端。系統(tǒng)框圖如圖1所示。
系統(tǒng)的硬件主要設(shè)計圍繞單片機的選型,PM2.5檢測模塊,藍牙模塊,電源,蜂鳴報警模塊等。
1.1 STC89C52單片機
在單片機[2]的選型上考慮了主要未來在編程上的更改與完善,所以選用的單片機攜帶了8K字節(jié)閃爍可編程可擦除只讀存儲器,這樣的單片機方便了我們對程序的調(diào)整??紤]到存儲數(shù)據(jù)的相關(guān)問題,選用的微處理器采用ATMEL高密度非易失存儲器制造技術(shù)制造。兼容了工業(yè)標準的MCS-51指令集和輸出管腳相兼容。在單芯片上,選用擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,可以為眾多嵌入式控制應(yīng)用系統(tǒng)提供超有效、高靈活的解決方案,無論是現(xiàn)在的應(yīng)用還是今后的硬件調(diào)整都有適應(yīng)性的效果。
在單片機的選型上STC89C51RC系列單片機剛好滿足了我們的需求。它是單時鐘/機器周期(1T)的兼容8051 內(nèi)核單片機,是高速/ 低功耗的新一代8051 單片機,全新的流水線/精簡指令集結(jié)構(gòu),內(nèi)部集成MAX810 專用復(fù)位電路。具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。引腳圖如圖2所示。
1.2 PM2.5傳感器模塊
在PM2.5傳感器[3]的選擇上,主要考慮了體積大小、數(shù)據(jù)檢測功能的穩(wěn)定性、以及數(shù)據(jù)的精確性,從成本的角度上也盡可能的控制,但不是占主要因素??紤]到的參數(shù)有:
靈敏度:0.5V/(0.1mg/m3)
輸出電壓: 0.9V(TYP)
消耗電流:11mA
工作溫度:-10~65℃
存儲溫度:-20~80℃
這些參數(shù)都是關(guān)于測量數(shù)據(jù)和測量環(huán)境的相關(guān)基本要求,基于以上要求,我們選擇了某公司開發(fā)的一款光學灰塵濃度檢測傳感器GP2Y1010AU0F(如圖3所示)。這款粉塵傳感器GP2Y1010AU通過對空氣粉塵顆粒濃度的檢測輸出模擬電壓。。我們考慮到此傳感器內(nèi)部成對腳分布的紅外發(fā)光管和光電晶體管,利用光敏原理來工作??捎糜跈z測特別細微的顆粒,如香煙顆粒、細微灰塵。且依靠輸出脈沖的高度來判斷顆粒濃度,從測量的精確與靈敏度都滿足我們對硬件的要求。
1.3 HC-05藍牙通信模塊
對于藍牙通信模塊,從硬件上要求此模塊傳輸數(shù)據(jù)穩(wěn)定,兼容性,連接穩(wěn)定。另外的額外因素有考慮到藍牙模塊的體積因素,這樣更符合可便攜帶的需求。經(jīng)過幾種藍牙模塊的比對最終選擇了HC-05 嵌入式藍牙串口通訊模塊(圖4所示)。藍牙通信單元采用工業(yè)級的HC-05藍牙模塊來完成,藍牙模塊在整個系統(tǒng)中負責藍牙指令的接收和傳輸。
對于藍牙通信模塊的選擇,我們考慮了HC-05藍牙模塊的以下特點:
(1) 采用的是CSR主流藍牙芯片,藍牙V2.0協(xié)議標準。
(2)輸入電壓為:3.6V- 6V,不允許超過7V。
(3)波特率用戶可設(shè)置1200,2400,4800,9600,19200,38400,57600,115200。
(4)連接狀態(tài)指示燈,LED閃光指示無藍牙連接;LED慢閃光指示進入命令模式。
(5)3.3V穩(wěn)壓器芯片,輸入電壓DC 3.6V-6V;當未配對時,電流約為30mA(由于LED燈閃爍,電流處于變化狀態(tài));當配對成功時,電流大約是10mA。
(6)可與藍牙筆記本電腦、電腦、藍牙適配器等設(shè)備無縫連接。
(7)HC-05嵌入式藍牙串口通信模塊(以下簡稱模塊)有兩種工作模式:命令響應(yīng)模式和自動連接模式。
2 基于Android平臺的程序設(shè)計
此Android系統(tǒng)設(shè)計是應(yīng)用于用戶管理身體健康信息,解決實際出行與運動方案推薦的霧霾監(jiān)測平臺,因此在軟件系統(tǒng)的功能上需要額外滿足精準定位、健康數(shù)據(jù)管理、運動方案推薦等功能。下文主要從用戶交互的角度具體介紹了該系統(tǒng)包含的各個功能。關(guān)于該系統(tǒng)的主要功能(霧霾檢測功能、天氣與定位功能、心率檢測功能)在程序設(shè)計上是如何具體實現(xiàn),從程序設(shè)計上主要依靠藍牙通信、百度接口、攝像頭檢測心率三個方面去實現(xiàn),下面將從各功能詳細出發(fā)。
2.1 用戶交互界面
基于Android實現(xiàn)用戶交互界面[4]。(1)Activity:Activity 類是一個系統(tǒng)的核心組成部分,實現(xiàn)應(yīng)用程序的入口與界面的顯示、界面跳轉(zhuǎn),程序中所設(shè)計的與用戶交互的主要界面(如圖5所示)。(2)BroadcastReceiver :注冊和接收系統(tǒng)廣播的事件。(3)Service :一個在后臺運行的獨立進程。(4)ContentProvider :提供數(shù)據(jù)庫查詢接口。
啟動Android程序系統(tǒng)進入:
1) 主界面:交互的主界面,根據(jù)用戶選擇進入以下各模塊功能界面。
2) 霧霾監(jiān)測:通過提供藍牙連接,進行數(shù)據(jù)與設(shè)備間的交互,實現(xiàn)霧霾數(shù)據(jù)返回與保存記錄。
3) 運動搭配:主要提供的功能有測試記錄心率的變化、記錄與查詢運動數(shù)據(jù)。
4) 飲食搭配:提供飲食計劃設(shè)置與查詢,計算能量攝入。
5) 用戶管理界面:主要對用戶基本信息的設(shè)置與管理。首次登陸填寫用戶年齡、性別、脂肪水平,心率。將用戶身體信息存儲數(shù)據(jù)庫中,以便下次調(diào)用。
6) 數(shù)據(jù)查詢:可查詢與導(dǎo)出歷史運動數(shù)據(jù),供打印成表。
7) 健康控制:此模塊提供使用攝像頭測量心率的功能。據(jù)霾數(shù)據(jù)、心率、運動、飲食,估測建議修改運動與飲食方案,控制健康,返回估測的健康結(jié)果。
2.2 藍牙通信數(shù)據(jù)傳輸
系統(tǒng)需要實現(xiàn)智能Android手機與硬件之間的數(shù)據(jù)通信功能。實現(xiàn)這種功能需要通過藍牙模塊,建立PM2.5檢測模塊與Android應(yīng)用程序之間的連接,接收數(shù)據(jù)傳輸。Android 4.3(API Level 18)開始引入Bluetooth Low Energy(BLE,低功耗藍牙)的核心功能并提供了相應(yīng)的 API, 應(yīng)用程序通過這些 API 掃描藍牙設(shè)備、查詢 services、讀寫設(shè)備的 characteristics(屬性特征)等操作。
智能手機終端通過查詢藍牙是否可以被調(diào)用,獲得手機設(shè)備權(quán)限過后,打開藍牙。查詢附近設(shè)備,如果未曾進行配對,就開始配對,已經(jīng)配對的則可以直接進行連接。連接過后可以獲得輸入流和輸出流,這樣就建立好了設(shè)備間的通信,可以進行數(shù)據(jù)間的傳遞和操作。(如圖6所示)
2.3 GPS定位及天氣功能
關(guān)于如何實現(xiàn)運動方案推薦與預(yù)測,且記錄運動路線。我們需要通過天氣數(shù)據(jù)的分析推薦適宜的運動方案,且使用GPS定位功能實時監(jiān)控與記錄運動出行路線圖。如何開發(fā)GPS定位功能及天氣提示。經(jīng)過考慮,重新開發(fā)與維護定位與天氣預(yù)報完整功能顯然是不太實際。在已有的科技成績上發(fā)展自己的功能才是經(jīng)濟成本低且更可靠的。
通過程序去實現(xiàn)已有的定位接口和天氣接口的調(diào)用,實現(xiàn)我們需要的功能。在選擇上,我們選擇了提供許多豐富功能的百度接口,可以使用這些接口輕松訪問百度服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強的應(yīng)用程序。我們選擇了百度地圖 Android SDK與天氣預(yù)報查詢接口API,選擇原因是:(1)百度地圖 Android SDK是一套基于Android 4.0及以上版本設(shè)備的應(yīng)用程序接口??墒褂迷撎?SDK開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用。并且百度地圖 Android SDK還具有精度高、覆蓋廣、流量小、速度快的特點(如圖7所示)。(2)百度提供天氣預(yù)報查詢接口API,可以根據(jù)經(jīng)緯度/城市名查詢天氣情況。
調(diào)用百度地圖接口前,我們需要做如下準備工作:
第一步,注冊和獲取密鑰。使用百度地圖提供的API接口,首先需要獲得密鑰。獲取AK的流程大致可分為如下四個步驟:(1)登錄API控制臺;(2)創(chuàng)建自己的應(yīng)用;(3)配置SHA1和包名;(4)提交生成即可獲得AK。
第二步:Android Studio配置:配置android studio環(huán)境,以供開發(fā)。配置的方法是(1)打開/創(chuàng)建一個Android工程;(2)添加SDK(jar + so);(3)配置build.gradle文件;(4)添加AK;(5)添加定位權(quán)限
需要注意的是使用定位SDK,我們還需在Application標簽中聲明service組件,每個App擁有自己單獨的定位service。
除添加service組件外,為了完善我們的系統(tǒng)功能,使用定位SDK還需添加如下權(quán)限:
用于進行網(wǎng)絡(luò)定位;
這個權(quán)限用于訪問GPS定位;
用于訪問wifi網(wǎng)絡(luò)信息,wifi信息會用于進行網(wǎng)絡(luò)定位;
獲取運營商信息,用于支持提供運營商信息相關(guān)的接口;
這個權(quán)限用于獲取wifi的獲取權(quán)限,wifi信息會用來進行網(wǎng)絡(luò)定位;
用于讀取手機當前的狀態(tài);
寫入擴展存儲,向擴展卡寫入數(shù)據(jù),用于寫入離線定位數(shù)據(jù);
訪問網(wǎng)絡(luò),網(wǎng)絡(luò)定位需要上網(wǎng);
SD卡讀取權(quán)限,用戶寫入離線定位數(shù)據(jù)。
最后,通過程序?qū)崿F(xiàn)地理位置的獲取。獲取地址的方法:先初始化LocationClient類,然后配置定位SDK參數(shù),再實現(xiàn)BDAbstractLocationListener接口,最后就可以獲取定位地址信息。
如何調(diào)用百度天氣API接口,分為以下幾個步驟:
(1)首先我們需要調(diào)用百度地圖給的API,獲得自己所在的當前城市。
(2)然后發(fā)送jsonp跨域請求(這樣就獲得了當前自己所在城市的天氣,在src里面?zhèn)鬟f了兩個函數(shù),分別是getWeather_week和 getTodayWeather,去獲得今天的天氣和這周的天氣。)
(3)接著解析json數(shù)據(jù),寫入DOM。
(4)最后,我們需要為查詢天氣按鈕添加事件,就可以獲得任意城市的天氣。
2.4 基于攝像頭圖形處理獲取心率值
本系統(tǒng)通過對心率檢測的結(jié)果分析來進行用戶的健康管理。本文所采用的心率檢測[5-6]的主要原理是通過用戶用食指觸摸攝像頭,通過閃光燈照射來捕捉圖像,由于人體充氧與缺氧時呈現(xiàn)的血液的顏色不同,根據(jù)顏色的明暗變化不同計算出心率值。此項技術(shù)早在許多智能手機app已得到相應(yīng)的運用。
借助光電容積脈搏波描記法(PPG)的檢測方法,通過光電手段在活體組織中檢測血液容積變化的一種無創(chuàng)。每當心臟循環(huán)一次,血液通過心臟輸送到周圍。即使這種壓力脈沖在到達皮膚的時候會有所減弱,但它已經(jīng)足以使皮下組織的動脈和小動脈擴張。若脈搏血氧計是附著在沒有壓迫皮膚的情況下,我們可以從靜脈叢中看到壓力脈沖,作為一個小的二次峰。
壓力脈沖產(chǎn)生的體積變化是通過發(fā)光二極管(發(fā)光二極管)的光照射皮膚來檢測的,然后測量光發(fā)射或反射到光電二極管的光量。每一個峰值都表示了一個心動周期。由于血液流向皮膚可以被其他多種生理系統(tǒng)調(diào)節(jié),PPG同時也可以用來監(jiān)測呼吸,低血容量和其他循環(huán)條件。另外,PPG波形的形狀與主體不同,跟著脈氧儀附著的位置和方式而變化。
運用此原理我們可以使用攝像頭獲取心率的過程如下:(如圖8)
(1)首先,我們通過調(diào)用Android手機攝像頭權(quán)限,使用AVCapture去采集視頻流。
(2)然后對每一幀圖像計算出一個相應(yīng)的特征值并保存到數(shù)組中,考慮取紅色分量或轉(zhuǎn)換為HSV的算法對特征值進行處理。HSV(Hue, Saturation, Value)是由A. R. Smith在1978年根據(jù)顏色的直觀特性創(chuàng)建的一種顏色空間, 也可以叫作六角錐體模型(Hexcone Model)。
(3)對此時間段內(nèi)的數(shù)據(jù)進行預(yù)處理,比如濾波處理(常用的濾波器有:空域濾波器,頻域濾波器,形態(tài)學濾波器),分頻處理等。
(4)緊接著,就可以進行心率計算,這一步可能涉及一些數(shù)字信號處理,比如說波峰檢測,信號頻率計算。
(5)最終求得到心率。
3 結(jié)語
該系統(tǒng)設(shè)計是針對全國大范圍出現(xiàn)霧霾,人們無法通過肉眼識別PM2.5、數(shù)據(jù)不精確、位置差異化、不利運動出行等相關(guān)問題,設(shè)計的一款以android技術(shù)為基礎(chǔ)、解決人們實際運動出行與霧霾關(guān)系的APP。系統(tǒng)[7]用于運動時對環(huán)境霧霾指數(shù)、心率變化、運動路線的監(jiān)測記錄,綜合了天氣、飲食等擴展功能。該系統(tǒng)若將藍牙模塊改為WiFi模塊可使速度更快、距離更遠,這是現(xiàn)在普遍使用的技術(shù),還可利用云技術(shù)的發(fā)展,在功能上達到更大的突破。
參考文獻:
[1] 李成祥.智能型室內(nèi)空氣質(zhì)量檢測與控制系統(tǒng)[D].北京交通大學,2011.
[2] 蘭冰芯,諶海云,陳東,等.基于單片機的PM2.5測試儀的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2014(11).
[3] 袁劍敏.一種PM2.5濃度檢測裝置、檢測方法及空氣質(zhì)量檢測儀,CN104067106A[P]. 2014.
[4] 趙亮,張維.基于Android技術(shù)的界面設(shè)計與研究[D].徐州:徐州建筑職業(yè)技術(shù)學院,2001.
[5] 唐弘玲.基于信號處理的Android手機心率監(jiān)測軟件設(shè)計與實現(xiàn)[D].東北大學,2013.
[6] 蔡承賢,王偉,基于人工智能的心率監(jiān)測算法[J],中國醫(yī)療器雜志2010,34(1):1-3.
[7] 高巍.Android 操作系統(tǒng)軟件自動化測試方案的設(shè)計與實施[D].北京:北京郵電大學,2012:440-479.
【通聯(lián)編輯:梁書】