一种基于Android客户端的人体成分信息系统的制作方法

文档序号:759493阅读:280来源:国知局
一种基于Android客户端的人体成分信息系统的制作方法
【专利摘要】本发明公开了一种基于Android客户端的人体成分信息系统,其特征是,组成包括:Android客户端、测量装置、数据库服务器、FTP服务器、Web服务器和移动存储设备;Android客户端用于管理用户档案,采集和管理用户人体成分信息;测量装置用于测量体重和人体成分数据;数据库服务器用于远程存储用户人体成分数据;FTP服务器用于远程存储用户的PDF测量结果报表;Web服务器用于向Internet提供人体成分信息浏览;移动存储设备用于存放批量导入导出的文件。本发明能对用户档案和人体成分数据进行系统管理、存储、同步和批量导入导出,并且降低开发周期、设备成本和能耗,提高便携性和移动性。
【专利说明】一种基于Android客户端的人体成分信息系统

【技术领域】
[0001] 本发明涉及人体成分信息技术,尤其涉及一种基于Android客户端的人体成分信 息系统。

【背景技术】
[0002] 人体成分包括水分,脂肪,肌肉,矿物质等,是健康和身体机能的重要决定因素。人 体成分测量方法有皮褶厚度法、水下称重法、空气置换法,双重能量吸收法,超声波法、生物 电阻抗法、核磁共振成像法等。
[0003] 生物电阻抗分析法(BIA)是一种用以评估身体成分的间接方法。当微弱的交流电 信号导入人体时,电流会沿着电阻小、传导性能好的体液流动。由于人体中脂肪组织含水量 少,导电性差,而非脂肪组织比脂肪组织具有更高的电荷容量,易于导电,生物电阻抗法利 用测量电流通过身体的脂肪和非脂肪组织时的差别来计算人体成分。通常利用用户信息 (身高,年龄,性别,体重等)与身体各阶段电阻值,并结合经验公式计算出人体成分。生物 电阻抗分析法是一种无创、快速、简单、实用的人体成分分析方法。
[0004] 现阶段主流的使用生物电阻抗法的人体成分测量仪器上位机客户端大多运行在 PC机,笔记本或嵌入式系统中。一方面,PC机和笔记本功能强大,高级编程语言的快速程序 开发(rapid application development,RAD),降低了开发成本。然而,其设备成本和能耗 通常很高,并且鼠标和键盘的使用导致了非直接的人机交互,影响用户体验。这些系统的笨 重和庞大导致移动性和便携性降低。另一方面,传统的嵌入式设备成本低,能耗低。但缺陷 在于开发成本相对较高,因为开发周期长,系统开发和维护,特别是在图形编程上的难度较 大。另外,用来交互的客户端通常没有吸引力,不能带来较好的用户体验。
[0005] 开发商生产的人体成分测量仪器通常没有完善的信息系统,不能从多方面管理用 户档案信息和用户人体成分信息。用户档案信息不能进行批量导入、异地备份等。且只能 将人体成分信息存储在本地,不能通过网络进行多样化人体成分信息及报表的存储,导出, 同步,共孚等。
[0006] 此外,人体成分测量时客户端与测量端常用的通信过程为:通信开始,客户端发送 测量指令,测量端开始测量,完成测量,返回人体成分信息,通信完毕。客户端与测量端仅有 一次数据通信。这样的通信方式虽能完成通信任务及得到测量结果,但因缺乏通信过程监 督而导致数据丢失,亦无法进行故障提示,鲁棒性容错性差。


【发明内容】

