基于藍牙和wifi的生理數(shù)據(jù)采集設計與實現(xiàn)本科畢業(yè)論文_第1頁
基于藍牙和wifi的生理數(shù)據(jù)采集設計與實現(xiàn)本科畢業(yè)論文_第2頁
基于藍牙和wifi的生理數(shù)據(jù)采集設計與實現(xiàn)本科畢業(yè)論文_第3頁
基于藍牙和wifi的生理數(shù)據(jù)采集設計與實現(xiàn)本科畢業(yè)論文_第4頁
基于藍牙和wifi的生理數(shù)據(jù)采集設計與實現(xiàn)本科畢業(yè)論文_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、 . . . 本科畢業(yè)論文(設計)基于Bluetooth和Wi-Fi生理數(shù)據(jù)采集的設計實現(xiàn)20 / 28畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作與取得的成果。盡我所知,除文中特別加以標注和致的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得與其它教育機構(gòu)的學位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了意。作 者 簽 名:日 期:指導教師簽名: 日期:使用授權(quán)說明本人完全了解大學關于收集、保存、使用畢業(yè)設計(論文)的規(guī)定,即:按照學

2、校要求提交畢業(yè)設計(論文)的印刷本和電子版本;學校有權(quán)保存畢業(yè)設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉咳?。作者簽名: 日 期:學位論文原創(chuàng)性聲明本人重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期: 年 月 日學位論文使用授權(quán)書本學位論文作者完全

3、了解學校有關保留、使用學位論文的規(guī)定,同意學校保留并向國家有關部門或機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學可以將本學位論文的全部或部分容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。涉密論文按學校規(guī)定處理。作者簽名:日期: 年 月 日導師簽名: 日期: 年 月 日注意事項1.設計(論文)的容包括:1)封面(按教務處制定的標準封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關鍵詞4)外文摘要、關鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻8)致9)附錄(對論文支持必要時)2.論文字數(shù)

4、要求:理工類設計(論文)正文字數(shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于1.2萬字。3.附件包括:任務書、開題報告、外文譯文、譯文原文(復印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體與大小符合要求,無錯別字,不準請他人代寫2)工程設計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應符合國家技術標準規(guī)。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應繪制于無格子的頁面上5)軟件工程類課題應有程序清單,并提供電子文檔5.裝訂順序1)設計(論文)2)附件:按

5、照任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂基于Bluetooth和Wi-Fi生理數(shù)據(jù)采集的設計實現(xiàn)摘要 本論文來源于國家級大學生創(chuàng)新計劃基于MIF的遠程空巢老人服務機器人研究課題,項目編號為5。項目旨在于設計一個專門服務于空巢老人的移動機器人。該機器人基于多傳感器信息融合技術,以移動機器人為平臺,將智能衛(wèi)生打掃服務與監(jiān)測、記錄、整理老人生理指標,監(jiān)護老人生活狀況等功能結(jié)合在一起。項目實現(xiàn)了幫助空巢老人打掃房間的同時,利用可穿戴設備采集老人生理數(shù)據(jù),并發(fā)送到遠程子女客戶端,為子女提供老人各項生理指標。子女客戶端將監(jiān)測到的老人生理指標進行統(tǒng)計歸檔,實現(xiàn)對老人生理健康的分析、預測。與此

6、同時,利用攝像設備對老人生活狀況進行實時監(jiān)測,并在異常狀況下自動報警,為老人在家中提供安全保障。該項目在為空巢老人的日常生活提供了方便的同時也解決了子女身處異地無法監(jiān)護老人的難題。本論文主要利用可穿戴設備采集生理數(shù)據(jù),并依托移動機器人平臺將數(shù)據(jù)發(fā)送到遠程子女客戶端以備統(tǒng)計歸檔。首先是利用心電采集模塊采集心率數(shù)據(jù),然后將數(shù)據(jù)通過藍牙主從模塊搭建的無線串口通路發(fā)送到移動機器人本體上,之后在ARM9處理器對心率數(shù)據(jù)進行簡單的處理。完成以上步驟后,通過網(wǎng)絡編程將心率數(shù)據(jù)發(fā)送到遠程子女客戶端。本項目用到的核心技術包括嵌入式系統(tǒng)設計與框架的搭建、設備驅(qū)動分析與移植、藍牙通信技術、藍牙模塊配置和連接、網(wǎng)絡編

