基于WinSock的脉搏远程采集系统设计

时间:2022-10-22 07:29:48

基于WinSock的脉搏远程采集系统设计

摘要:该文介绍了基于WinSock 的远程脉搏采集系统的设计和实现过程。该系统包括脉搏采集终端、本地客户端、远程主机端三个部分。以16位单片机MSP430F2274为核心构成的脉搏采集终端采集的信息,通过蓝牙技术无线传输到本地客户端, 本地客户端和远程主机端在VC++6.0环境下使用WinSock编写程序实现两者的网络通信,从而实现远程主机端对本地病人脉搏信号的远程采集,系统还能实现病人与远程主机端的医生进行语音和文字交互。试验结果表明系统的设计是成功的,能很好地实现脉搏采集和其它信息交互。

关键字:脉搏传感器;蓝牙适配器;下位机;套接字

中图分类号:TP311.52 文献标识码:A文章编号:1009-3044(2009)36-10301-02

The Design of Remote Pulse Wave Acquisition System Based On WinSock

CHEN Jie,TAN Jia-fan,HOU Hai-liang

(Department of Communications & Control Engineering, Hunan Institute of Humanities, Science and Technology, Loudi 417000,China)

Abstract: This article introduced the design and realized of Remote Pulse Acquisition System based on WinSock technology. This system involved pulse acquisition terminal, local client and remote host computer.Pulse acquisition terminal which is composed by Single-chip Micyoco collected pulse wave and send the signal to computer through Bluetooth. Then local client and remote host computer sent message to each other by WinSock technology in Visual C++6.0 environment. At the same time, this system also can realize voice and text chat between doctor and patient or patient’s families. Experiment results showed this system got good performance and realized pulse acquisition and other messages communication.

Key words: pulse sensor; bluetooth adapter; lower computer; socket

现代社会随着人们生活水平的不断提高,生活方式、饮食结构的不断改变,高血压、冠心病、动脉硬化等心血管疾病已成为常见病。在心血管疾病的初期,虽然患者还没有自觉症状,但血压、血流等一系列心血管参数已经发生了变化,并首先反应在脉搏波的波形变化中。因此通过对正常人和患病人的脉搏波的比较,就有可能将心血管疾病潜在的危险及早诊断出来,为心血管疾病的预防和治疗争取时间。心衰病人死亡大多是来不及抢救而非不能抢救,如果在家疗养或者负担不起昂贵的住院费用的病人,能在病人正常生活时测量到病人的脉搏信号,并将脉搏信号送到远程医院给医生诊断,医生就可以及时进行抢救或指导病人家属进行急救,尽最大可能挽救病人的生命。随着Internet 的迅速发展及其相关技术的日益完善,这一切都成为可能。

本文设计了一种远程脉搏采集系统[1],用单片机MSP430F2274[2]作为下位机实现了脉搏信号采集,并利用蓝牙技术[3]将脉搏信号传输到本地客户机,在Vc++6.0环境下使用Winsock[3]将采集到的数据通过因特网传送至远程的医生端PC机,继而对数据按照相应的生物医学标准进行分析处理,产生的分析结果作为医生对用户的一种重要的诊断依据,系统对于脉率过高的病人系统自动进行语音报警。此外该系统还具有文字聊天和语音聊天功能,方便病人或者病人家属和医生信息沟通。

1 系统总体结构

远程脉搏采集系统(如图1)主要由脉搏采集终端、本地客户端、远程主机端三个部分组成。

脉搏采集终端以单片机为核心外加一些硬件电路主要完成脉搏的采集,本地客户端完成脉率的计算以及显示和控制按钮(包含在客户端界面)。远程主机端包括脉搏信息显示和分析、报警。因特网主要完成脉搏信息、语音和文字聊天信息的传送。

2 系统设计

2.1 单片机采集系统

单片机采集系统由MSP430F2274单片机为核心构成, 该单片机支持串口通信。以其为核心构成的采集系统电路简单, 成本低。脉搏信号由合肥华科电子技术研究所研发的压电和光电脉搏传感器检测,该信号经电压抬升和滤波后由单片机采集,然后经蓝牙[4]技术由串口送到本地主机。

2.2 客户端和远程主机端程序设计