[0007] 本发明是为避免现技术所存在的不足之处,提出一种基于Android客户端的人体 成分信息系统,能对用户档案和人体成分数据进行系统管理、存储、同步和批量导入导出, 并且降低开发周期、设备成本和能耗,提高便携性和移动性。
[0008] 本发明为解决技术问题采用如下技术方案:
[0009] 本发明一种基于Android客户端的人体成分信息系统的特点是组成包括: Android客户端、数据库服务器、FTP服务器和Web服务器、移动存储设备和测量装置; [0010] 所述Android客户端的组成包括用户注册模块、体重测量模块、人体成分测量模 块、同步模块、系统设置模块、数据管理模块;
[0011] 所述测量装置的组成包括主控单元、测量电极和体重传感器;
[0012] 所述用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用 所述同步模块发送给所述数据库服务器进行同步以及所述主控单元进行存储;所述用户的 档案信息包括:姓名、身高、年龄和性别;
[0013] 所述体重测量模块利用所述主控单元控制所述体重传感器获取用户的体重信号 并通过线性回归方程计算获得用户的初始体重,再根据所述系统设置模块获取的衣物重量 计算获得用户的真实体重后发送给所述主控单元;
[0014] 所述人体成分测量模块利用所述主控单元控制所述测量电极获取人体生物电阻 抗值并存入所述主控单元中;
[0015] 所述主控单元根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻 抗值计算获得用户的人体成分信息并发送给所述人体成分测量模块用于生成用户测量记 录;
[0016] 所述同步模块将所述用户测量记录同步到所述数据库服务器,并生成PDF测量结 果报表发送至所述FTP服务器进行存储;
[0017] 所述FTP服务器或所述移动存储设备用于批量采集用户的档案信息;
[0018] 所述数据管理模块用于从所述FTP服务器或移动存储设备中批量导入用户的档 案信息;并将所述用户测量记录导出至所述移动存储设备或所述FTP服务器中;
[0019] 所述Web服务器用于调取所述数据库服务器中的用户测量记录并提供给用户进 行浏览。
[0020] 本发明基于Android客户端的人体成分信息系统的特点也在于,
[0021] 所述Android客户端按如下步骤获取所述测量装置发送的人体成分信息:
[0022] 步骤1、初始化所述Android客户端未收到第一响应指令S2的次数nl = 0 ;所述 Android客户端收到测量故障指令S4的次数ml = 0 ;所述Android客户端未收到第二响应 指令S6的次数n2 = 0 ;所述Android客户端收到询问故障响应指令S8的次数m2 = 0 ;所 述Android客户端收到测量未完成响应指令S7后等待时间Ti = 0 ;所述Android客户端 未收到第三响应指令S11的次数n3 = 0 ;所述Android客户端收到人体成分信息故障指令 S13的次数m3 = 0 ;
[0023] 步骤2、所述Android客户端发送测量指令S1给所述测量装置;
[0024] 步骤3、所述Android客户端判断是否接收到所述测量装置返回的第一响应指令 S2 ;若所述Android客户端未收到所述第一响应指令S2,则将nl+1赋值给nl并执行步骤 4,否则执行步骤5;
[0025] 步骤4、判断未收到所述第一响应指令S2的次数nl是否>所设定的最大未响应次 数N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Τη 后返回步骤2执行;
[0026] 步骤5、所述Android客户端判断所述第一响应指令S2是否为测量响应指令S3, 若不是,则表示所述第一响应指令S2为测量故障指令S4,并将ml+1赋值给ml ;并执行步骤 6 ;否则执行步骤7 ;
[0027] 步骤6、判断所述测量故障指令S4的次数ml是否 >所设的最大故障次数M,若大 于等于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2 ;
[0028] 步骤7、所述Android客户端发送测量完成询问指令S5 ;
[0029] 步骤8、所述Android客户端判断是否接收到所述测量装置返回的第二响应指令 S6,若所述Android客户端未收到所述第二响应指令S6,则将n2+l赋值给n2并执行步骤 9 ;否则执行步骤10 ;
[0030] 步骤9、判断未收到所述第二响应指令S6的次数n2是否>所设的最大未响应次数 N,若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Τη后 返回步骤7执行;
[0031] 步骤10、判断所述第二响应指令S6是否为测量未完成响应指令S7,若是,则执行 步骤11 ;否则执行步骤13 ;
[0032] 步骤11、所述Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti ;
[0033] 步骤12、判断所述询问时间间隔Ti是否>所设的最大测量等待时间T,若大于等 于最大测量等待时间T,则进行测量超时报错;否则,执行步骤7 ;
[0034] 步骤13、判断所述第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+l 赋值给m2 ;并执行步骤14 ;否则执行步骤15 ;
[0035] 步骤14、判断所述询问故障响应指令S8的次数m2是否>所设的最大故障次数M, 若大于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤 7 ;
[0036] 步骤15、判断出所述第二响应指令S6为测量已完成响应指令S9 ;
[0037] 步骤16、所述Android客户端发送请求人体成分信息指令S10给所述测量装置;
[0038] 步骤17、所述Android客户端判断是否接收到所述测量装置返回的第三响应指令 S11 ;若所述Android客户端未收到所述第三响应指令S11,则将n3+l赋值给n3并执行步 骤18,否则执行步骤19;
[0039] 步骤18、判断未收到所述第三响应指令S11的次数n3是否 > 所设定的最大未响应 次数N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔 Τη后返回步骤16执行;
[0040] 步骤19、判断所述第三响应指令S11是否为人体成分信息指令S12,若不是,则表 示所述第三响应指令S11为人体成分信息故障指令S13,并将m3+l赋值给m3 ;并执行步骤 20 ;否则表示所述Android客户端成功获取所述测量装置发送的人体成分信息;
[0041] 步骤20、判断所述人体成分信息故障指令S13的次数m3是否>所设的最大故障次 数M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回 步骤16。
[0042] 与已有技术相比,本发明的有益效果体现在:
[0043] 1、本发明基于Android客户端实现,能耗低,便携性好,客户端设备成本低廉,使 用基于Android操作系统的手机即可,有效解决了现有人体成分测量仪器客户端在PC机, 笔记本或嵌入式系统中人机交互差,能耗高,移动性和便携性差等诸多问题,提升系统的用 户体验,并降低设备成本和开发周期。
[0044] 2、本发明的测量装置集成了对体重传感器和测量电极的控制,能够快速准确测量 体重及人体成分信息,并采用生物电阻抗分析法快速、无创、安全地测量出人体成分信息, 为用户提供重要且全面的健康信息数据,从而使家庭自助式人体成分测量仪器的普及成为 可能。
[0045] 3、本发明能够从多方面管理用户档案信息,实现用户档案自动备份至数据库服务 器,从FTP服务器或移动存储设备中能实现批量导入,提高工作效率,节省时间。
[0046] 4、本发明既可以将人体成分信息存储在本地,也能通过网络存储至数据库服务 器、FTP服务器,方便导出,同时还能通过Web服务器向客户提供信息浏览功能,实现人体成 分信息的多重管理。
[0047] 5、本发明对人体成分测量通信过程进行了优化,有效解决了客户端与测量装置通 信过程中存在的鲁棒性差、容错性差、故障处理能力弱等问题,并能够有效处理指令故障、 指令接收失败等问题,提高了系统可靠性,保证数据的准确传输。