7、程、串口通信技術等。本論文利用所設計的機器人設備進行實際實驗。對藍牙主從模塊進行配對,在移動機器人處理器上通過串口通信技術收集數(shù)據(jù),在將數(shù)據(jù)發(fā)送到遠程子女客戶端。系統(tǒng)已能完成其預定功能。能夠順利的完成藍牙主從模塊的配對,通過串口進行數(shù)據(jù)的收集心電數(shù)據(jù),利用socket通信技術將心率數(shù)據(jù)發(fā)送到遠程客戶端。實驗過程與結(jié)果詳見第四章。關鍵詞藍牙通信 ARM9處理器 心率數(shù)據(jù) 網(wǎng)絡編程Bluetooth and Wi-Fi based on Physiological Data collection through Intelligent RobotAuthor:ChangWeijian Tutor:

8、HeLiqiangAbstract This topic is derived from the national college students' innovative project "Remote empty-nesters service robot based on MIF ", the number of which is 5. This project aims to design a special mobile robot to serve the empty-nesters. The robot based on multi-sensor in

9、formation fusion technology takes mobile robot as the platform,makes the intelligent cleaning service and monitoring, recording, sorting out the old mans physiological data, and monitoring the old mans live together. The project not only helps empty-nesters clean the room, but also uses the wearable

10、 device to collect physiological dataand send the data to remote children, which providesthe elders physiological data for children. Children client can record and archive the elders physiological datadetected so as to analyze and predict their health. At the same time,video equipment on the robot c

11、an monitorthe elderlys living conditions in real time, and alarmautomatically if it detects abnormal situations, which provides security for the elderly at home. The project servingfor the empty-nest old men's daily life not only provides convenience but also solves the problem that children in

12、remote cannot take care of their parents.This paper mainly uses the wearable device to collectphysiological data, and sends thedata to the remote children client for statistics and archiving, which is based on the mobile robot platform. First of all, we use ECG data acquisition module to collect the

13、 heart rate, and then send the datato the mobile robot ontology via wireless serial port access constructed by Bluetooth master-slave module, after that,ARM9 processor processes the heart rate data simply. After completing the above steps, heart rate data is sent to the remote childrenclient by the

14、network programming. The coretechnology of this projectincludes design and construction of embedded system, analysis and transplantation of the device driver,Bluetooth communication technology,configuration and connection of Bluetooth module, network programming, A serial port communication technolo

15、gy and so on.This paper made an experiment on the designed robot equipment. We match the Bluetooth master module with the slave one and collect data on mobile robot processor via a serial port communication technology. The system can complete its intended function. And successfully complete pairing

16、Bluetooth master-slave module and collect ECG data through a serial port. Then the system sent heart rate data to the remote client using socket technology. Experiment process and results can be found in chapter 4.Keywords:Bluetoothcommunication,ARM9,Heart rate data,NetworkProgramming目錄第一章緒論11.1論文選題

17、背景11.2國外發(fā)展現(xiàn)狀11.3論文主要研究容21.4本章小結(jié)2第二章系統(tǒng)總體結(jié)構(gòu)與硬件設計與實現(xiàn)32.1 系統(tǒng)分析設計32.2硬件選型42.2.1心電模塊的選擇42.2.2藍牙通信模塊的選擇52.2.3無線網(wǎng)卡選型52.2.4移動機器人選型62.3 硬件實現(xiàn)72.3.1藍牙模塊連接72.3.2無線網(wǎng)卡連接82.4 本章小結(jié)9第三章系統(tǒng)軟件設計與實現(xiàn)103.1藍牙模塊通信設置103.1.1連接測試103.1.2設置藍牙模塊名稱113.1.3修改波特率113.1.4設置主從模式123.1.5主從模式配對143.2 串口通信143.2.1交叉編譯簡介143.2.2 串口接收數(shù)據(jù)143.3 網(wǎng)絡編程

18、153.4 本章小結(jié)17第四章測試實驗與分析184.1 測試實驗184.2 分析194.3 本章小結(jié)19總結(jié)20致21參考文獻22第一章 緒論1.1論文選題背景近些年,隨著我國經(jīng)濟實力的提高,越來越多的年輕人選擇出國深造,去外地就業(yè),或是由于其他原因促成了空巢家庭的迅速增多。這使越來越多的老人孤單獨處,無依無靠。而且我國已經(jīng)開始進入人口老齡化迅速發(fā)展的階段。根據(jù)相關單位調(diào)查數(shù)據(jù)顯示,2011年末,我國超過60歲的老人有1.85億,到了2013年人數(shù)會超過2億并且還會持續(xù)增長,直到2050年我國60歲以上老人數(shù)會達到最高值4.83億1。因此對于我國這樣一個人口老齡化嚴重的大國,老年人的贍養(yǎng)監(jiān)護工