客户端上位机(即PC机)程序采用VC++6.0编写,程序采用多线程实现,包括脉搏数据采集、语音聊天信号的采集、信号传输(脉搏信号和聊天信息)分别采用不同的线程实现。CserialPort类实现从串口读数据,WaveIn类实现从标准音频口采集语音聊天信号,WaveOut实现语音播放。考虑到远程主机端对脉搏信息的实时性不是很高,为了防止实时传输造成网络拥塞,脉搏信号的传送不采用实时性好的消息机制,而是将采集到得数据存入缓冲区定时发送。语音聊天信号也采用同样的机制,为了减少网络流量,采集的语音信号经过G.729A语音编码标准压缩后传送,接收端解码后播放,具体通过两个类SoundCompres类和SoundDecode类实现。数据显示通过COScopeCtrl类实现。客户端界面如图2。

远程主机端程序也VC++6.0编写程序实现,主要功能包括保存并显示客户端发送的脉搏信号、显示脉率、对于脉率过高的病人系统自动进行语音报警等功能。其主要实现方式与客户端类似。运行效果如图3。

客户端和远程主机端的信息交互主要是依靠网络通信程序实现,它分散在客户端和远程主机端。数据的传送采用Winsock机制[5]。具体的通信流程如图4。

服务器与客户机的工作原理可以用下面的过程来描述:

1)服务器先用socket函数来建立一个套接字,用这个套接字进行监听。

2)用bind函数来绑定一个端口号和IP地址。因为本地计算机可能有多个网址和IP,需要指定一个IP和端口进行监听。

3)服务器调用listen函数,使服务器的这个端口和IP处于监听状态,等待客户机的连接。

4)客户机用socket函数建立一个套接字,设定远程IP和端口。

5)客户机调用connect函数连接远程计算机指定的端口。

6)服务器用accept函数来接受远程计算机的连接,建立起与客户机之间的通信。

7)建立连接以后,客户机用write函数向socket中写入数据。也可以用read函数读取服务器发送来的数据。

8)服务器用read函数读取客户机发送来的数据,也可以用write函数来发送数据。

9)完成通信以后,用close函数关闭socket连接。

套接字不能允许数据的丢失,且有重发的机制,能确保数据发送到目的地。

程序运行时,作为服务器的远程主机端首先运行,并指定端口进行监听,当某个客户端(病人)提出连接请求时,服务器端同意并建立连接,这样,医生和病人就可以自由通信。客户端咨询完成后可以退出连接,服务器端可以继续等待其它客户端的连接。

3 结束语

本文设计了一种远程脉搏采集系统,系统以16位单片机MSP430F2274为核心实现脉搏信号采集,并利用蓝牙技术将脉搏信号传输到本地客户端,使用Vc++6.0编写程序实现脉搏信号的实时显示、脉率计算等功能,同时利用因特网将采集到的数据传送至服务器端(医生),服务器端接收到数据后再以波形的形式显示出来,对于脉率过高的病人系统自动进行语音报警。此外该系统还具有文字聊天和语音聊天功能,方便病人或者病人家属和医生进行交互。经过实验测试, 随身携带的脉搏采集器在离开本地客户机10米内能够将采集的脉搏信号无线传输到客户PC机,同时通过网络可以将数据传送给远端的PC机,文字聊天反应快,语音聊天通话质量清晰。证明该设计方案正确,并实现了设计要求。本研究把远程医疗检测和网络实时通信有效结合起来,极大的方便了医疗人员和心脏病人,为心脏病人的治疗和急救开辟了一种新的模式。

参考文献:

[1] 李小艳, 李兴平. 基于DSP的便携式心电数据采集处理系统[J]. 工业控制计算机, 2006:9-19.

[2] 胡大可. msp430系列超低功耗16位单片机原理与应用[M]. 北京:北京航空航天大学出版社,2000.

[3] 钱志鸿, 扬帆, 周求湛. 蓝牙技术原理、开发与应用[M]. 北京:北京航空航天大学出版社,2006:113-121.

[4] 马永宏,刘载文. Visual C++ 环境下基于Winsock网络通信[J]. 北京工商大学学报, 2006,11.

上一篇:基于Java的数据库应用框架研究及开发 下一篇:近场麦克风阵列定点波束形成优化方法