【专利附图】

【附图说明】
[0048] 图1为本发明整体框架示意图;
[0049] 图2为本发明结构组成示意图;
[0050] 图3为本发明Android客户端与测量装置连接示意图;
[0051] 图4为本发明Android客户端获取测量装置发送的人体成分信息所涉及指令示意 图;
[0052] 图5为本发明Android客户端获取测量装置发送的人体成分信息步骤示意图;
[0053] 图中标号:lMiniUSB通信接口;2MiniUSB转换器;3USB转串口线;4体重传感器; 5测量电极;6主控单元。

【具体实施方式】
[0054] 如图1所示,本实施例中,一种基于Android客户端的人体成分信息系统的组成包 括:Android客户端、数据库服务器、FTP服务器、Web服务器、移动存储设备、测量装置;其 中:
[0055] Android客户端用于建立和管理用户档案、从测量装置获取人体成分信息,如图2 所示,其组成包括用户注册模块、体重测量模块、人体成分测量模块、同步模块、通信模块、 系统设置模块、数据管理模块;
[0056] 如图3所示,Android客户端与测量装置相连接,测量装置的组成包括主控单元6、 测量电极5和体重传感器4;
[0057] 具体实施时,Android客户端通过miniUSB通信接口 1,经miniUSB转换器2转 换,通过USB转串口线3与人体成分测量电路板的主控单元6进行串口通信;更优选地, Android客户端通过miniUSB通信接口 1经miniUSB转换器2连接至USB hub,然后通过 USB转串口线3与主控单元6进行串口通信。采用USBhub是因为其同时可以提供外设USB 接口,供U盘或移动硬盘等移动存储设备动态接入,进行批量导入导出等操作;
[0058] 用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用同步 模块发送给数据库服务器进行同步以及主控单元6进行存储;用户的档案信息包括:姓名、 身高、年龄和性别;
[0059] 具体实施时,Android客户端采用包括网络访问功能、通信接口、信息输入功能,并 具有Android操作系统的平板电脑,还可以进一步简化使用Android手机代替。用户通过 Android客户端输入个人档案后,用户注册模块将档案信息保存至本地SQLite数据库,同 步模块建立与数据库服务器的连接,并用数据插入的操作方式将档案信息同步至数据库服 务器;
[0060] 数据库服务器中的数据库使用Oracle公司的MySQL关系型数据库搭建,体积小、 速度快、成本低,且源码开放,方便实用。同步模块利用MySQL Connector/J进行与数据库 服务器的连接及各种数据操作,MySQL Connector/J是Oracle官方为MySQL设计的JDBC driver (Java Data Base Connectivity driver, java 数据库连接驱动器)。同步模块与数 据库服务器或FTP服务器建立连接时,先从系统设置模块获取如服务器地址、登陆名、密码 等参数进行登陆,然后进行数据同步,文件上传等操作。系统设置模块用于对系统运行时使 用的一些特殊参数进行设置,包括减除衣物重量、体重传感器回归方程参数、人体成分测量 过程控制参数、FTP服务器参数、数据库服务器参数等;
[0061] 数据库服务器接收并存储用户的档案信息;同时,Android客户端的用户注册模 块将用户档案信息发送至测量装置的主控单元6。具体实施时,主控单元6的主控芯片采用 的是STM32R8T6型单片机,64管脚,简单、成本低、质量好。主控单元6接收到用户档案信息 后,将数据存储在寄存器变量中以备用来计算人体成分信息;
[0062] 体重测量模块利用主控单元6控制体重传感器4获取用户的体重信号并通过线性 回归方程计算获得用户的初始体重,再根据系统设置模块获取的衣物重量计算获得用户的 真实体重后发送给主控单元6 ;
[0063] 具体实施时,体重传感器4采用Transcell SBS-ESH悬臂梁称重传感器,有效测量 范围0?200kg,精度高、稳定性好。体重传感器4自身对应一个线性回归方程,方程形式为 y = Ax+B,代表体重传感器4获取的AD信号值X与实际重量y的对应关系。A、B数值已知, 即体重传感器回归方程参数,在系统设置模块中获取。测量体重时,体重测量模块向主控单 元6发送体重测量指令,主控单元6控制体重传感器4进行体重测量,体重传感器4将采集 到的体重AD信号值发送给主控单元6,主控单元6的主控芯片将AD信号值xl经采样、取平 均、封装成为体重指令后发送给体重测量模块,体重测量模块将接收到的AD信号值xl代入 线性回归方程得出实际重量yl =AXxl+B。因此时的AD信号值对应的重量为用户加上测 量台面的总重量,需要再减去空载只有测量台面时所得出的AD信号值x0对应的重量y0 = ΑΧχ0+Β,得到用户初始体重值,初始体重值=yl-y0 = AXxl+B-(AXxO+B) = A(xl-xO)。
[0064] 减除衣物重量在系统设置模块中设定,分为三种模式:第一种是设置为每次体重 测量完成后减除固定的衣物重量;第二种是分别设置四季应减除的衣物重量,测量时根据 系统时间判断当前所在季节并减除相应的重量;第三种是在每次测量体重之前由用户自己 指定衣物重量,然后在体重测量模块体重测量完成之后自动进行减除;
[0065] 体重测量模块将初始体重减去衣物重量值,得到用户的真实体重,发送给主控单 元6 ;主控单元6将用户的真实体重值存储在寄存器变量中以备用来计算人体成分信息; [0066] 人体成分测量模块利用主控单元6控制测量电极5获取人体生物电阻抗值并存入 主控单元6中;
[0067] 具体实施时,人体成分测量模块向主控单元6发送测量指令,主控单元6通过主控 芯片控制信号发生器产生50KHz的交流激励信号,经过信号调理电路放大及滤波后通过测 量电极5接入人体的某路导联,人体导联共有六个导联(左上肢左下肢,左上肢右下肢,左 上肢右上肢,右上肢左下肢,右上肢右下肢,左下肢右下肢),导联切换方式由主控芯片控制 两路多路模拟开关依次选择人体六路导联。然后,通过中控芯片控制另外两路多路开关的 选择,对应测量处通过交流信号的某导联的电压值得出某路导联的阻值,即此通路人体生 物电阻抗值。再通过一次选择模拟开关,获取六路导联的阻抗值,由此得出四肢及躯干各部 分的生物电阻抗值,并将生物电阻抗值存入寄存器变量中以备用来计算人体成分信息;
[0068] 主控单元6根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻抗 值计算获得用户的人体成分信息并发送给人体成分测量模块用于生成用户测量记录; [0069] 具体实施时,主控单元6将先前存储于寄存器变量中的年龄、性别、身高、用户的 真实体重、生物电阻抗值取出,根据集成在主控芯片中的特定人体成分公式计算出各项人 体成分值;然后,主控单元6将各项人体成分信息封装成指令发送给人体成分测量模块;人 体成分测量模块将本次用户测量记录存入SQLite数据库中,用户测量记录还包括测量时 间,人体成分信息等;
[0070] 同步模块将用户测量记录同步到数据库服务器,并生成PDF测量结果报表发送至 FTP服务器进行存储;
[0071] 具体实施时,同步模块先利用Android Droidtext library类库生成PDF测量结 果报表保存至Android客户端内置存储或SD卡上。同步模块对FTP服务器相关操作所使 用的辅助类库为Apache Commons Net library。上传时同步模块首先通过FTPClient类建 立与FTP服务器的连接,然后以文件输入流FilelnputStream的方式将Android客户端内 置存储或SD卡上的PDF测量结果报表保存至FTP服务器根目录下的报表文件夹中,报表文 件夹位置在系统设置模块中设定。
[0072] FTP服务器或移动存储设备用于批量采集用户的档案信息;
[0073] 具体实施时,用户可以把以前未在Android客户端注册的档案信息用指定的字段 顺序进行存放,然后逐行添加至Excel文件中,形成用户档案信息Excel文件,并存放于移 动存储设备或FTP服务器根目录中用来进行批量导入的文件夹里,文件夹及具体文件名位 置在系统设置模块中进行设定;
[0074] 数据管理模块用于从FTP服务器或移动存储设备中批量导入用户的档案信息;并 将用户测量记录导出至移动存储设备或FTP服务器中;
[0075] 如需同时添加一定数量的用户,则显然手动在Android客户端注册再保存的方法 效率非常低,需要进行批量导入。具体实施时,用户向USB hub插入U盘或移动硬盘等移动 存储设备,数据管理模块挂载所插入的设备至指定系统文件夹,找到其中的用户档案信息 Excel文件,并使用Jxl. jar解析文件内容,Jxl是一个开源的Java Excel API项目的工 具类库;解析出文件中的用户档案信息,然后用户注册模块用数据库事务的方式向SQLite 数据库批量插入用户档案进行导入。批量采集的用户档案信息通过同步模块同步至数据库 服务器进行备份。需从网络进行批量导入时,数据管理模块根据系统设置模块中的文件夹 及具体文件名利用同步模块从FTP服务器定位并下载用户提前制作好的档案信息Excel文 件,然后解析档案信息,利用用户注册模块批量导入。
[0076] 数据管理模块还可以用于批量导出用户测量记录至移动存储设备或FTP服务器 中,用于进行二次数据分析;具体实施时,用户向USB hub插入U盘或移动硬盘等移动存储 设备,数据管理模块挂载所插入的设备至指定系统文件夹,并使用Jxl. jar将用户测量记 录逐行逐字段写入临时Excel文件中;写入完成后,关闭文件,并移动此文件至移动存储设 备挂载的文件夹下,导出完毕。数据管理模块还可以将临时Excel文件利用数据同步模块 导出(上传)至FTP服务器根目录下接收导出结果的文件夹中,文件夹位置在系统设置模 块中进行设定。
[0077] Web服务器用于调取数据库服务器中的用户测量记录并提供给用户进行浏览。
[0078] 具体实施中,用户可通过电脑、笔记本、平板电脑、手机等能够接入Internet的设 备进行随时随地信息查看。首先用户登录Web服务器发布的网站IP地址并进行查询,用户 浏览器作为客户端向Web服务器发送查询请求;之后,Web服务器利用WebService技术从 数据库服务器查询出所需的用户测量记录,并将其返回给用户浏览器;Web服务器还可以 提供其他数据访问接口,供研究所,医院,大学等访问数据库服务器并对人体成分信息进行 数据分析、统计、建模等。
[0079] 本发明所采用的通信协议格式为[标识位,标识位,长度位,数据位,…,数据位, 数据位,…,数据位,校验位]。常用的通信格式为[数据位,数据位,…,标识位,…,校验 位]。然而,这种格式存在固有的缺陷,因为它导致了通信接收端不能判断出前几个字节为 有效数据还是错误数据,必须接收多个指令字节后再进行判断。相比之下,本发明设计的通 信协议格式可以有效减少字节传输错误发生时的重传时间。如果Android客户端判断出接 收到的指令前几个字节已发生错误,会迅速停止后续字节接收,向测量装置要求指令重传, 便于快速接收到正确指令。
[0080] 如图4所示,Android客户端与测量装置在人体成分测量过程中采用3组共7个通 信指令,Android客户端为测量指令S1、测量完成询问指令S5、请求人体成分信息指令S10 ; 测量装置分别对应的响应指令为测量响应指令S3、测量完成询问响应、人体成分信息指令 S12 ;测量完成询问响应分为测量已完成响应指令S9和测量未完成响应指令S7 ;响应指令 的类型为正常响应,故障响应,未响应。故障响应的内容包括指令长度错误,校验错误,字节 顺序错误,标识位错误等。
[0081] 为了提高Android客户端与测量装置进行人体成分测量通信时系统的鲁棒性、容 错性、故障处理能力,通信过程中首先添加了以下参数,具体数值可以在系统设置模块中进 行设定,即人体成分测量过程控制参数:最大故障次数M、最大未响应次数N、故障时间间隔 Tm、未响应时间间隔Τη、询问时间间隔Ti、最大测量等待时间T。
[0082] 如图5所示,Android客户端按如下步骤获取测量装置发送的人体成分信息:
[0083] 步骤1、初始化Android客户端未收到第一响应指令S2的次数nl = 0 ;Android客 户端收到测量故障指令S4的次数ml = 0 ;Android客户端未收到第二响应指令S6的次数 n2 = 0 ;Android客户端收到询问故障响应指令S8的次数m2 = 0 ;Android客户端收到测 量未完成响应指令S7后等待时间Ti = 0 ;Android客户端未收到第三响应指令S11的次数 n3 = 0 ;Android客户端收到人体成分信息故障指令S13的次数m3 = 0 ;
[0084] 步骤2、Android客户端发送测量指令S1给测量装置;
[0085] 步骤3、Android客户端判断是否接收到测量装置返回的第一响应指令S2 ;若 Android客户端未收到第一响应指令S2,则将nl+1赋值给nl并执行步骤4,否则执行步骤 5 ;
[0086] 步骤4、判断未收到第一响应指令S2的次数nl是否>所设定的最大未响应次数 N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Τη后 返回步骤2执行;
[0087] 步骤5、Android客户端判断第一响应指令S2是否为测量响应指令S3,若不是,则 表示第一响应指令S2为测量故障指令S4,并将ml+1赋值给ml ;并执行步骤6 ;否则执行步 骤7 ;
[0088] 步骤6、判断测量故障指令S4的次数ml是否 >所设的最大故障次数M,若大于等 于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2 ;
[0089] 步骤7、Android客户端发送测量完成询问指令S5 ;
[0090] 步骤8、Android客户端判断是否接收到测量装置返回的第二响应指令S6,若 Android客户端未收到第二响应指令S6,则将n2+l赋值给n2并执行步骤9 ;否则执行步骤 10 ;
[0091] 步骤9、判断未收到第二响应指令S6的次数n2是否>所设的最大未响应次数N, 若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Τη后返 回步骤7执行;
[0092] 步骤10、判断第二响应指令S6是否为测量未完成响应指令S7,若是,则执行步骤 11;否则执行步骤13;
[0093] 步骤11、Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti ;
[0094] 步骤12、判断询问时间间隔Ti是否>所设的最大测量等待时间T,若大于等于最 大测量等待时间T,则进行测量超时报错;否则,执行步骤7 ;
[0095] 步骤13、判断第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+l赋值 给m2 ;并执行步骤14 ;否则执行步骤15 ;
[0096] 步骤14、判断询问故障响应指令S8的次数m2是否>所设的最大故障次数M,若大 于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤7 ;
[0097] 步骤15、判断出第二响应指令S6为测量已完成响应指令S9 ;
[0098] 步骤16、Android客户端发送请求人体成分信息指令S10给测量装置;
[0099] 步骤17、Android客户端判断是否接收到测量装置返回的第三响应指令S11 ;若 Android客户端未收到第三响应指令S11,则将n3+l赋值给n3并执行步骤18,否则执行步 骤19 ;
[0100] 步骤18、判断未收到第三响应指令S11的次数n3是否 > 所设定的最大未响应次数 N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔Τη后 返回步骤16执行;
[0101] 步骤19、判断第三响应指令S11是否为人体成分信息指令S12,若不是,则表示第 三响应指令S11为人体成分信息故障指令S13,并将m3+l赋值给m3 ;并执行步骤20 ;否则 表示Android客户端已经成功获取测量装置发送的人体成分信息;
[0102] 步骤20、判断人体成分信息故障指令S13的次数m3是否 >所设的最大故障次数 M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回步 骤16。
[0103] Android客户端每次发送通信指令均需收到测量装置对应的响应指令,有效监控 测量装置的响应,保证测量装置时刻处于正常工作状态之中;添加了不同情况下的指令等 待与重传控制,并且各类等待时间、重传次数等参数均可以通过系统设置模块进行设定,灵 活性好;通信环节引入了异常处理机制,对不同的通信异常进行分类、捕捉、定位、处理、报 错。流程的每一步都可以得到控制,有效提高了系统的通信鲁棒性、容错性和故障处理能 力。
【权利要求】
1. 一种基于Android客户端的人体成分信息系统,其特征是组成包括:Android客户 端、数据库服务器、FTP服务器和Web服务器、移动存储设备和测量装置; 所述Android客户端的组成包括用户注册模块、体重测量模块、人体成分测量模块、同 步模块、系统设置模块、数据管理模块; 所述测量装置的组成包括主控单元、测量电极和体重传感器; 所述用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用所述 同步模块发送给所述数据库服务器进行同步以及所述主控单元进行存储;所述用户的档案 信息包括:姓名、身高、年龄和性别; 所述体重测量模块利用所述主控单元控制所述体重传感器获取用户的体重信号并通 过线性回归方程计算获得用户的初始体重,再根据所述系统设置模块获取的衣物重量计算 获得用户的真实体重后发送给所述主控单元; 所述人体成分测量模块利用所述主控单元控制所述测量电极获取人体生物电阻抗值 并存入所述主控单元中; 所述主控单元根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻抗值 计算获得用户的人体成分信息并发送给所述人体成分测量模块用于生成用户测量记录; 所述同步模块将所述用户测量记录同步到所述数据库服务器,并生成PDF测量结果报 表发送至所述FTP服务器进行存储; 所述FTP服务器或所述移动存储设备用于批量采集用户的档案信息; 所述数据管理模块用于从所述FTP服务器或移动存储设备中批量导入用户的档案信 息;并将所述用户测量记录导出至所述移动存储设备或所述FTP服务器中; 所述Web服务器用于调取所述数据库服务器中的用户测量记录并提供给用户进行浏 览。
2. 根据权利要求1所述的基于Android客户端的人体成分信息系统,其特征是所述 Android客户端按如下步骤获取所述测量装置发送的人体成分信息: 步骤1、初始化所述Android客户端未收到第一响应指令S2的次数nl = 0 ;所述 Android客户端收到测量故障指令S4的次数ml = 0 ;所述Android客户端未收到第二响应 指令S6的次数n2 = 0 ;所述Android客户端收到询问故障响应指令S8的次数m2 = 0 ;所 述Android客户端收到测量未完成响应指令S7后等待时间Ti = 0 ;所述Android客户端 未收到第三响应指令S11的次数n3 = 0 ;所述Android客户端收到人体成分信息故障指令 S13的次数m3 = 0 ; 步骤2、所述Android客户端发送测量指令S1给所述测量装置; 步骤3、所述Android客户端判断是否接收到所述测量装置返回的第一响应指令S2 ;若 所述Android客户端未收到所述第一响应指令S2,则将nl+1赋值给nl并执行步骤4,否则 执行步骤5 ; 步骤4、判断未收到所述第一响应指令S2的次数nl是否>所设定的最大未响应次数 N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Τη后 返回步骤2执行; 步骤5、所述Android客户端判断所述第一响应指令S2是否为测量响应指令S3,若不 是,则表示所述第一响应指令S2为测量故障指令S4,并将ml+1赋值给ml ;并执行步骤6 ; 否则执行步骤7 ; 步骤6、判断所述测量故障指令S4的次数ml是否>所设的最大故障次数M,若大于等 于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2 ; 步骤7、所述Android客户端发送测量完成询问指令S5 ; 步骤8、所述Android客户端判断是否接收到所述测量装置返回的第二响应指令S6,若 所述Android客户端未收到所述第二响应指令S6,则将n2+l赋值给n2并执行步骤9 ;否则 执行步骤10 ; 步骤9、判断未收到所述第二响应指令S6的次数n2是否>所设的最大未响应次数N, 若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Τη后返 回步骤7执行; 步骤10、判断所述第二响应指令S6是否为测量未完成响应指令S7,若是,则执行步骤 11;否则执行步骤13; 步骤11、所述Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti ; 步骤12、判断所述询问时间间隔Ti是否>所设的最大测量等待时间T,若大于等于最 大测量等待时间T,则进行测量超时报错;否则,执行步骤7 ; 步骤13、判断所述第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+l赋值 给m2 ;并执行步骤14 ;否则执行步骤15 ; 步骤14、判断所述询问故障响应指令S8的次数m2是否>所设的最大故障次数M,若大 于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤7 ; 步骤15、判断出所述第二响应指令S6为测量已完成响应指令S9 ; 步骤16、所述Android客户端发送请求人体成分信息指令S10给所述测量装置; 步骤17、所述Android客户端判断是否接收到所述测量装置返回的第三响应指令S11 ; 若所述Android客户端未收到所述第三响应指令S11,则将n3+l赋值给n3并执行步骤18, 否则执行步骤19 ; 步骤18、判断未收到所述第三响应指令S11的次数n3是否 > 所设定的最大未响应次数 N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔Τη后 返回步骤16执行; 步骤19、判断所述第三响应指令S11是否为人体成分信息指令S12,若不是,则表示所 述第三响应指令S11为人体成分信息故障指令S13,并将m3+l赋值给m3 ;并执行步骤20 ; 否则表示所述Android客户端成功获取所述测量装置发送的人体成分信息; 步骤20、判断所述人体成分信息故障指令S13的次数m3是否>所设的最大故障次数 M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回步 骤16。
【文档编号】A61B5/053GK104188653SQ201410455995
【公开日】2014年12月10日 申请日期:2014年9月3日 优先权日:2014年9月3日
【发明者】刘冰, 李晓风, 赵赫, 谭海波 申请人:中国科学院合肥物质科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1