19、作顯得尤為繁重。于此同時,老人因為年齡偏大,一個人做家務時多有不便。又由于無法與時的與子女溝通,所以倍感孤獨。這些使他們的身體狀況和心里狀況都存在著一系列的問題。并且,由于遠處子女無法了解家中老人的身體狀況,當老人身體突發(fā)意外時,子女無法與時知曉并采取措施。1.2國外發(fā)展現(xiàn)狀隨著科學技術的日新月異,機器人的研究技術越發(fā)走向成熟。世界上有許多公司對機器人已有很深入的研究。取得較大成就的當屬日本本田公司,該公司在2012年研制成功了一款仿人機器人,名字叫做ASIMO,該機器人是到目前為止世界上最先進的仿人行走機器人2。其他一些公司像法國的Aldebaran Robotics公司、日本的索尼公司等也

20、在機器人研究方面有較深的研究。Aldebaran Robotics 公司的NAO不僅外形可愛,而且具有一定的人類情感,能夠完成與人的一些簡單的交流互動3。各公司在追求高端的同時卻忽略了其實用性,服務于日常生活的機器人的種類目前還較為單一。在國,各研究機構(gòu)對機器人的研究也在日益走向成熟。在追求高端的同時似乎更加注重了實用性的特點。典型的有服務于餐廳的服務員機器人、刀削面機器人等。中國曾經(jīng)研制出能夠進行安保的機器人。這款機器人具有自行行走和自主避障等一系列功能,并能夠進行對環(huán)境的安保報警工作。類似的機器人工業(yè)大學也開發(fā)了一個。該機器人服務于家庭中,可對家中情況進行巡視,當發(fā)現(xiàn)有異常變化時會通知主人

21、,并啟動報警功能4。目前,國外設計開發(fā)服務于日常生活的機器人主要有以下幾種,其中包括清潔機器人、娛樂機器人、安防機器人等。而專為老人服務的機器人還沒有出現(xiàn)在市場上。1.3論文主要研究容根據(jù)研究背景以與國外現(xiàn)狀,人們更加迫切需要一種專門服務于空巢老人的機器人,在減輕子女負擔的同時,幫助子女了解老人的身體狀況。本論文主要研究機器人如何采集老人生理數(shù)據(jù),并將數(shù)據(jù)發(fā)送到遠程子女客戶端。為此本文就以下的幾個方面容進行了研究:(1)心率采集模塊;(2)藍牙通信模塊;(3)設備驅(qū)動分析與移植;(4)Linux系統(tǒng)下網(wǎng)絡編程;系統(tǒng)需要完成以下幾方面工作:(1)設計藍牙接口通信電路,將兩個藍牙通信模塊分別連接到

22、心率采集模塊和移動機器人本體上(ARM處理器)。完成藍牙主從模塊配對連接等工作。(2)搭建交叉編譯環(huán)境,在機器人本體上(ARM處理器)使用串口通信方式,編寫串口通信程序收集心率數(shù)據(jù)并進行簡單的處理。(3)完成網(wǎng)卡驅(qū)動由PC機到ARM處理器的移植,實現(xiàn)處理器的無線網(wǎng)絡通信。將心率數(shù)據(jù)通過網(wǎng)絡編程發(fā)送到遠程客戶端。1.4本章小結(jié)本章主要說明本課題研究背景和國外現(xiàn)狀,并依據(jù)以上兩點確定立項原因。于此同時,簡要說明本文研究的容以與將要開展的幾方面工作。使讀者了解本文的研究容和系統(tǒng)實現(xiàn)的功能。第二章 系統(tǒng)總體結(jié)構(gòu)與硬件設計與實現(xiàn)2.1 系統(tǒng)分析設計移動機器人日常主要工作是打掃房間,工作區(qū)域十分固定,老人

23、與移動機器人的距離通常保持在一定的圍。與此同時,手環(huán)與移動機器人是分離的。為此本系統(tǒng)在手環(huán)與移動機器人之間通信設計上優(yōu)先選擇近距離無線通信技術。近些年,由于通信與信息技術的日新月異,各種以無線方式進行通信的技術得到廣泛的應用,并且已十分成熟。如今應用較為廣泛的近距離無線通信技術有藍牙技術、Wi-Fi、IrDA技術、ZigBee技術等。各種近距離無線通信技術都有其自己的特點。有些技術適合對功能進行擴充,而有些因滿足特定應用得名,還有傳輸?shù)乃俣?、傳輸距離、功耗等各自的不同。在各種通信技術中,藍牙技術被廣泛應用于各種設備之間,并且技術成熟。它的通信圍在10m,并且能夠達到1Mbps傳輸速率,傳輸效率

