CN110913009B - 一种udp网络协议实现浏览器显示心电图的装置和方法 - Google Patents
一种udp网络协议实现浏览器显示心电图的装置和方法 Download PDFInfo
- Publication number
- CN110913009B CN110913009B CN201911220992.8A CN201911220992A CN110913009B CN 110913009 B CN110913009 B CN 110913009B CN 201911220992 A CN201911220992 A CN 201911220992A CN 110913009 B CN110913009 B CN 110913009B
- Authority
- CN
- China
- Prior art keywords
- electrocardiogram
- browser
- udp
- module
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7225—Details of analog processing, e.g. isolation amplifier, gain or sensitivity adjustment, filtering, baseline or drift compensation
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/725—Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Signal Processing (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physiology (AREA)
- Psychiatry (AREA)
- Computer Networks & Wireless Communication (AREA)
- Cardiology (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本发明公开了一种UDP网络协议实现浏览器显示心电图的装置和方法,其中,装置包括由NODEMCU模块和AD623仪表放大器带两级358运放构成的宽带通滤波器实现抗干扰心电放大电路组成的心电采样数据发送装置。NODEMCU模块通过内置WIFI网络无线连接手机或电脑,通过在手机或电脑上配置NodeJS UDP转WS协议,使单片机用UDP协议网络通讯也能在手机或电脑上实现浏览器显示横向宽幅动态心电图。浏览器端HTML5‑JS程序实现是主流的前端技术,使编程环境要求降到最低,特别适合推广普及开源。这种模式更大的意义在于实现了将数据处理及储存管理放在处理能力更强、储存容量超大的手机或电脑上,使WIFI单片机与手机或电脑的结合取长补短恰到好处,提出了一种新的WIFI单片机应用模式。
Description
技术领域
本发明属于电脑通讯控制领域,尤其是涉及一种通过UDP网络协议实现浏览器显示心电图的装置和方法。
背景技术
NODEMCU(或ESP-XX系列,ESP8266核心,十几元人民币、拇指大)WIFI单片机模块作为目前最廉价优秀的核心部件,意义非凡。特别是配上NODEMCU LUA固件,编程采用LUA脚本语言,程序开发简洁,无需搭建太多开发环境,有记事本就行(当然在手机端有个HBuilder、NodeJS更好),程序解释都在NODEMCU固件中。但NODEMCU常被病诟成只能做简单字符类信息传送、或数字逻辑状态类简单控制。如果能用NODEMCU实现心电数据采样,并无线传给手机或电脑,用浏览器实时连续动态宽幅显示心电图,将很具实用性。
将不可靠的UDP网络传送协议用在WIFI局域网作高速传送,因局域网无太多干扰,实用发现并不会丢失数据,而其具有的高速性却为廉价的WIFI单片机模块解决了瓶颈难题,但又出现了UDP协议无法同最为普及的浏览器通讯。
现有技术中,要让NODEMCU直接WIFI连接手机浏览器,典型地采用NODEMCU作WEB服务,通过SSE模式向浏览器连续推送采样数据,这样做就有两个暴露短板的问题:1、并非一字节0-255范围的数值全可传送,必须通过BASE64转码(其实不光SSE,连被喻为最省资源的MQTT物联网协议也一样要BASE64转码,这对速度有限的单片机会带来很大问题);2、由于网络同域访问新安全规则,不允许浏览器本地启动跨域访问NODEMCU的WEB服务,导致H5-JS程序及数据都必须放在资源极有限的WIFI单片机NODEMCU上,非常不合理。
发明内容
基于上述背景技术,本发明提供了一种UDP网络协议实现浏览器显示心电图的装置和方法,实现了心电图在手机或电脑浏览器上连续动态显示。
一种UDP网络协议实现浏览器显示心电图的装置,包括由NODEMCU模块和心电放大模块组成的心电采样数据发送装置,其装在金属或塑料外壳中由电池供电,并可带在身上的身份证大小的轻薄装置,通过普及的手机或电脑配置软件实现心电图显示;
所述心电放大模块的输入端与连接人体的心电采样导联电极相连,输出端与NODEMCU模块的ADC输入端连接;所述心电放大模块的电源正端连接NODEMCU模块的电源正端,电源负端连接NODEMCU模块的电源负端;
所述NODEMCU模块通过内置WIFI网络组件无线连接手机或电脑,通过在手机或电脑上配置NodeJS实现UDP转WS协议,使UDP作为网络通讯协议实现用手机或电脑上的浏览器显示心电图。
所述心电采样数据发送装置中的心电放大模块采用AD8232心电放大模块,或用AD623仪表放大器IC、358运放IC构成功能等效的心电放大模块,AD623仪表放大器及358运放构成抗干扰心电放大带通滤波电路的具体连接如下:
心电采样导联电极的左极L和右极R分别同隔直电容C2、C3、及抗干扰电容C4、C5连接,C4、C5另一端接右腿电极RL+1.5V端,C2、C3另一端分别接AD623的正、反相输入端,AD623的6脚接358运放构成的前级带通滤波器的输入电阻R11,R11另一端同电容C11、C12的一端连接在一起,C11另一端接358运放的反相输入端,C12另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R12,前级带通滤波器358运放的输出端接后级358带通滤波器的输入电阻R21,R21另一端同电容C21、C22的一端连接在一起,C21另一端接358运放的反相输入端,C22另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R22,后级358运放的输出端即为心电放大模块的输出端,接NODEMCU模块的ADC输入端;
右腿电极RL信号虚地点接AD623的5脚ref端,由电源+3.3V串联电阻R6、R7、R8分压实现,在电阻R6、R7的连接点得到+1.5V的信号虚地点,并接电容C7正端滤波,C7负端接地,信号虚地点同时接前级带通滤波器358运放的正输入端;同样,电阻R7、R8串联分压,在R7、R8的连接点得到+0.5V的ADC范围中点电位,接后级带通滤波器的358正输入端,并接电容C8正端滤波,C8负端接地;AD623的电源正端接电源+3.3V,并接电容C6正端滤波,C6负端接地,AD623的电源负端接地,AD623的1脚和8脚并联增益控制电阻R4;
AD623的正、反相输入端须分别接电阻R3、R2到AD623的5脚ref端,为降低R3、R2的配对要求使批量生产时AD623的输出稳定在+1.5V,R2的另一端经C1滤波电容接信号虚地点,R2、C1的连接点接负反馈电阻R1到AD623的6脚。
对AD623心电弱信号放大、358运放构成的两级带通滤波器抗干扰电路中的电阻、电容,若要自动调档数值,包括用电子开关切换或用电子数字电位器。
所述的心电采样数据发送装置采用带EN控制端的LDO四端稳压IC构成触点按钮电源开关电路;触点按钮电源开关电路的+3.3V端连接心电放大模块的电源正端及NODEMCU模块的电源正端,负端连接电源负端及NODEMCU模块的电源负端;
触点按钮电源开关电路由带EN控制端的LDO四端稳压IC、开触点按钮、关触点按钮、电阻r1、r2、r3、抗干扰电容C、二极管D构成,3.7V锂电池正端接LDO四端稳压IC的1脚,稳压IC输出6脚接电阻r1,r1另一端接稳压IC的3脚,即EN控制端;EN控制端同时还连接关触点按钮、抗干扰电容C、二极管D负端,关触点按钮另一端与抗干扰电容C另一端一起接地,四端稳压IC的EN控制端可被ESP-12的GPIO端口控制实现自动关机,锂电池正端还接开触点按钮,开触点按钮另一端接电阻r2,电阻r2另一端接二极管D正端,开触点按钮另一端还可接电阻r3到ESP-12的GPIO端口触发上沿中断实现开机按钮附加功能切换;LDO四端稳压IC的2脚接地。
本发明还提供了一种根据上述UDP网络协议实现浏览器显示心电图装置实现心电图显示的方法,包括以下步骤:
(1)NODEMCU模块建立UDP服务,手机或电脑由NodeJS建立UDP客户端,同时建立并启动WebSocket服务开始侦听WS的服务请求;
(2)WebSocket服务侦听到来自手机或电脑浏览器预设的WS访问协议请求,WS响应记住该客户,并用UDP发信息通知NODEMCU模块的UDP服务,启动NODEMCU模块的ADC心电采样及数据发送工作;
(3)UDP客户端侦听到有数据到来到,接收后直接对该WS请求客户推送从UDP收到的数据包;
(4)WS推送的数据包被同在本机中支持html5-JS的浏览器收到后就进入心电图曲线动态连续平移显示过程。
步骤(2)中,所述NODEMCU模块的ADC心电采样及数据发送工作具体为:
NODEMCU模块以每隔10毫秒采样一点,不断加入数组,到每秒100点时集中一次UDP发出;UDP发送采用低优先作业,能够被更高优先级的每隔10毫秒的采样定时器中断。
步骤(4)中,所述的浏览器采用HTML5的canvas画线段功能,实现将每秒100点的集中发包数据变为平稳的连续平移显示。
NodeJS的处理程序和数据,以及浏览器端HTML5-JS的数据处理、储存管理程序和数据都存放在手机或电脑上;从UDP到WebSocket、再到浏览器端HTML5-JS,采用二进制字节数组传送,不加转码直接转发;浏览器的滚动显示与NODEMCU模块的采样发包设有同步机制。
浏览器收到的环形动态数据与显示处理设有解耦机制,用于提供浏览器端HTML5-JS程序开源的基础,使环形动态数据同时可用作心电R波识别、心率判别或畸形报警。
本发明的有益效果是:
1、用AD623仪表放大器带两级358运放构成的宽带通滤波器实现抗干扰心电放大电路,实现简洁低成本心电数据采样;
2、将非连接UDP网络协议用于单片机WIFI无线连接手机或电脑,具有高速性,特别适合单片机;
3、本机内部用WebSocket与浏览器HTML5-JS通讯,这一技术方案为资源有限的WIFI单片机带来了架构上的重定位:仅将涉及硬件数据采样的底层工作由单片机承担,其它数据处理显示、管理、人机操作界面等全由处理能力强大的手机或电脑来实现。且UDP、WS、HTML5-JS间的数据传送无须转码;
4、用普及的手机或电脑浏览器HTML5-JS程序实现是主流的前端技术,使编程环境要求降到最低,特别适合推广普及开源。
附图说明
图1为AD623仪表放大器及358运放构成抗干扰心电放大带通滤波电路图;
图2为本发明一种UDP网络协议实现浏览器显示心电图的装置整体结构示意图;
图3为本发明实施例中NODEMCU构成的心电采样数据发送装置的工作流程图;
图4为本发明实施例中手机或电脑由NodeJS实现的UDP转WS协议工作流程图;
图5为本发明实施例中用带EN控制端的LDO四端稳压IC构成触点按钮电源开关电路。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
为简化并改进AD8232心电放大IC应用中的一些问题,实际生产采用更简洁稳定的AD623仪表放大器带两级358运放构成的宽带通滤波器实现抗干扰心电放大电路,具体如下:
如图1所示,心电采样导联电极的左右极(L、R)分别同隔直电容C2、C3、及抗干扰电容C4、C5连接,C4、C5另一端接RL信号虚地点(+1.5V端),C2、C3另一端分别接AD623的正(3脚)、反(2脚)相输入端,AD623的输出端(6脚)接358运放构成的前级带通滤波器的输入电阻R11,R11另一端同C11、C12的一端连接在一起,C11另一端接358运放的反相输入端,C12另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R12,前级带通滤波器358运放的输出端接后级358带通滤波器的输入电阻R21,R21另一端同C21、C22的一端连接在一起,C21另一端接358运放的反相输入端,C22另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R22,后级358运放的输出端即为心电放大模块的输出端,接NODEMCU模块的ADC输入端。
这里前后级带通滤波器谐振在不同的两个频点,使1至20Hz有一段平坦的通带(放大倍数可到5),对低于0.3Hz以下的各种电极接触扰动或导电橡胶接触皮肤引起的极化电平干扰能彻底的抑制,不像AD8232心电放大模块中要另设快速起动电路。对抗50周工频干扰,前后级带通滤波器(相当于4阶)的高频衰减性能胜过AD8232心电放大模块中用一只运放构成的2阶低通滤波器,使得对心率监测型应用,该心电放大电路可以不接RL(右腿)电极(接上则波形更好。接与不接电路不变,不像AD8232心电放大模块的接与不接需要改变电路接法,更无需AD8232心电放大模块中的右腿驱动电路)。
RL(右腿电极)信号虚地点接AD623的ref端(5脚),由电源+3.3V串联电阻R6、R7、R8分压实现,在R6、R7的连接点得到+1.5V的信号虚地点,并接电容C7正端滤波,C7负端接地,信号虚地点同时接前级带通滤波器358运放的正输入端;同样,R7、R8串联分压,在R7、R8的连接点得到+0.5V的ADC范围中点电位,接后级带通滤波器的358正输入端,并接电容C8正端滤波,C8负端接地;AD623的电源+端(7脚)接电源+3.3V,并接电容C6正端滤波,C6负端接地,AD623的电源负端(4脚)接地,AD623的1脚和8脚并联增益控制电阻R4。
这里利用了NODEMCU模块ESP-12(或ESP-XX)的ADC输入电压范围是0-1V,而AD623放大器及前级带通滤波器的动态范围是0-3.3V,相当于AD8232心电放大模块中的泵电路升压扩大抗共模范围。所以AD623的(5)ref端及前级带通滤波器358运放的正输入端接+1.5V的信号虚地点,而后级带通滤波器的358正输入端接+0.5V的ADC范围中点电位,使后级带通滤波器的输出范围是0-1V(输出电压低利于避免引起辐射振荡干扰,并降低放大倍数要求)。
用前后两级带通滤波器另一个特点是运放构成有源带通滤波器的电容同时起到了前后级的隔直作用,使电路简洁。
AD623的正(3脚)、反(2脚)相输入端须分别接电阻R3、R2到AD623的ref端(5脚,即信号虚地点),为降低R3、R2的配对要求使批量生产时AD623的输出都能稳定在+1.5V(L、R短路,无信号时),R2的另一端不用常规接法的直接信号虚地点,而是经C1滤波电容接信号虚地点,在R2、C1的连接点再接负反馈电阻R1到AD623的输出端(6脚),通过AD623的输出电压经衰减、平均滤波后的直流偏差值来负反馈自动调整。
如图2所示,UDP网络协议实现浏览器显示心电图的装置,由NODEMCU或ESP-XX系列WIFI单片机模块、上述抗干扰心电放大电路模块作为心电采样及数据发送装置,它是装在金属或塑料外壳中的由壳中电池供电、并可带在身上的身份证大小的轻薄装置,通过普及的手机或电脑配置特定的软件实现心电图显示。
心电采样数据发送装置与手机或电脑WIFI连接,速度最快的是UDP网络协议通讯模式,它是一种不通过反馈确认正确性的(非连接)通讯模式,因此速度快。事实上,心电采样数据发送装置中的NODEMCU模块建立UDP服务,手机或电脑由NodeJS建立UDP客户端,无论NODEMCU模块的WIFI方式为AP、STATION、或STATIONAP所构成的局域网都无干扰、UDP网络通讯模式一般不丢包,即使有少量数据缺失对心电显示问题也不大,速度极快,适用于资源极有限的单片机。
为用手机或电脑的浏览器(html5-JS主流的前端技术)来显示心电图,典型的HTML5没有对UDP的接口支持,只能采用HTML5支持的WEBSOCKET,因此在手机或电脑由NodeJS建立UDP客户端的同时,再启动WebSocket服务开始侦听WS:的服务请求,一旦有来自手机或电脑浏览器以ws://127.0.0.1:8183协议请求的,WS响应记住该客户,并用UDP发信息通知NODEMCU模块的UDP服务,启动心电采样及数据发送工作;一旦UDP客户端侦听到有数据到来到,接收下来直接就对该WS请求客户推送这从UDP收到的每秒100点的数据包(即:NodeJS UDP转WS协议。也就是:手机或电脑通过NodeJS同时建立UDP客户端和WebSocket服务端,其中的UDP客户端同NODEMCU UDP服务端在WIFI局域网高速通讯,其中的WebSocket服务端同浏览器在本机内部通讯实现动态心电图显示)。
如图3所示,NODEMCU模块以每隔10毫秒ADC采样一点(采样速率100点/秒),不断加入数组,到每秒100点时集中一次UDP发出;UDP发送采用低优先作业,可以被更高优先级的每隔10毫秒的采样定时器中断,当手机或电脑由NodeJS建立的UDP客户端侦听到有数据到来,则接收并无需转格式直接从WebSocket服务推送给手机或电脑的浏览器。
WS推送的数据包被同在本机中的浏览器收到后就进入心电图曲线动态连续平移显示过程,这里采用HTML5的canvas画线段功能,实现将每秒100点的集中发包数据变为平稳的连续平移显示。
如图4所示,手机或电脑装NodeJS实现UDP转WS协议的关键步骤包括:建立UDP客户端时,同时启动WebSocket服务开始侦听WS:的服务请求,一旦有来自手机或电脑浏览器以ws://127.0.0.1:8183协议请求的,就WS响应记住该客户,并用UDP发信息通知NODEMCU模块的UDP服务,启动上述采样及发送工作,一旦UDP客户端侦听到有数据到来到,接收下来直接就对该WS客户推送这数据包到手机或电脑浏览器。为严格说清上述特征,具体NodeJS建立的UDP客户端、WebSocket服务端(即NodeJS UDP转WS协议)程序如下(NodeJS是脚本语言,执行文件.js用文本编辑或记事本就能打开):
NodeJS的处理程序或数据、浏览器端HTML5-JS的处理程序或数据都放在手机或电脑上。二进制字节数组传送,从UDP到WebSocket、再到浏览器端HTML5-JS,一律不加转码直接转发。
对WS推送的数据包被手机或电脑浏览器收到后就进入心电图曲线动态连续平移显示过程,采用浏览器端HTML5的canvas画线段功能,但要将每秒100点的集中发包数据变为平稳的连续平移显示,具体要包括两大特征,1、NODEMCU单片机采样发包时间与手机或电脑浏览器滚动显示时间总会有累计误差,必须有平稳的内在同步机制,以防显示阻塞或误读旧数据;2、收到的环形动态数据与显示处理有可分离机制(俗称“解耦”),使环形动态数据同时可用作其它处理,包括心电R波识别、心率显示、畸形报警等,具体要素如下:
每秒100点数据集中一次发包;
将500点数据(5秒)显示成1000点长度,高度256点(正好一字节0-255范围),即1000X256作为心电图动态曲线显示幅面,即达到了本发明的目的,要用手机或电脑浏览器来横向宽范围平移显示心电图动态曲线;
将500点数据空间再加200点数据动态更新用缓冲空间,共700字节的数组cycbf(700)作为环形动态数据,供动态显示或处理;数据更新是每秒100点跳跃的,用变量s100指定起点位置,则s100=0、100、200、...、600、0、...,即每秒s100=s100+100,当s100>699时,s100=s100-700;
当前(心电)曲线绘制起点用变量ptr指定起点位置,从变量ptr所指cycbf中位置起的连续500点数据作为一帧显示,中间会在699处折回到0(JS数组从0开始);
显示速率每秒25帧,即每帧间隔40毫秒,也就是每帧间隔跨度4点,1秒正好100点,即每间隔40毫秒,ptr=ptr+4;当ptr>699时,ptr=ptr-700。
初始状态为:s100=0,ptr=200;起动后(先数据更新100点,s100=100):每秒s100=s100+100,当s100>699时,s100=s100-700,每秒100点地更新数组cycbf作为环形动态数据;另一方面显示在以每40毫秒跨到下4点作为新起点,ptr=ptr+4;当ptr>699时,ptr=ptr-700,每次在数组cycbf环形数据中从ptr起连续读500点数据显示一帧,中间遇到699后就折回到0。
这里的关键是要始终维持:s100+100<ptr<s100+200,超出就出错了。为简化两者两端速度追赶判别算法,巧妙地采取显示处理速度略大于数据更新速度(只要人感觉不到跳跃即可),这里实际浏览器端的JS显示程序定时用39毫秒,这样速度追赶算法就简化成显示是否提前超出ptr<s100+200的界限,若到了就暂停显示。实际HTML5-JS程序没有暂停功能,只能清除39毫秒定时器{clearInterval(tmr);tmr=false},【39毫秒定时器tmr=setInterval(function(){显示ptr起的一帧500点},39)】,直到下100点更新来到时,检查39毫秒定时器tmr是否因超速已不存在(tmr=false),若是,则重建39毫秒定时器tmr=setInterval(function(){显示ptr起的一帧500点},39)。这就是NODEMCU单片机采样发包与手机或电脑浏览器滚动显示的内在平稳同步机制。数组cycbf中从ptr起的连续读500点数据就是有效期40毫秒内的当前一帧有效数据,具体使用机制是将处理程序也放在39毫秒定时器事件处理中,即:tmr=setInterval(function(){显示ptr起的一帧500点;再加入数据处理程序},39)。
具体浏览器执行的HTML5-JS连续动态显示心电图测试程序如下:
以上的NodeJS程序、浏览器端HTML5-JS程序都放在手机或电脑上(直接本地启动运行,而不是典型的浏览器访问WEB网站模式,即由WEB网站返回HTML页面给浏览器产生图文效果)。特别注意:直接放在本地的HTML5-JS程序,其不仅避免了每次请求数据时的从WEB服务器重传,而是直接放在本地由浏览器解释执行(一次都不传),这还实现了重大的结构性改变,即程序及数据都直接放在了手机或电脑上(而不必放在处理能力及资源极有限的WIFI单片机NODEMCU上,这对WIFI单片机NODEMCU结合广泛普及的手机或电脑配套应用,取长补短恰到好处,堪称完美结合)。注意,浏览器HTML5-JS程序读每秒100点数据的处理语句(上面中下部):
读到的是纯净的数组,没有多余的去封装过程,即这些程序中的数据传送不出现诸如BASE64、btoa(encodeURIComponent(string))之类的字符转码,效率极高。
若需要进一步实时分析处理心电数据,如心电R波识别、心率判别、畸形报警等,uint8p()最末处(一帧显示完后),就是处理函数放入点,从变量ptr所指cycbf中位置起的连续500点数据作为当前一帧心电数据(有效期远不到40毫秒),中间要在699处折回到0。这就是数据与显示分离机制(俗称“解耦”),使应用方便(不用考虑上述诸多动态显示中的细节),特别是本发明提倡开源,最务实的就是浏览器端HTML5-JS程序的开源,熟悉JS编程的用户只要有记事本就可改编成更适合自己的心电显示或记录管理功能,无需安装开发环境。
上述数值为说明便于理解,故意用了简单的整数表示,实际不受此限。再换个角度看,这里的UDP客户端、WS服务端、浏览器客户端都是同在一个手机或电脑中的(不经外网通讯。当然若有必要也可走外网。仅有NODEMCU通过WIFI用UDP网络协议同手机或电脑通讯),因此,没有外网(更不需要第三方收费服务)、无须路由器,仅凭心电采样数据发送装置中的NODEMCU构成的“超微型”UDP网络服务器,手机或电脑就能通过WIFI连接显示心电图。
心电采样及数据发送装置,它是装在金属或塑料外壳中的由壳中电池供电、并可带在身上的身份证大小的轻薄装置,电源开关通常用两个触点按钮实现电子开关,一个开按钮、一个关按钮(都是不带锁的簧片触点,或导电橡胶短时导通一下),开按钮还可包括一些功能切换,如单击进入离线模式(关WIFI就极省电。ESP-12本身就带有4M存储器)、双击离线保存、长按清除旧记录离线保存。结合3.7V锂电池供电(充电时电压会高达4.5V)需要有稳压器件,因此综合这些实际要求设计了如图5所示的电源稳压兼开关控制电路如下:
用带EN控制端的LDO四端稳压IC(XC6204E332M)构成触点按钮电源开关电路,该部分电路由带EN控制端的LDO四端稳压IC、开触点按钮、关触点按钮、电阻r1、r2、r3、电容C、二极管D构成,3.7V锂电池正端接LDO四端稳压IC的正输入端(1脚),稳压IC输出正端(6脚)接电阻r1,r1另一端接稳压IC的EN控制端(3脚),EN控制端(3脚)同时还连接关触点按钮、抗干扰电容C、二极管D负端,关触点按钮另一端与抗干扰电容C另一端一起接地,四端稳压IC的EN控制端(3脚)可被ESP-12的GPIO端口控制实现自动关机,锂电池正端还接开触点按钮,开触点按钮另一端接电阻r2,电阻r2另一端接二极管D正端,开触点按钮另一端还可接电阻r3到ESP-12的GPIO端口触发上沿中断实现开机按钮附加功能切换。LDO四端稳压IC的(2脚)端接地。C1、C2是电源滤波常规大容量电解电容,有时还并联0.47uF的高频旁路电容。
对AD623心电弱信号放大、358运放构成的两级带通滤波器抗干扰电路中的电阻、电容,若要自动调档数值,包括用电子开关(如CD4066、CD4051、CD4052、CD4053)切换或用电子数字电位器。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换,均应包含在本发明的保护范围之内。
Claims (8)
1.一种UDP网络协议实现浏览器显示心电图的装置,其特征在于,包括由NODEMCU模块和心电放大模块组成的心电采样数据发送装置,其装在金属或塑料外壳中由电池供电;
所述心电放大模块的输入端与连接人体的心电采样导联电极相连,输出端与NODEMCU模块的ADC输入端连接;所述心电放大模块的电源正端连接NODEMCU模块的电源正端,电源负端连接NODEMCU模块的电源负端;
所述NODEMCU模块通过内置WIFI网络组件无线连接手机或电脑,通过在手机或电脑上配置NodeJS实现UDP转WS协议,使UDP作为网络通讯协议实现用手机或电脑上的浏览器显示心电图;
所述的心电采样数据发送装置采用带EN控制端的LDO四端稳压IC构成触点按钮电源开关电路;触点按钮电源开关电路的+3.3V端连接心电放大模块的电源正端及NODEMCU模块的电源正端,负端连接电源负端及NODEMCU模块的电源负端;
触点按钮电源开关电路由带EN控制端的LDO四端稳压IC、开触点按钮、关触点按钮、电阻r1、r2、r3、抗干扰电容C、二极管D构成,3.7V锂电池正端接LDO四端稳压IC的1脚,稳压IC输出6脚接电阻r1,r1另一端接稳压IC的3脚,即EN控制端;EN控制端同时还连接关触点按钮、抗干扰电容C、二极管D负端,关触点按钮另一端与抗干扰电容C另一端一起接地,四端稳压IC的EN控制端可被ESP-12的GPIO端口控制实现自动关机,锂电池正端还接开触点按钮,开触点按钮另一端接电阻r2,电阻r2另一端接二极管D正端,开触点按钮另一端还可接电阻r3到ESP-12的GPIO端口触发上沿中断实现开机按钮附加功能切换;LDO四端稳压IC的2脚接地。
2.根据权利要求1所述的UDP网络协议实现浏览器显示心电图的装置,其特征在于,所述心电采样数据发送装置中的心电放大模块采用AD8232心电放大模块,或用AD623仪表放大器IC、358运放IC构成功能等效的心电放大模块,其中,AD623仪表放大器及358运放构成抗干扰心电放大带通滤波电路的具体连接如下:
心电采样导联电极的左极L和右极R分别同隔直电容C2、C3、及抗干扰电容C4、C5连接,C4、C5另一端接右腿电极RL+1.5V端,C2、C3另一端分别接AD623的正、反相输入端,AD623的6脚接358运放构成的前级带通滤波器的输入电阻R11,R11另一端同电容C11、C12的一端连接在一起,C11另一端接358运放的反相输入端,C12另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R12,前级带通滤波器358运放的输出端接后级358带通滤波器的输入电阻R21,R21另一端同电容C21、C22的一端连接在一起,C21另一端接358运放的反相输入端,C22另一端接358运放的输出端,358运放的反相输入端及输出端还并联了负反馈电阻R22,后级358运放的输出端即为心电放大模块的输出端,接NODEMCU模块的ADC输入端;
右腿电极RL信号虚地点接AD623的5脚,由电源+3.3V串联电阻R6、R7、R8分压实现,在电阻R6、R7的连接点得到+1.5V的信号虚地点,并接电容C7正端滤波,C7负端接地,信号虚地点同时接前级带通滤波器358运放的正输入端;同样,电阻R7、R8串联分压,在R7、R8的连接点得到+0.5V的ADC范围中点电位,接后级带通滤波器的358正输入端,并接电容C8正端滤波,C8负端接地;AD623的电源正端接电源+3.3V,并接电容C6正端滤波,C6负端接地,AD623的电源负端接地,AD623的1脚和8脚并联增益控制电阻R4;
AD623的正、反相输入端须分别接电阻R3、R2到AD623的5脚,为降低R3、R2的配对要求使批量生产时AD623的输出稳定在+1.5V,R2的另一端经C1滤波电容接信号虚地点,R2、C1的连接点接负反馈电阻R1到AD623的6脚。
3.根据权利要求2所述的UDP网络协议实现浏览器显示心电图的装置,其特征在于,对AD623心电弱信号放大、358运放构成的两级带通滤波器抗干扰电路中的电阻、电容,若要自动调档数值,包括用电子开关切换或用电子数字电位器。
4.一种根据权利要求1~3任一所述的UDP网络协议实现浏览器显示心电图装置实现心电图显示的方法,其特征在于,包括以下步骤:
(1)NODEMCU模块建立UDP服务,手机或电脑由NodeJS建立UDP客户端,同时建立并启动WebSocket服务开始侦听WS的服务请求;
(2)WebSocket服务侦听到来自手机或电脑浏览器预设的WS访问协议请求,WS响应记住该客户,并用UDP发信息通知NODEMCU模块的UDP服务,启动NODEMCU模块的ADC心电采样及数据发送工作;
(3)UDP客户端侦听到有数据到来到,接收后直接对该WS请求客户推送从UDP收到的数据包;
(4)WS推送的数据包被同在本机中支持html5-JS的浏览器收到后就进入心电图曲线动态连续平移显示过程。
5.根据权利要求4所述的UDP网络协议实现浏览器显示心电图的装置进行心电图显示的方法,其特征在于,步骤(2)中,所述NODEMCU模块的ADC心电采样及数据发送工作具体为:
NODEMCU模块以每隔10毫秒采样一点,不断加入数组,到每秒100点时集中一次UDP发出;UDP发送采用低优先作业,能够被更高优先级的每隔10毫秒的采样定时器中断。
6.根据权利要求4所述的UDP网络协议实现浏览器显示心电图的装置进行心电图显示的方法,其特征在于,步骤(4)中,所述的浏览器采用HTML5的canvas画线段功能,实现将每秒100点的集中发包数据变为平稳的连续平移显示。
7.根据权利要求4所述的UDP网络协议实现浏览器显示心电图的装置进行心电图显示的方法,其特征在于,NodeJS的处理程序和数据,以及浏览器端HTML5-JS的数据处理、储存管理程序和数据都存放在手机或电脑上;从UDP到WebSocket、再到浏览器端HTML5-JS,采用二进制字节数组传送,不加转码直接转发;浏览器的滚动显示与NODEMCU模块的采样发包设有同步机制。
8.根据权利要求4所述的UDP网络协议实现浏览器显示心电图的装置进行心电图显示的方法,其特征在于,浏览器收到的环形动态数据与显示处理设有解耦机制,用于提供浏览器端HTML5-JS程序开源的基础,使环形动态数据同时可用作心电R波识别、心率判别或畸形报警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220992.8A CN110913009B (zh) | 2019-12-03 | 2019-12-03 | 一种udp网络协议实现浏览器显示心电图的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220992.8A CN110913009B (zh) | 2019-12-03 | 2019-12-03 | 一种udp网络协议实现浏览器显示心电图的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110913009A CN110913009A (zh) | 2020-03-24 |
CN110913009B true CN110913009B (zh) | 2020-11-10 |
Family
ID=69822104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911220992.8A Active CN110913009B (zh) | 2019-12-03 | 2019-12-03 | 一种udp网络协议实现浏览器显示心电图的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110913009B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438198B (zh) * | 2021-03-29 | 2022-08-26 | 广州大学 | 一种基于udp传输协议的心电数据传输方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101669820A (zh) * | 2009-09-18 | 2010-03-17 | 叶树明 | 一种便携式数字动态心电记录仪 |
CN205514562U (zh) * | 2016-03-30 | 2016-08-31 | 宁波市善道堂生命科技有限公司 | 可无线通信的智能血压脉搏体温检测仪 |
CN205548551U (zh) * | 2016-01-18 | 2016-09-07 | 安徽理工大学 | 一种基于WiFi的宠物健康监测系统 |
CN106407680A (zh) * | 2016-09-13 | 2017-02-15 | 上海市徐汇区中心医院 | 一种远程诊疗系统 |
CN106773960A (zh) * | 2016-12-19 | 2017-05-31 | 中国航空工业集团公司洛阳电光设备研究所 | 一种智能卷帘门的远程无线控制电路 |
CN206827404U (zh) * | 2017-05-22 | 2018-01-02 | 中山大学新华学院 | 一种基于远程控制的智能环保桶 |
CN207979671U (zh) * | 2017-12-08 | 2018-10-19 | 湖北福佑家和科技有限公司 | 便携式一体化多参数人体生理信号检测装置 |
CN109805903A (zh) * | 2019-03-20 | 2019-05-28 | 吕洋 | 一种脉搏监测系统及心率检查方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8811397B2 (en) * | 2010-02-16 | 2014-08-19 | Ncp Engineering Gmbh | System and method for data communication between a user terminal and a gateway via a network node |
CN105496428B (zh) * | 2015-12-14 | 2018-10-30 | 北京奇虎科技有限公司 | 可佩戴设备控制的实现方法及装置 |
JP2019518397A (ja) * | 2016-06-06 | 2019-06-27 | アジャイルピーキュー, インコーポレイテッド | データ変換システムおよび方法 |
-
2019
- 2019-12-03 CN CN201911220992.8A patent/CN110913009B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101669820A (zh) * | 2009-09-18 | 2010-03-17 | 叶树明 | 一种便携式数字动态心电记录仪 |
CN205548551U (zh) * | 2016-01-18 | 2016-09-07 | 安徽理工大学 | 一种基于WiFi的宠物健康监测系统 |
CN205514562U (zh) * | 2016-03-30 | 2016-08-31 | 宁波市善道堂生命科技有限公司 | 可无线通信的智能血压脉搏体温检测仪 |
CN106407680A (zh) * | 2016-09-13 | 2017-02-15 | 上海市徐汇区中心医院 | 一种远程诊疗系统 |
CN106773960A (zh) * | 2016-12-19 | 2017-05-31 | 中国航空工业集团公司洛阳电光设备研究所 | 一种智能卷帘门的远程无线控制电路 |
CN206827404U (zh) * | 2017-05-22 | 2018-01-02 | 中山大学新华学院 | 一种基于远程控制的智能环保桶 |
CN207979671U (zh) * | 2017-12-08 | 2018-10-19 | 湖北福佑家和科技有限公司 | 便携式一体化多参数人体生理信号检测装置 |
CN109805903A (zh) * | 2019-03-20 | 2019-05-28 | 吕洋 | 一种脉搏监测系统及心率检查方法 |
Non-Patent Citations (2)
Title |
---|
"node.js用dgram接收udp信号进行解析,并用websocket发送到浏览器前台";周某江;《https://blog.csdn.net/drawback12138/article/details/89713522》;20190430;第1页 * |
"基于脉搏波分析的麻醉手术中无创生理参数监测系统";付秀泉;《中国博士学位论文全文数据库(电子期刊)》;20131215;E080-8 * |
Also Published As
Publication number | Publication date |
---|---|
CN110913009A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106604369B (zh) | 一种具有双模式切换功能的终端设备 | |
CN104951273B (zh) | 一种信息处理方法、电子设备及系统 | |
CN110913009B (zh) | 一种udp网络协议实现浏览器显示心电图的装置和方法 | |
CN105094969A (zh) | 一种用于移动终端的外设 | |
CN206595696U (zh) | 一种短路保护电路、电源适配器及移动终端 | |
CN108897516A (zh) | 一种可穿戴设备音量调整方法及相关产品 | |
CN110138411A (zh) | 射频电路、信号处理方法、装置及终端 | |
CN102868755A (zh) | 远程医疗通信系统及其工作方法 | |
CN201204668Y (zh) | 一种终端 | |
US11996700B2 (en) | Wireless charging control method, circuit and terminal device | |
CN108882084A (zh) | 一种可穿戴设备电量均衡方法及相关产品 | |
CN213484903U (zh) | 一种带有旋钮的交换机 | |
CN108649671A (zh) | 一种无线充电电路及可穿戴式设备 | |
CN104616456A (zh) | 一种防止移动终端遗漏的系统及其方法 | |
CN106792583B (zh) | 一种彩信发送的方法及终端和计算机可读存储介质 | |
US20140148215A1 (en) | Mobile communication device capable of switching between different antenna modes | |
CN210807309U (zh) | 一种具有语音交互功能的便携式无线cpe装置 | |
CN106357765B (zh) | 一种信息同步的方法及终端 | |
CN2609307Y (zh) | 具有心率监控功能的手机 | |
CN109361522A (zh) | 一种同时支持以太网供电和以太网对外供电的无线ap | |
CN215601434U (zh) | 多向开关WiFi模组 | |
CN216930168U (zh) | 一种带路由器功能的电视设备 | |
CN109413728A (zh) | 一种终端设备及信号处理方法 | |
CN117119110A (zh) | 一种呼叫系统 | |
CN214707691U (zh) | 具有远场识别功能的WiFi模组 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |