暑假期間留校與兩名隊(duì)友一起參加廣東省大學(xué)生電子設(shè)計(jì)競(jìng)賽“健康電子”主題的比賽,經(jīng)過(guò)兩個(gè)月不懈努力,功夫不負(fù)有心人,作品也獲得了廣東省一等獎(jiǎng),現(xiàn)在將作品分享出來(lái)跟大家一起交流,也希望大家能多多給出修改意見。
“孤寡老人的健康監(jiān)測(cè)儀”作品主要由一個(gè)可佩帶的手表和一個(gè)手機(jī)APP組成,另外還有一個(gè)測(cè)血壓的外接設(shè)備,手表的外殼是通過(guò)3D打印完成的。
我們的作品的想法是,孤寡老人在家里只需要帶著手表,而家人在外面通過(guò)APP就可以對(duì)老人進(jìn)行事實(shí)監(jiān)測(cè),手表對(duì)于老人來(lái)說(shuō)并不需要進(jìn)行任何操作,可以把它當(dāng)成一個(gè)正常的手表來(lái)使用。
我將把所有源碼和原理圖分享出來(lái)。
作品采用的STM32F405作為主控芯片,沒有任何外部擴(kuò)展FLASH或者SRAM
作品的功能有:
1.測(cè)心率、體溫和血壓
2.測(cè)摔倒并報(bào)警
3.鏈接WIFI
4.提醒吃藥
5.鐘表功能
6.電容觸摸,手勢(shì)滑動(dòng),手勢(shì)解鎖,翻腕解鎖等
7.體征異常報(bào)警功能
8.一鍵開關(guān)機(jī),一鍵解鎖
9.電量監(jiān)測(cè)
硬件組成:
1. 1.54寸 240*240分辨率LCD顯示屏
2. 1.54寸電容觸摸屏
3. MPU6050
4.有人網(wǎng)絡(luò)的WIFI模塊
5.MXL90615溫度傳感器
6.SON7015心率傳感器
7.TP4056電源芯片
主要軟件的內(nèi)容:
1.系統(tǒng)采用UCOS/II
2.界面使用的是EmWin
3.手機(jī)APP和服務(wù)器,使用的是JAVA編寫
總體介紹內(nèi)容介紹:整個(gè)手表端的設(shè)計(jì),為了追求手表體積的盡可能小,除了WIFI模塊外,其他地方都沒有使用任何現(xiàn)成模塊,元器件的規(guī)格也都是最小規(guī)格的,外觀是通過(guò)3D打印來(lái)弄的。一些底層程序是直接用原子哥的,上層大多數(shù)是根據(jù)在自己的需求寫的。
網(wǎng)絡(luò)部分:手表上的WIFI鏈接是使用smartlink功能,通過(guò)手機(jī)APP來(lái)進(jìn)行鏈接的,與服務(wù)器通信部分采用的websocket協(xié)議,實(shí)現(xiàn)了全雙工實(shí)時(shí)通信。服務(wù)器是買的,其中websocket協(xié)議當(dāng)時(shí)做的時(shí)候幾乎找不到有在單片機(jī)上實(shí)現(xiàn)的資料,所以都是自己一點(diǎn)一點(diǎn)試出來(lái)的。 體征測(cè)量部分:心率部分由于傳感器的問題,測(cè)量條件有點(diǎn)苛刻,干擾對(duì)其的影響較大,我們通過(guò)示波器觀察規(guī)律,編寫濾波算法將心率測(cè)量結(jié)果盡可能的穩(wěn)定。
體溫監(jiān)測(cè),數(shù)據(jù)并沒有做什么特殊處理,實(shí)際使用過(guò)程中發(fā)現(xiàn)體溫測(cè)量受環(huán)境影響較大。
血壓測(cè)量,血壓是通過(guò)一個(gè)獨(dú)立于手表之外的設(shè)備進(jìn)行測(cè)量的,設(shè)備由手表控制,并把測(cè)量數(shù)據(jù)返回到手表,由于手表上已經(jīng)有一個(gè)WIFI了,因此血壓與手表的數(shù)據(jù)傳輸直接使用了WIFI進(jìn)行傳輸。
測(cè)摔倒功能,測(cè)摔倒算法是自己編寫的,原理并不復(fù)雜,但是效果還是很不錯(cuò)的(誤判少),主要是通過(guò)監(jiān)測(cè)加速度值來(lái)判斷是否摔倒的。
體征測(cè)量中,心率和體溫是可以主動(dòng)和被動(dòng)進(jìn)行的,手邊會(huì)每過(guò)一段時(shí)間自己檢測(cè)一次,或者通過(guò)按鈕實(shí)現(xiàn)一次測(cè)量,測(cè)量會(huì)持續(xù)30s,30s內(nèi)一旦測(cè)量成功就終止測(cè)量。
屏幕和顯示:屏幕我們是在淘寶上買的1.54寸240*240分辨率的LCD屏幕,由于考慮到老人的使用問題,我們后來(lái)又找了一款1.54寸的電容觸摸屏,通過(guò)工業(yè)雙面膠將兩者貼合在一起,本來(lái)想購(gòu)買已經(jīng)貼合好的,無(wú)奈淘寶上幾乎沒人賣我們想要的。
手表主要由三個(gè)界面,1.時(shí)鐘界面 2.測(cè)量界面 3.WIFI鏈接界面
整個(gè)手表上只有一個(gè)開關(guān)機(jī)和解鎖屏的按鍵,界面內(nèi)容里也是沒有操作按鍵的,因此界面的切換就需要通過(guò)手勢(shì)來(lái)判斷,觸摸芯片是有支持手勢(shì)功能的,無(wú)奈不知道為何一直打開不了那個(gè)功能,后來(lái)沒辦法只能直接編寫算法實(shí)現(xiàn)手勢(shì)操作功能,主要的手勢(shì)功能有1.向左右切換界面 2.向上下進(jìn)行鎖屏和解鎖
界面使用的是emwin5.28版的,用的功能都是一些最基礎(chǔ)的功能。
手表還可以實(shí)現(xiàn)翻腕解鎖功能,這里是通過(guò)MPU6050解算出歐拉角實(shí)現(xiàn)的。
觸摸屏上剛好有一個(gè)小孔,我們?cè)谀抢镅b了一個(gè)光敏電阻,用來(lái)實(shí)現(xiàn)屏幕的亮度自動(dòng)調(diào)節(jié)。
報(bào)警功能:通過(guò)手機(jī)APP設(shè)置報(bào)警功能后,一旦手表判斷體征異常就會(huì)發(fā)出報(bào)警震動(dòng),當(dāng)佩戴者點(diǎn)擊確定后,手機(jī)APP端會(huì)自動(dòng)報(bào)警。為了防止誤判,體征異常是否發(fā)出報(bào)警信息這里需要點(diǎn)擊確定或者取消。當(dāng)佩戴者一定時(shí)間內(nèi)都沒有點(diǎn)擊確認(rèn)或者取消時(shí),手表會(huì)認(rèn)為佩戴者已經(jīng)無(wú)法正常操作,并自動(dòng)向APP發(fā)送報(bào)警信 息,通知手機(jī)端。
手邊還有提醒吃藥功能,使用者通過(guò)使用手機(jī)APP可以設(shè)置3個(gè)吃藥時(shí)間點(diǎn),一旦時(shí)間點(diǎn)到了之后,手表就會(huì)自動(dòng)發(fā)出吃藥提醒。
用戶管理: 手機(jī)APP通過(guò)掃描手表上的二維碼與手機(jī)進(jìn)行綁定,手機(jī)APP也需要進(jìn)行注冊(cè)才可以進(jìn)行登錄。一個(gè)手機(jī)只可以操控一個(gè)手表。 錯(cuò)誤處理:以上的功能很多都是基于網(wǎng)絡(luò)鏈接,但是網(wǎng)絡(luò)鏈接有時(shí)候并不是很穩(wěn)定的,因此我們?cè)诰帉戃浖倪^(guò)程中也著重對(duì)這一塊進(jìn)行了處理,但發(fā)生斷開連接時(shí),手表會(huì)自動(dòng)進(jìn)行重連,當(dāng)重連失敗時(shí),手邊會(huì)重啟WIFI模塊再進(jìn)行嘗試,并且提示佩戴者,當(dāng)前已經(jīng)無(wú)法連接到手機(jī)APP,通過(guò)這樣處理,盡可能的使手表 能夠正常工作,佩戴者無(wú)需過(guò)多的對(duì)手表進(jìn)行操作。
外觀:外觀我們是通過(guò)3D打印來(lái)制作的,整個(gè)外殼有一個(gè)按鈕,和兩跟充電針(手表的充電電路我們是外置的,通過(guò)接觸的方式來(lái)進(jìn)行手表充電),外觀有一個(gè)圓孔和長(zhǎng)方形孔,用來(lái)放置溫度傳感器和心率傳感器
視頻地址:
https://v.youku.com/v_show/id_XMTgxOTA3NTc3Ng==.html