24、高,穩(wěn)定性強。所以,本系統(tǒng)選用藍牙技術進行移動機器人與心電手環(huán)之間的通信。移動機器人需要將老人心率數(shù)據(jù)發(fā)送到子女客戶端,因為子女通常不在家中,所以子女客戶端要接收到心率數(shù)據(jù)需要網(wǎng)絡通信。移動機器人日常工作是打掃房間,不能固定在一個位置,將機器人與有線網(wǎng)絡進行連接顯然是不合理的。因此,需通過無線網(wǎng)絡通信將心率數(shù)據(jù)發(fā)送到子女客戶端。圖2-1系統(tǒng)總體框圖 Figure 2-1 system overall block 通過以上分析,可以設計出系統(tǒng)的總體框圖:由圖可知,本系統(tǒng)工作流程可分為兩個階段,第一階段是心電模塊采集老人心率數(shù)據(jù)。藍牙從模塊將數(shù)據(jù)發(fā)送到移動機器人藍牙主模塊上。第二階段是藍牙主模塊接

25、收心率數(shù)據(jù),并在移動機器人的ARM9處理器上對數(shù)據(jù)簡單處理。然后將心率數(shù)據(jù)利用無線網(wǎng)絡發(fā)送到遠程客戶端5。2.2硬件選型2.2.1心電模塊的選擇由于考慮到心電模塊要穿戴到空巢老人手腕上。所以,心電模塊選型上要在保證心電信號穩(wěn)定性的前提下適合穿戴。心電模塊選擇了STM32F103C8T6微處理器為核,STM32是ST公司推出的基于ARM-Cortex-M3核的32位單片機。該單片機計算處理數(shù)據(jù)能力比8位和16位單片機強很多,并且處理代碼效率更高。在功耗方面,該單片機具有三種模式相互切換,可以使功耗達到最低。由于心電模塊要安放在可穿戴手環(huán)上,所以對功耗方面要求盡可能最低。而該單片機剛好滿足可穿戴設

26、備對功耗方面的要求。心電采集模塊選用的是AD8232芯片,該芯片主要用于ECG和一些生物電的測量。因為該芯片本身集成了一些先進設備,可以自動濾去噪聲或是放大微弱的生物電信號,所以對其采集數(shù)據(jù)的準確性能夠得到一定的保證。與此同時,該設計可以讓單片機輕松的采集到輸出的信號,這使得選用的處理器與其更好的配合。完整的心電模塊圖如圖3-1心電模塊圖。圖 2-1 心電模塊圖Figure 2-1 ECG module chart2.2.2藍牙通信模塊的選擇將心率數(shù)據(jù)以無線傳輸方式發(fā)送到機器人本體上的關鍵在于實現(xiàn)藍牙模塊之間的數(shù)據(jù)通信。藍牙模塊的性能決定了傳輸數(shù)據(jù)的穩(wěn)定性、傳輸速率、效率與功耗等。藍牙模塊需要

27、主從模塊兩個,需要設置波特率、主從模式等相應參數(shù)。設置完成后,主模塊能夠搜索到從模塊并完成配對。藍牙模塊的選擇是十分重要的。本項目選擇BLK-MD-BC04-B藍牙模塊為主模塊作為其解決方案。該模塊使用的芯片是英國CSR公司的BlueCore4-Ext。該芯片遵循V2.1+EDR藍牙規(guī),支持各種常用接口。該模塊除了具有研發(fā)成本低、體積小巧的特點外,模塊的功耗也很低并且收發(fā)十分靈敏。與此同時,該模塊采用主從一體式設計且支持軟硬件控制主從模式轉(zhuǎn)換,支持連接7個藍牙從設備。利用藍牙模塊的AT指令集可以方便地對藍牙模塊進行配置和查詢。選用HM-06模塊作為從模塊。HM系列藍牙模塊采用CSR Blue

28、Core、TI CC2540芯片,配置256Kb、6-8Mbit的軟件存儲空間,支持AT指令,用戶可根據(jù)需要更改SPP角色(主、從模式)以與串口波特率、設備名稱、配對密碼等參數(shù),使用靈活。該模塊設計時為了滿足于袖珍設備的使用,封裝盡可能達到最小, 圖2-2 藍牙主從模塊圖Figure 2-2 Bluetooth master-slave module只有13.5mm*18.5mm*2.3mm大小,滿足心電手環(huán)對體積的要求。2.2.3無線網(wǎng)卡選型為實現(xiàn)無線網(wǎng)絡接口,本文選用TP-LINK公司的TL-WN823N無線網(wǎng)卡作為解決方案。該網(wǎng)卡遵循IEEE 802.11b、IEEE 802.11g以與

