基于STM32和Onenet的智能健康管家的設(shè)計(jì)與實(shí)現(xiàn)
楊裴裴,李勝嵐,石恒瑞(鄭州工商學(xué)院河南,河南 鄭州 450000)
本文引用地址:http://www.ex-cimer.com/article/201908/403616.htm摘?要:基于STM32單片機(jī)和Onenet平臺(tái),設(shè)計(jì)了一款智能健康管家。在設(shè)計(jì)中結(jié)合了打印機(jī)、心率模塊、OLED顯示模塊、WiFi通信模塊等一些市面上常見(jiàn)的傳感器,提出并設(shè)計(jì)出一款專(zhuān)門(mén)針對(duì)空巢老人使用的且操作簡(jiǎn)單、使用方便、快速準(zhǔn)確測(cè)量心率的儀器
關(guān)鍵詞:STM32;Onenet;心率測(cè)量?jī)x;物聯(lián)網(wǎng);智能健康管家
0 引言
改革開(kāi)放以來(lái),隨著國(guó)家經(jīng)濟(jì)和科技的快速發(fā)展,人們生活條件越來(lái)越好,人們的追求開(kāi)始逐漸改變,從以前只需要吃飽穿暖到現(xiàn)在的吃好穿美,社會(huì)步伐在快速向前,但人們的身體素質(zhì)卻越來(lái)越低,特別是心血管疾病的發(fā)病率越來(lái)越高。很多人對(duì)心血管疾病的了解并不多,經(jīng)常會(huì)認(rèn)為很多心血管疾病是突發(fā)病,常常都是到了嚴(yán)重的地步才會(huì)去尋醫(yī)問(wèn)診。大多數(shù)的心血管疾病都是可以預(yù)防的,這就需要我們平時(shí)要注意好身體,同時(shí)多鍛煉身體,而且要注意飲食健康。但是很多人已經(jīng)有了隱疾,所以需要早點(diǎn)發(fā)現(xiàn)早點(diǎn)治療。當(dāng)前醫(yī)院最常用的就是用心電圖機(jī)(ECG)來(lái)檢測(cè)心率,但檢測(cè)出來(lái)的結(jié)果都是當(dāng)時(shí)短時(shí)間內(nèi)的結(jié)果,但是很多的心血管疾病前期都沒(méi)有比較明顯的癥狀,而且很多都是間歇性的,很可能在醫(yī)院檢查的時(shí)候是正常的,但是說(shuō)不定在什么時(shí)候就顯現(xiàn)出癥狀。雖然現(xiàn)在很多的移動(dòng)設(shè)備(例如:智能手表、手機(jī)等)都帶有心率檢測(cè)功能,雖然很方便,但是考慮到很多老年人還是不愿意接觸新鮮事物,所以這些最新科技對(duì)于他們沒(méi)有那么實(shí)用,因此一款專(zhuān)門(mén)針對(duì)空巢老人使用的心率檢測(cè)儀器顯得極為重要。
1 智能健康管家的設(shè)計(jì)框圖
該智能健康管家的設(shè)計(jì)主要分為硬件和軟件兩部分。 硬件部分設(shè)計(jì)包括電源設(shè)計(jì)、 STM32外圍電路以及相關(guān)的傳感器、 WiFi模塊與STM32連接電路設(shè)計(jì);軟件部分設(shè)計(jì)包括STM32單片機(jī)代碼編寫(xiě)、 ESP8266固件的編寫(xiě)、Android手機(jī)APP的代碼編輯和編寫(xiě)以及PC網(wǎng)頁(yè)端應(yīng)用的編輯。 系統(tǒng)的設(shè)計(jì)框圖如圖1所示。
由圖1可知,當(dāng)該智能健康管家檢測(cè)到心率模塊輸出有規(guī)律波形時(shí)(即人體組織與心率模塊進(jìn)行有效接觸,人體組織多為手指肚),進(jìn)入測(cè)量模式,然后根據(jù)算法算出心率值,在OLED屏幕上顯示出來(lái),同時(shí)打印機(jī)打印出結(jié)果,并根據(jù)心率值給出相應(yīng)的建議,也會(huì)把心率值通過(guò)Onenet云平臺(tái)發(fā)送到手機(jī)端或電腦網(wǎng)頁(yè)端,并把心率值記錄到云端,繪制曲線(xiàn),讓用戶(hù)看到自己心率的起伏。該系統(tǒng)也可以綁定郵箱,當(dāng)心率值處于危險(xiǎn)值時(shí),云平臺(tái)會(huì)給綁定郵箱發(fā)送郵件,使一些在外的兒女也能了解到家中父母的心率狀況。在應(yīng)用端我們也可以發(fā)送消息,例如發(fā)送消息提醒老人測(cè)量心率,消息返回給主控板,并顯示在OLED顯示屏上。以上設(shè)計(jì)使智能管家更加方便快捷,也更加的智能,使其能夠滿(mǎn)足未來(lái)智能家居的要求。
2 智能健康管家的硬件設(shè)計(jì)
本設(shè)計(jì)中使用STM32F103RCT6最小系統(tǒng)板作為主控核心板,并搭配ESP8266WiFi模塊、心率模塊、OLED顯示屏和串口打印機(jī)等多種傳感器完成硬件部分的設(shè)計(jì),該設(shè)計(jì)的整體電路如圖2所示。
2.1 WiFi模塊
在該設(shè)計(jì)中,WiFi模塊是溝通硬件和軟件的橋梁,在硬件獲取心率值后需要上傳到云端,這就需要WiFi模塊來(lái)連接兩者,這里選用的深圳安信可公司所出產(chǎn)的ESP-01模塊,這是一款高性能無(wú)線(xiàn) SOC,以最低成本提供最大實(shí)用性,為 WiFi 功能嵌入其他系統(tǒng)提供無(wú)限可能。在該設(shè)計(jì)中并沒(méi)有使用常見(jiàn)的AT固件,而是采用了SDK二次開(kāi)發(fā),把與Onenet的協(xié)議處理部分都交給ESP8266處理,這里只需要主控板把獲取的數(shù)據(jù)通過(guò)串口傳給WiFi模塊,模塊作為一個(gè)高性能的SoC,將數(shù)據(jù)通過(guò)協(xié)議處理再上傳到Onenet云平臺(tái),也可以接收消息處理并通過(guò)串口發(fā)送給主控板。其電路原理圖如圖3所示。
2.2 OLED模塊
該模塊工作溫度為 -40℃ ~ +70℃,內(nèi)部自帶升壓電路,分辨率為 128×64像素,采用SSD1306 驅(qū)動(dòng)芯片,僅需 3.3V 供電即可。該模塊支持8位6800并口、8位8080并口、I 2 C總線(xiàn)、 4線(xiàn)SPI 總線(xiàn)等4種通信接口方式,該設(shè)計(jì)用的是I 2 C 總線(xiàn)接口,我們程序中使用的是模擬I 2 C。OLED 屏與液晶屏類(lèi)似,在應(yīng)用前都需要進(jìn)行初始化。整個(gè)初始化工作為一系列顯示控制芯片的設(shè)置工作,主要包括關(guān)閉顯示、設(shè)置時(shí)鐘分頻因子、設(shè)置顯示偏移、設(shè)置內(nèi)存地址、行列起始地址等。輸入 OLED 模塊的數(shù)據(jù)之所以能顯示到屏幕上,是因?yàn)閮?nèi)部有一個(gè)顯存,該顯存與模塊屏幕上的像素點(diǎn)是一一對(duì)應(yīng)的關(guān)系。只要把數(shù)據(jù)送到顯存對(duì)應(yīng)的地址上,就會(huì)按顯存的地址顯示到屏幕上。我們主要使用OLED顯示出來(lái)心率的值,同時(shí)也能給出一些小的建議,也能顯示應(yīng)用端發(fā)送的數(shù)據(jù)。
2.3 心率檢測(cè)模塊
Pulsesensor心率模塊傳感器比較方便使用,三個(gè)引腳,分別是VCC、GND和ADC,模塊通過(guò)電路獲取心電信號(hào),并利用硬件電路對(duì)信號(hào)進(jìn)行濾波,單片機(jī)可以直接通過(guò)AD轉(zhuǎn)換采集心率數(shù)據(jù)。它使用了光電容積脈搏波描記法(PPG)測(cè)量心率,這種技術(shù)聽(tīng)起來(lái)十分的高級(jí),其實(shí)原理非常簡(jiǎn)單,通常情況下是用一個(gè)光源對(duì)人體組織進(jìn)行照射,人體組織由于血管搏動(dòng)時(shí)透光率發(fā)生變化,所以人體組織反射過(guò)來(lái)的光也隨之發(fā)生變化,通過(guò)采集反射光的變化,將之轉(zhuǎn)化為電信號(hào)采集起來(lái),再通過(guò)濾波計(jì)算就能得到心率。這里使用了雙重濾波,模塊本來(lái)就有濾波電路,在STM32的程序中我們對(duì)數(shù)據(jù)進(jìn)行再次濾波,使檢測(cè)到波形更加準(zhǔn)確,所獲取的心率值更加準(zhǔn)確。
2.4 打印機(jī)
熱敏打印機(jī)體積小、速度快、噪聲小、成本低、打印清晰而且使用方便。熱敏打印技術(shù)最早使用在傳真機(jī)上,它的基本原理是把打印機(jī)接收到的數(shù)據(jù)轉(zhuǎn)換成點(diǎn)陣信號(hào)形式,進(jìn)而控制器控制熱敏元的加熱,然后把熱敏紙上的熱敏圖層加熱顯示。熱敏打印機(jī)需使用專(zhuān)用的熱敏紙,熱敏紙上涂有一層遇熱就就會(huì)產(chǎn)生化學(xué)反應(yīng)而變色的圖層,利用這種特性,誕生了熱敏打印技術(shù)。
嵌入式微型打印機(jī)單元一行有 384 個(gè)加熱點(diǎn),打印機(jī)內(nèi)置字庫(kù),漢字字庫(kù)大小為 24*24,所以一行可以打印 384/24=16 個(gè)漢字字符。英文字庫(kù)大小為12*24,所以一行可以打印 36 個(gè)英文字符。如果發(fā)送的數(shù)據(jù)大于 16 個(gè)漢字字符或者 32 個(gè)漢字字符,打印機(jī)會(huì)自動(dòng)打印出這一行出來(lái),如果低于 16 個(gè)中文字符或者 32 個(gè)英文字符,打印機(jī)不會(huì)打印出來(lái),需要多發(fā)送十六進(jìn)制數(shù) 0D 0A,具體需要看指令集。打印機(jī)和主控板之間通過(guò)串口通信,通過(guò)指令設(shè)置好之后,可以直接發(fā)送串口數(shù)據(jù),打印機(jī)就會(huì)直接打印出來(lái)發(fā)送的串口數(shù)據(jù),十分方便。
使用過(guò)程中,通過(guò)以上各個(gè)模塊和主控板之間的制作,我們會(huì)把心率數(shù)據(jù)上傳到云平臺(tái),并且顯示在手機(jī)端或者電腦端,同時(shí)數(shù)據(jù)也顯示到OLED屏幕上,打印機(jī)打印出心率值并給出相應(yīng)的意見(jiàn)。
3 軟件設(shè)計(jì)
在Onenet平臺(tái)上編輯出網(wǎng)頁(yè)端應(yīng)用和手機(jī)端應(yīng)用。通過(guò)Onenet云平臺(tái), 實(shí)現(xiàn)心率的數(shù)據(jù)上傳。
3.1 Onenet云平臺(tái)
OneNET是由中國(guó)移動(dòng)打造的PaaS物聯(lián)網(wǎng)開(kāi)放平臺(tái)。平臺(tái)能夠幫助開(kāi)發(fā)者輕松實(shí)現(xiàn)設(shè)備接入與設(shè)備連接,快速完成產(chǎn)品開(kāi)發(fā)部署,為智能硬件、智能家居產(chǎn)品提供完善的物聯(lián)網(wǎng)解決方案。我們與Onenet對(duì)接使用ESP8266的SDK二次開(kāi)發(fā),直接連接WIFI并進(jìn)行協(xié)議的處理。我們可以綁定郵箱,使心率數(shù)據(jù)處于危險(xiǎn)狀態(tài)時(shí),Onenet平臺(tái)直接發(fā)送郵件給用戶(hù)。
3.2 PC端界面
我們的界面十分簡(jiǎn)潔,只有一個(gè)曲線(xiàn)表和命令框,當(dāng)使用完該設(shè)計(jì)后,能夠在得到心率值后立刻上傳數(shù)據(jù),并顯示在界面曲線(xiàn)表里,十分明了的顯示出心率在不同時(shí)間的起伏變化。而且我們可以通過(guò)命令框發(fā)送特定的短消息給設(shè)備,并顯示在OLED顯示屏上,用于提醒老人們測(cè)量心率。其界面如圖4所示。
3.3 手機(jī)端界面
手機(jī)端基本與PC端一致,其界面如圖5所示。我們可以在Onenet平臺(tái)直接編輯我們的手機(jī)端和PC端應(yīng)用。進(jìn)入編輯頁(yè)面之后可以拖拽我們所需要的元素,基本元素有文本、折線(xiàn)圖、柱狀圖、圖片、鏈接、地圖、儀表盤(pán),控制元素有旋鈕、開(kāi)關(guān)、命令框,這里我們選擇了能夠體現(xiàn)心率變化的折線(xiàn)圖以及能發(fā)送命令的命令框,然后編輯屬性,選擇我們的設(shè)備和數(shù)據(jù)流,也可以編輯折線(xiàn)圖的刷新頻率、顏色、時(shí)間樣式等,編輯之后就可以保存了。
3.4 郵件提醒
該系統(tǒng)也可以綁定郵箱,當(dāng)心率值處于危險(xiǎn)值時(shí),云平臺(tái)會(huì)給綁定郵箱發(fā)送郵件,使一些在外的兒女也能了解到家中父母的心率狀況。比如正常人心率在70-70~100次/min,當(dāng)心率不是在這個(gè)范圍內(nèi)就可能使危險(xiǎn)狀態(tài),此時(shí)Onenet云平臺(tái)就會(huì)接收到數(shù)據(jù),判斷后便會(huì)發(fā)送郵件到綁定郵箱。如圖6所示,當(dāng)數(shù)值大于100時(shí),就會(huì)發(fā)送郵件提醒。
4 設(shè)計(jì)的實(shí)物圖
該設(shè)計(jì)的實(shí)物圖如下圖所示
5 設(shè)計(jì)中的創(chuàng)新點(diǎn)
從心率檢測(cè)的設(shè)計(jì)角度,本設(shè)計(jì)在以往的設(shè)計(jì)基礎(chǔ)上加入了許多創(chuàng)新點(diǎn)和設(shè)計(jì)元素:
? 測(cè)量結(jié)果可以多端顯示,OLED顯示屏、打印機(jī)打印、PC端顯示、手機(jī)端顯示,使用者本人可以很明了的看到測(cè)量結(jié)果,在外的兒女也可以看到自己父母的身體狀況;
? 子女可以在手機(jī)端或電腦端對(duì)父母進(jìn)行提醒,以防老人忘記測(cè)量心率;
? 打印機(jī)打印心率結(jié)果,并給出相應(yīng)的建議,建議其飲食和鍛煉。老人們可以存著結(jié)果小票,然后通過(guò)對(duì)自己不同時(shí)間的心率變化來(lái)進(jìn)行調(diào)節(jié)自己的飲食和鍛煉。
習(xí)近平主席強(qiáng)調(diào):發(fā)展是第一要?jiǎng)?wù),人才是第一資源,創(chuàng)新是第一動(dòng)力。創(chuàng)新就是為了更好的服務(wù)人類(lèi)的生活,為人們生活帶來(lái)更多的便利,也為人們的健康帶來(lái)更多幫助。智能健康管家的創(chuàng)新點(diǎn)就是為了讓在外的子女能多多了解老人們?cè)诩业慕】登闆r,也是為了避免心率疾病突發(fā)所帶來(lái)的不必要的傷亡。
6 結(jié)論
現(xiàn)在市場(chǎng)上有不少的心率檢測(cè)儀器,現(xiàn)在的手機(jī)和手環(huán)也有很多都支持心率檢測(cè),但這些對(duì)于空巢老人來(lái)說(shuō)并不是很實(shí)用,市場(chǎng)上很少有一款真正的為空巢老人所設(shè)計(jì)的物聯(lián)網(wǎng)智能化心率測(cè)量?jī)x,因此,本文中的智能健康管家在很多方面針對(duì)空巢老人做出的設(shè)計(jì),就是為了能夠更好的服務(wù)老人,同時(shí)也是服務(wù)在外的年輕人,讓這些年輕人能夠放心的在外打拼。產(chǎn)品的設(shè)計(jì)就是為了讓科技融入到社會(huì)的各個(gè)人群,不僅僅讓年輕人享受到科技的服務(wù),也讓老人們享受到科技帶來(lái)的便利。
參考文獻(xiàn)
[1] 王剛,張保威,李詩(shī)然,楊可標(biāo),李登峰.基于STM32的微型熱敏打印機(jī)的設(shè)計(jì)和實(shí)現(xiàn)[J].工業(yè)儀表與自動(dòng)化裝置,2016(04):113-116.
[2] 劉正翔.基于STM32的OLED顯示屏接口設(shè)計(jì)[J].電子技術(shù)與軟件工程,2017(19):65.
[3] 汪楠,莫德清,韓劍.基于OneNET云平臺(tái)的pH在線(xiàn)檢測(cè)儀[J].桂林電子科技大學(xué)學(xué)報(bào),2018,38(02):139-143.
[4] 陳星星,梁雨,穆真,王晶.基于STM32的生理信號(hào)數(shù)字濾波器設(shè)計(jì)[J].電子技術(shù)與軟件工程,2016(21):111.
作者簡(jiǎn)介:
楊裴裴(1988-),女,碩士,主要研究方向:教育技術(shù)理論研究、多媒體技術(shù)
李勝嵐(1988-),女,碩士,主要研究方向:無(wú)線(xiàn)傳感器網(wǎng)絡(luò)石恒瑞,男,本科,主要研究方向:物聯(lián)網(wǎng)
本文來(lái)源于科技期刊《電子產(chǎn)品世界》2019年第8期第60頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處
評(píng)論