第一范文网 - 专业文章范例文档资料分享平台

基于蓝牙和wifi的生理数据采集设计与实现 - 图文

来源:用户分享 时间:2025/5/28 11:12:12 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

内蒙古大学本科毕业论文(设计)

第 12 页

图3-3波特率设置图 Figure 3-3 baud rate set figure

3.1.4设置主从模式

BLK-MD-BC04-B蓝牙模块采用主从一体式设计且支持软硬件控制主从模式转换,现

需要通过AT指令将其设置为主模式。输入“AT+ROLE”查询当前模式,返回“ROLE=0”表

示当前模式为从模式,也可根据模块上LED等闪烁方式确定蓝牙模块状态,LED灯均匀慢速闪烁表示当前模式为从模式。LED灯闪烁方式对应于蓝牙模块相应的状态及模式见表9.1 状态对应表 。将其设置为主模式,在发送缓冲区输入“AT+ROLE1”,点击发送数据,返回“+ROLE1 OK”表示设置成功。设置如图3-4图。此时,通过模块的LED灯也可直观的看到主模式以设置成功,模块LED均匀快速闪烁。

内蒙古大学本科毕业论文(设计)

第 13 页

图3-4设置主模式图 Figure 3-4 set the main pattern

蓝牙模块设置成功后,主从模块LED灯长亮,见图3-5连接成功图。主模块能够主动搜索并发起连接,但是不能被其他蓝牙设备搜索到;从设备只能被搜索到,只能被动连接而不能主动搜索。

图3-5连接成功图 Figure 3-5 successful connection

内蒙古大学本科毕业论文(设计)

3.1.5主从模式配对

第 14 页

以上步骤为对蓝牙模块设置步骤。设置结束后便可将模块重新连接到相应的位置。重新打开开关,主设备自动搜索从设备并建立连接,蓝牙透传模块为心电手环与移动机器人搭建起了无线传输通道,传输通过无线串口进行。 3.2 串口通信 3.2.1交叉编译简介

交叉编译部分知识不在本论文详细研究的范围内,所以在此只对其做一些简要介绍。micro2440开发板上带有Linux系统,不能像在PC机上一样运行编写的程序,需要建立交叉编译工具链。本文选择在虚拟机上机上安装Fedora9.0系统作为其解决方案。具体安装过程不在详述。Fedora9.0安装完成后,在其中安装交叉编译器arm-linux-gcc-4.3.2。交叉编译器安装成功后,用该编译器对程序进行编译,生成可执行文件,该文件便可以在带有Linux系统下的micro2440开发板上执行。 3.2.2 串口接收数据

蓝牙主从模块配对连接后,形成无线串口通路,下面介绍串口接收心电数据具体实现方式及实现代码。

首先定义char类型指针rbuf用于接收由串口发送过来的心率数据。然后打开串口,程序如下:

int open_serial(){ }

fd = open(\perror (\

if( fd == -1)

return -1;

else

return 0;

内蒙古大学本科毕业论文(设计)

第 15 页

设置串口波特率为115200bps,波特率是串口通信时的速率。心电手环实时采集使用者的心率数据,将波特率设置为115200bps是为了保证传输数据能够及时传到移动机器人本体上。虽然相对低波特率功耗较大,考虑到系统属于医疗设备,为了保证系统的高效工作。设置波特率代码如下:

Cfsetispeed (&opt,B115200); Cfsetospeed (&opt,B115200);

在main函数中调用open_serial()函数打开串口3,定义int类型变量retv用于保存串口read()函数的返回值。read()函数是读取串口接收到的数据函数,包含3个参数。第一个参数为验证串口是否已经打开,当fd的值为1时表示已经打开了。第二个参数是char类型指针,用于存放接收到的数据。第三个参数通常设置为1。

rbuf= btd; re=read(fd,rbuf,1); if(re==-1) perror(\

串口接收数据保存到char类型数组btd中,每次接收8位数据,数据类型为两个十六进制。心电数据格式为每帧有十个十六进制数据,其中帧头为EE,帧尾为FF,中间剩余六个十六进制数。这些是心率数据的有效值。接收到数据后对数据进行简单处理,通过网络编程发送到远程客户端,客户端对数据进行筛选和判断,正确识别使用者的健康状态。同时,对使用者的基本健康状况进行收集和建档,产生一个长时间的健康监控档案,为使用者提供长期有效的健康指导,也为日后的医疗就诊提供帮助。 3.3 网络编程

移动机器人上arm处理器通过串口接收到心率数据,需要通过无线网络发送到子女客户端。无线网络硬件系统以及设置方式已在上一章介绍完成,下面内容将详细讨论通过socket通信技术实现数据的传输。ARM处理器相当于服务器端,下面详细讲解服务器端如何通过socket通信向远程客户端发送心率数据。

第一步:初始化Socket。 代码如下:

if( (socket_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1 ){

基于蓝牙和wifi的生理数据采集设计与实现 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4h8zt0yxe085bn78adgo_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top