29、IEEE 802.11n標準,其傳輸速率最高可達300Mbps(IEEE 802.11n標準下)且體積小巧非常便于安裝。2.2.4移動機器人選型由于移動機器人選型與結(jié)構(gòu)復雜,并且不是本論文研究重點,所以在此僅對其作簡要介紹。圖2-4移動機器人圖Figure 2-4 mobile robot本文采用Friendly ARM公司的micro2440開發(fā)板為信息處理模塊的實現(xiàn)硬件。Micro2440采用核心板+擴展底板的設計結(jié)構(gòu),其核心板其實是一個最小系統(tǒng)板,采用六層PCB板設計,利用等長布線的方式滿足信號的完整性需求,保證了信息處理時的穩(wěn)定性。采用Samsung S3C2440A為處理核

30、心,默認主頻為400MHz,最高可達到533MHz,能夠滿足機器人平臺對計算能力的要求。板載64M SDRAM,時鐘頻率可達100MHz并擁有1G NAND FLASH用以滿足機器人平臺對存儲空間的需求。此外,核心板還引出56Pin作為GPIO接口并提50PinLCD/CAMERA接口與56Pin的系統(tǒng)總線接口,為我們對外進行擴展提供了充足的空間5。圖2-3 micro2440開發(fā)板圖Figure 2-3 micro2440 development board 2.3 硬件實現(xiàn)2.3.1藍牙模塊連接 圖2-5藍牙模塊連接圖Figure 2-5 Bluetooth

31、module connection 藍牙主模塊用于接收從模塊發(fā)送的數(shù)據(jù),連接在micro2440開發(fā)板的串口3上,該串口輸出TTL信號。藍牙模塊有VCC、RXD、TXD、GND、SET、3V六個引腳。VCC為電源引腳,工作電壓為5V。RXD與TXD分別為接收數(shù)據(jù)和傳送數(shù)據(jù)引腳。GND為地線引腳。SET可作為硬件主從設置口,SET引腳接3.3V電壓時模塊為主模塊,懸空或接GND模塊為從模塊。將開發(fā)板VCC RXD TXD GND與藍牙模塊的VCC、TXD、RXD、GND引腳對應連接,注意輸入輸出需要反接。具體連線方式如圖2-5藍牙模塊連接圖。2.3.2無線網(wǎng)卡連接由于S3C2440上已經(jīng)安裝了操

32、作系統(tǒng),這為我們使用TL-WN823N提供了便利,但TP-LINK公司并沒有提供該款網(wǎng)卡在Linux系統(tǒng)下的驅(qū)動程序,要想順利使用該網(wǎng)卡必須首先解決驅(qū)動問題。圖2-6網(wǎng)卡圖Figure 2-6 wireless adapter下面對其驅(qū)動移植過程進行簡要說明,首先掛載該網(wǎng)卡,利用系統(tǒng)返回信息查看其USB ID:0bda 8178ID,搜索該ID對應的芯片組:REALTEK公司的RTL8192CU芯片,下載該型號的芯片驅(qū)動對其程序進行修改使其適應本操作系統(tǒng),修改其Make file文件并指定目標系統(tǒng)的硬件構(gòu)架、系統(tǒng)核、編譯工具鏈等6。由于驅(qū)動的編譯需要交叉編譯工具鏈和經(jīng)過編譯的目標板操作系統(tǒng)的源

33、碼,所以我們要構(gòu)建這兩方面的編譯環(huán)境,這部分工作繁瑣復雜又不在本文的重點討論圍因而具體步驟不再贅述。本文最終構(gòu)建的交叉編譯工具鏈版本為4.3.2,移植、剪裁、編譯的目標板操作系統(tǒng)核版本為2.6.32.2,在以上工作全部完成后,對網(wǎng)卡芯片的驅(qū)動程序進行編譯,最終獲得驅(qū)動文件,加載驅(qū)動文件,驅(qū)動無線網(wǎng)卡正常工作同時禁用板載有線網(wǎng)卡避免沖突,再經(jīng)過簡單的配置,無線網(wǎng)絡接口搭建完成。2.4 本章小結(jié)本章主要講述本系統(tǒng)旨在服務于空巢老人這一目的,并以此對系統(tǒng)實現(xiàn)需要使用的主要技術選擇上進行了分析;對系統(tǒng)總體設計思想進行了描述,并根據(jù)系統(tǒng)設計思想設計出系統(tǒng)的總體框圖,為后續(xù)詳細設計打下基礎。依據(jù)系統(tǒng)總體設

34、計思想,根系統(tǒng)性能以與適應性綜合考慮對各個模塊進行了選型。并且從硬件方面對系統(tǒng)進行了總體設計,完成了硬件系統(tǒng)的搭建工作,為系統(tǒng)軟件的實現(xiàn)打下良好的基礎。第三章 系統(tǒng)軟件設計與實現(xiàn)3.1藍牙模塊通信設置3.1.1連接測試圖3-1串口通信確認圖Figure 3-1 serial communication confirm藍牙通信模塊連接好以后可以通過發(fā)送AT指令測試模塊是否連接正確,能否正常通信,以與設置主從模塊、波特率、以與查詢模塊名稱等??梢酝ㄟ^PC機串口和BC04-B藍牙模塊進行通信。串口缺省波特率為9600bps。打開串口調(diào)試助手,選擇相應的串口號,設置波特率為9600bps,校驗位為無校

35、驗位,停止位為1位。用杜邦線將模塊與PC機串口對應連接,串口調(diào)試助手接收緩沖區(qū)沒有任何反應,此時在將RXD與TXD引腳反接,連接正確,串口將會收到一串信息,SLAVE表示模塊當前處于從模塊。如圖3-1串口通信確認圖。確認正常工作狀態(tài)后,此時在對話框輸入AT指令,并敲擊回車換行鍵,確定光標在下一行,點發(fā)送數(shù)據(jù)會返回OK值。3.1.2設置藍牙模塊名稱圖3-2設置藍牙名稱圖Figure 3-2 set Bluetooth name在發(fā)送緩沖區(qū)輸入“AT+NAME”,點擊發(fā)送數(shù)據(jù),接收緩沖區(qū)顯示“+NAME=BOLUTEK”也可發(fā)送“AT+NAME<Paral>”,<Paral>

36、;為修改的名稱。返回“OK”表示修改成功。具體查詢修改的實現(xiàn)如圖3-2圖。3.1.3修改波特率輸入“AT+BAUD8”,點擊發(fā)送數(shù)據(jù),8對應波特率值為115200bps。關于波特率為何設置為115200bps將在后文為讀者介紹。返回“+BAUD=8 OK”表示設置成功,設置成功后重新進行與的串口連接,將波特率調(diào)至115200bps,校驗位、停止位等設置保持不變。連接成功,串口將會收到一串信息,輸入“AT”,返回“OK”值。設置成功后如圖3-3 波特率設置圖。圖3-3波特率設置圖Figure 3-3 baud rate set figure3.1.4設置主從模式BLK-MD-BC04-B藍牙模塊

37、采用主從一體式設計且支持軟硬件控制主從模式轉(zhuǎn)換,現(xiàn)需要通過AT指令將其設置為主模式。輸入“AT+ROLE”查詢當前模式,返回“ROLE=0”表示當前模式為從模式,也可根據(jù)模塊上LED等閃爍方式確定藍牙模塊狀態(tài),LED燈均勻慢速閃爍表示當前模式為從模式。LED燈閃爍方式對應于藍牙模塊相應的狀態(tài)與模式見表9.1 狀態(tài)對應表 。將其設置為主模式,在發(fā)送緩沖區(qū)輸入“AT+ROLE1”,點擊發(fā)送數(shù)據(jù),返回“+ROLE1 OK”表示設置成功。設置如圖3-4圖。此時,通過模塊的LED燈也可直觀的看到主模式以設置成功,模塊LED均勻快速閃爍。圖3-4設置主模式圖Figure 3-4 set the main

38、pattern藍牙模塊設置成功后,主從模塊LED燈長亮,見圖3-5連接成功圖。主模塊能夠主動搜索并發(fā)起連接,但是不能被其他藍牙設備搜索到;從設備只能被搜索到,只能被動連接而不能主動搜索。圖3-5連接成功圖Figure 3-5 successful connection3.1.5主從模式配對以上步驟為對藍牙模塊設置步驟。設置結(jié)束后便可將模塊重新連接到相應的位置。重新打開開關,主設備自動搜索從設備并建立連接,藍牙透傳模塊為心電手環(huán)與移動機器人搭建起了無線傳輸通道,傳輸通過無線串口進行。3.2 串口通信3.2.1交叉編譯簡介交叉編譯部分知識不在本論文詳細研究的圍,所以在此只對其做一些簡要介紹。mic

39、ro2440開發(fā)板上帶有Linux系統(tǒng),不能像在PC機上一樣運行編寫的程序,需要建立交叉編譯工具鏈。本文選擇在虛擬機上機上安裝Fedora9.0系統(tǒng)作為其解決方案。具體安裝過程不在詳述。Fedora9.0安裝完成后,在其中安裝交叉編譯器arm-linux-gcc-4.3.2。交叉編譯器安裝成功后,用該編譯器對程序進行編譯,生成可執(zhí)行文件,該文件便可以在帶有Linux系統(tǒng)下的micro2440開發(fā)板上執(zhí)行。3.2.2串口接收數(shù)據(jù)藍牙主從模塊配對連接后,形成無線串口通路,下面介紹串口接收心電數(shù)據(jù)具體實現(xiàn)方式與實現(xiàn)代碼。首先定義char類型指針rbuf用于接收由串口發(fā)送過來的心率數(shù)據(jù)。然后打開串口,

40、程序如下:int open_serial()fd = open("/dev/ttySAC3",O_RDWR|O_NOCTTY);perror ("open /dev/ttySAC3"); if( fd = -1) return -1;elsereturn 0;設置串口波特率為115200bps,波特率是串口通信時的速率。心電手環(huán)實時采集使用者的心率數(shù)據(jù),將波特率設置為115200bps是為了保證傳輸數(shù)據(jù)能夠與時傳到移動機器人本體上。雖然相對低波特率功耗較大,考慮到系統(tǒng)屬于醫(yī)療設備,為了保證系統(tǒng)的高效工作。設置波特率代碼如下:Cfsetispeed (&a

41、mp;opt,B115200); Cfsetospeed (&opt,B115200);在main函數(shù)中調(diào)用open_serial()函數(shù)打開串口3,定義int類型變量retv用于保存串口read()函數(shù)的返回值。read()函數(shù)是讀取串口接收到的數(shù)據(jù)函數(shù),包含3個參數(shù)。第一個參數(shù)為驗證串口是否已經(jīng)打開,當fd的值為1時表示已經(jīng)打開了。第二個參數(shù)是char類型指針,用于存放接收到的數(shù)據(jù)。第三個參數(shù)通常設置為1。rbuf= btd;re=read(fd,rbuf,1);if(re=-1)perror("read"); 串口接收數(shù)據(jù)保存到char類型數(shù)組btd中,每次接

42、收8位數(shù)據(jù),數(shù)據(jù)類型為兩個十六進制。心電數(shù)據(jù)格式為每幀有十個十六進制數(shù)據(jù),其中幀頭為EE,幀尾為FF,中間剩余六個十六進制數(shù)。這些是心率數(shù)據(jù)的有效值。接收到數(shù)據(jù)后對數(shù)據(jù)進行簡單處理,通過網(wǎng)絡編程發(fā)送到遠程客戶端,客戶端對數(shù)據(jù)進行篩選和判斷,正確識別使用者的健康狀態(tài)。同時,對使用者的基本健康狀況進行收集和建檔,產(chǎn)生一個長時間的健康監(jiān)控檔案,為使用者提供長期有效的健康指導,也為日后的醫(yī)療就診提供幫助。3.3 網(wǎng)絡編程移動機器人上arm處理器通過串口接收到心率數(shù)據(jù),需要通過無線網(wǎng)絡發(fā)送到子女客戶端。無線網(wǎng)絡硬件系統(tǒng)以與設置方式已在上一章介紹完成,下面容將詳細討論通過socket通信技術實現(xiàn)數(shù)據(jù)的傳輸

43、。ARM處理器相當于服務器端,下面詳細講解服務器端如何通過socket通信向遠程客戶端發(fā)送心率數(shù)據(jù)。第一步:初始化Socket。代碼如下:if( (socket_fd = socket(AF_INET, SOCK_STREAM, 0) = -1 ) printf("create socket error: %s(errno: %d)n",strerror(errno),errno); exit(0); Socket函數(shù)原型為int socket(int domain, int type, int protocol);它創(chuàng)建一個socket描述符,唯一標識一個socket。函

44、數(shù)有三個參數(shù)。第一個參數(shù)表示協(xié)議族,其決定了socket的地址類型,AF_INET表示使用ipv4協(xié)議地址與端口號的組合。Type指定socket通信的類型。第三個參數(shù)是用來指定協(xié)議的,當把protocol設定為0時,函數(shù)將自動匹配通信類型所對應的通信協(xié)議。第二步:設置IP和端口。服務器端自動獲取到IP地址。代碼如下:memset(&servaddr, 0, sizeof(servaddr); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = h

45、tons(DEFAULT_PORT);第三步:將具體的本地地址與socket進行綁定。代碼如下:if( bind(socket_fd, (struct sockaddr*)&servaddr, sizeof(servaddr) = -1) printf("bind socket error: %s(errno: %d)n",strerror(errno),errno); exit(0); Bind函數(shù)原型為int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);本系統(tǒng)中代碼完成的是將本

46、地地址與端口號的組合賦給socket。Bind函數(shù)有三個參數(shù)。第一個參數(shù)是通過socket函數(shù)創(chuàng)建的唯標識符,本代碼中為socket_fd。Bind函數(shù)為socket_fd綁定一個名字。第二個參數(shù)是協(xié)議地址結(jié)構(gòu)的指針。第三個參數(shù)是地址的長度。第四步:監(jiān)聽是否有客戶端連接。代碼如下:if( listen(socket_fd, 10) = -1) printf("listen socket error: %s(errno: %d)n",strerror(errno),errno); exit(0);Listen函數(shù)用來監(jiān)聽是否有客戶端發(fā)起了連接,當有客戶端通過connect函數(shù)

47、發(fā)起連接時,服務器就回接到這個請求。Listen函數(shù)原型為int listen(int sockfd, int backlog);該函數(shù)共有兩個參數(shù)。函數(shù)返回一個Int型數(shù)據(jù),返回值為1表示是已經(jīng)立連接。第一個參數(shù)表示函數(shù)要監(jiān)聽的是哪一個socket。第二個參數(shù)是設置有多少個socket可以排隊連接。本代碼中將其設為10個。Connect函數(shù)用于客戶端像服務器發(fā)起連接的,其原型為int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);第五步:接收連接請求。代碼如下: if( (connect_fd = ac

48、cept(socket_fd, (struct sockaddr*)NULL, NULL) = -1) printf("accept socket error: %s(errno: %d)",strerror(errno),errno); continue; Accept函數(shù)用于接收客戶端所發(fā)送的請求,本代碼中將返回數(shù)據(jù)保存到connect_fd中。利用accept函數(shù)建立連接后便可以進行通信。Accept函數(shù)原型為int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);有三個參數(shù)。第一個參數(shù)表示服

49、務器的socket,第二個參數(shù)表示為返回給客戶端的協(xié)議地址,而第三個參數(shù)表示協(xié)議地址的長度。Accept函數(shù)返回一個int類型的數(shù)據(jù),表示建立連接后與之連接的客戶端之間的連接。當本次通信結(jié)束了,connect_fd也會結(jié)束。第六步:發(fā)送之前通過串口接收到的由心電模塊傳過來的心率數(shù)據(jù)。代碼如下:send(connect_fd, sd, i, 0);Send函數(shù)用于將藍牙接收到的心率數(shù)據(jù)發(fā)送到客戶端,send函數(shù)有四個參數(shù),第一個參數(shù)表示建立連接的socket;第二個參數(shù)是char類型指針,用于存放發(fā)送的字符;i表示要發(fā)送字符有i個;第四個參數(shù)一般設置為0。第七部:關閉socket連接代碼如下:c

50、lose(fd);關閉socket連接后將結(jié)束本次的socket通信。3.4 本章小結(jié)本章主要研究介紹系統(tǒng)軟件設計與實現(xiàn)。藍牙串口模塊通過AT指令建立連接通路,設置主從模式、模塊名稱、傳輸波特率等,并且完成主從模塊的正確配對連接。本章簡要介紹了交叉編譯工具鏈的建立,實現(xiàn)了通過串口將藍牙從模塊傳輸?shù)男穆蕯?shù)據(jù)采集到移動機器人本體處理器上。于此同時,介紹了socket通信的原理,簡要的對socket中各函數(shù)進行了介紹,并且按照socket通信的步驟逐一分析,實現(xiàn)將心率數(shù)據(jù)發(fā)送到遠程客戶端。第四章 測試實驗與分析4.1 測試實驗系統(tǒng)整體實現(xiàn)后,需要對系統(tǒng)的功能、傳輸速度等進行測試。以便在后續(xù)對系統(tǒng)進行

51、改進。因為心電測試模塊是購買已成型設備,心電采集模塊AD8232芯片穩(wěn)定性極佳,但是對于其部精確度等的調(diào)節(jié)工作目前還無法完成。下面主要進行對藍牙模塊采集數(shù)據(jù)功能以與通過網(wǎng)絡通信將心率數(shù)據(jù)發(fā)送到遠程客戶端進行測試實驗。圖4-1數(shù)據(jù)接收圖Figure 4-1 data reception(1)將藍牙主模塊接到PC機串口上,利用串口調(diào)試助手接收心率數(shù)據(jù)。心電數(shù)據(jù)格式為每幀有十個十六進制數(shù)據(jù),其中幀頭形式為EE,幀尾形式為FF,中間六位為心率數(shù)據(jù)。串口每次接收八位數(shù)據(jù),數(shù)據(jù)類型為兩個十六進制。接收到的數(shù)據(jù)如圖5-1圖??梢钥吹綌?shù)據(jù)滿足預先的分析結(jié)果,系統(tǒng)能夠順利采集到心率數(shù)據(jù)。 (2)對ARM處理器中程序進行測試。運行程序,ARM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論