CN104188653A - 一种基于Android客户端的人体成分信息系统 - Google Patents
一种基于Android客户端的人体成分信息系统 Download PDFInfo
- Publication number
- CN104188653A CN104188653A CN201410455995.0A CN201410455995A CN104188653A CN 104188653 A CN104188653 A CN 104188653A CN 201410455995 A CN201410455995 A CN 201410455995A CN 104188653 A CN104188653 A CN 104188653A
- Authority
- CN
- China
- Prior art keywords
- android client
- response
- instruction
- user
- human body
- 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.)
- Pending
Links
Abstract
本发明公开了一种基于Android客户端的人体成分信息系统,其特征是,组成包括:Android客户端、测量装置、数据库服务器、FTP服务器、Web服务器和移动存储设备;Android客户端用于管理用户档案,采集和管理用户人体成分信息;测量装置用于测量体重和人体成分数据;数据库服务器用于远程存储用户人体成分数据;FTP服务器用于远程存储用户的PDF测量结果报表;Web服务器用于向Internet提供人体成分信息浏览;移动存储设备用于存放批量导入导出的文件。本发明能对用户档案和人体成分数据进行系统管理、存储、同步和批量导入导出,并且降低开发周期、设备成本和能耗,提高便携性和移动性。
Description
技术领域
本发明涉及人体成分信息技术,尤其涉及一种基于Android客户端的人体成分信息系统。
背景技术
人体成分包括水分,脂肪,肌肉,矿物质等,是健康和身体机能的重要决定因素。人体成分测量方法有皮褶厚度法、水下称重法、空气置换法,双重能量吸收法,超声波法、生物电阻抗法、核磁共振成像法等。
生物电阻抗分析法(BIA)是一种用以评估身体成分的间接方法。当微弱的交流电信号导入人体时,电流会沿着电阻小、传导性能好的体液流动。由于人体中脂肪组织含水量少,导电性差,而非脂肪组织比脂肪组织具有更高的电荷容量,易于导电,生物电阻抗法利用测量电流通过身体的脂肪和非脂肪组织时的差别来计算人体成分。通常利用用户信息(身高,年龄,性别,体重等)与身体各阶段电阻值,并结合经验公式计算出人体成分。生物电阻抗分析法是一种无创、快速、简单、实用的人体成分分析方法。
现阶段主流的使用生物电阻抗法的人体成分测量仪器上位机客户端大多运行在PC机,笔记本或嵌入式系统中。一方面,PC机和笔记本功能强大,高级编程语言的快速程序开发(rapid application development,RAD),降低了开发成本。然而,其设备成本和能耗通常很高,并且鼠标和键盘的使用导致了非直接的人机交互,影响用户体验。这些系统的笨重和庞大导致移动性和便携性降低。另一方面,传统的嵌入式设备成本低,能耗低。但缺陷在于开发成本相对较高,因为开发周期长,系统开发和维护,特别是在图形编程上的难度较大。另外,用来交互的客户端通常没有吸引力,不能带来较好的用户体验。
开发商生产的人体成分测量仪器通常没有完善的信息系统,不能从多方面管理用户档案信息和用户人体成分信息。用户档案信息不能进行批量导入、异地备份等。且只能将人体成分信息存储在本地,不能通过网络进行多样化人体成分信息及报表的存储,导出,同步,共享等。
此外,人体成分测量时客户端与测量端常用的通信过程为:通信开始,客户端发送测量指令,测量端开始测量,完成测量,返回人体成分信息,通信完毕。客户端与测量端仅有一次数据通信。这样的通信方式虽能完成通信任务及得到测量结果,但因缺乏通信过程监督而导致数据丢失,亦无法进行故障提示,鲁棒性容错性差。
发明内容
本发明是为避免现技术所存在的不足之处,提出一种基于Android客户端的人体成分信息系统,能对用户档案和人体成分数据进行系统管理、存储、同步和批量导入导出,并且降低开发周期、设备成本和能耗,提高便携性和移动性。
本发明为解决技术问题采用如下技术方案:
本发明一种基于Android客户端的人体成分信息系统的特点是组成包括:Android客户端、数据库服务器、FTP服务器和Web服务器、移动存储设备和测量装置;
所述Android客户端的组成包括用户注册模块、体重测量模块、人体成分测量模块、同步模块、系统设置模块、数据管理模块;
所述测量装置的组成包括主控单元、测量电极和体重传感器;
所述用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用所述同步模块发送给所述数据库服务器进行同步以及所述主控单元进行存储;所述用户的档案信息包括:姓名、身高、年龄和性别;
所述体重测量模块利用所述主控单元控制所述体重传感器获取用户的体重信号并通过线性回归方程计算获得用户的初始体重,再根据所述系统设置模块获取的衣物重量计算获得用户的真实体重后发送给所述主控单元;
所述人体成分测量模块利用所述主控单元控制所述测量电极获取人体生物电阻抗值并存入所述主控单元中;
所述主控单元根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻抗值计算获得用户的人体成分信息并发送给所述人体成分测量模块用于生成用户测量记录;
所述同步模块将所述用户测量记录同步到所述数据库服务器,并生成PDF测量结果报表发送至所述FTP服务器进行存储;
所述FTP服务器或所述移动存储设备用于批量采集用户的档案信息;
所述数据管理模块用于从所述FTP服务器或移动存储设备中批量导入用户的档案信息;并将所述用户测量记录导出至所述移动存储设备或所述FTP服务器中;
所述Web服务器用于调取所述数据库服务器中的用户测量记录并提供给用户进行浏览。
本发明基于Android客户端的人体成分信息系统的特点也在于,
所述Android客户端按如下步骤获取所述测量装置发送的人体成分信息:
步骤1、初始化所述Android客户端未收到第一响应指令S2的次数n1=0;所述Android客户端收到测量故障指令S4的次数m1=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,则将n1+1赋值给n1并执行步骤4,否则执行步骤5;
步骤4、判断未收到所述第一响应指令S2的次数n1是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Tn后返回步骤2执行;
步骤5、所述Android客户端判断所述第一响应指令S2是否为测量响应指令S3,若不是,则表示所述第一响应指令S2为测量故障指令S4,并将m1+1赋值给m1;并执行步骤6;否则执行步骤7;
步骤6、判断所述测量故障指令S4的次数m1是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2;
步骤7、所述Android客户端发送测量完成询问指令S5;
步骤8、所述Android客户端判断是否接收到所述测量装置返回的第二响应指令S6,若所述Android客户端未收到所述第二响应指令S6,则将n2+1赋值给n2并执行步骤9;否则执行步骤10;
步骤9、判断未收到所述第二响应指令S6的次数n2是否≥所设的最大未响应次数N,若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Tn后返回步骤7执行;
步骤10、判断所述第二响应指令S6是否为测量未完成响应指令S7,若是,则执行步骤11;否则执行步骤13;
步骤11、所述Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti;
步骤12、判断所述询问时间间隔Ti是否≥所设的最大测量等待时间T,若大于等于最大测量等待时间T,则进行测量超时报错;否则,执行步骤7;
步骤13、判断所述第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+1赋值给m2;并执行步骤14;否则执行步骤15;
步骤14、判断所述询问故障响应指令S8的次数m2是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤7;
步骤15、判断出所述第二响应指令S6为测量已完成响应指令S9;
步骤16、所述Android客户端发送请求人体成分信息指令S10给所述测量装置;
步骤17、所述Android客户端判断是否接收到所述测量装置返回的第三响应指令S11;若所述Android客户端未收到所述第三响应指令S11,则将n3+1赋值给n3并执行步骤18,否则执行步骤19;
步骤18、判断未收到所述第三响应指令S11的次数n3是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔Tn后返回步骤16执行;
步骤19、判断所述第三响应指令S11是否为人体成分信息指令S12,若不是,则表示所述第三响应指令S11为人体成分信息故障指令S13,并将m3+1赋值给m3;并执行步骤20;否则表示所述Android客户端成功获取所述测量装置发送的人体成分信息;
步骤20、判断所述人体成分信息故障指令S13的次数m3是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回步骤16。
与已有技术相比,本发明的有益效果体现在:
1、本发明基于Android客户端实现,能耗低,便携性好,客户端设备成本低廉,使用基于Android操作系统的手机即可,有效解决了现有人体成分测量仪器客户端在PC机,笔记本或嵌入式系统中人机交互差,能耗高,移动性和便携性差等诸多问题,提升系统的用户体验,并降低设备成本和开发周期。
2、本发明的测量装置集成了对体重传感器和测量电极的控制,能够快速准确测量体重及人体成分信息,并采用生物电阻抗分析法快速、无创、安全地测量出人体成分信息,为用户提供重要且全面的健康信息数据,从而使家庭自助式人体成分测量仪器的普及成为可能。
3、本发明能够从多方面管理用户档案信息,实现用户档案自动备份至数据库服务器,从FTP服务器或移动存储设备中能实现批量导入,提高工作效率,节省时间。
4、本发明既可以将人体成分信息存储在本地,也能通过网络存储至数据库服务器、FTP服务器,方便导出,同时还能通过Web服务器向客户提供信息浏览功能,实现人体成分信息的多重管理。
5、本发明对人体成分测量通信过程进行了优化,有效解决了客户端与测量装置通信过程中存在的鲁棒性差、容错性差、故障处理能力弱等问题,并能够有效处理指令故障、指令接收失败等问题,提高了系统可靠性,保证数据的准确传输。
附图说明
图1为本发明整体框架示意图;
图2为本发明结构组成示意图;
图3为本发明Android客户端与测量装置连接示意图;
图4为本发明Android客户端获取测量装置发送的人体成分信息所涉及指令示意图;
图5为本发明Android客户端获取测量装置发送的人体成分信息步骤示意图;
图中标号:1MiniUSB通信接口;2MiniUSB转换器;3USB转串口线;4体重传感器;5测量电极;6主控单元。
具体实施方式
如图1所示,本实施例中,一种基于Android客户端的人体成分信息系统的组成包括:Android客户端、数据库服务器、FTP服务器、Web服务器、移动存储设备、测量装置;其中:
Android客户端用于建立和管理用户档案、从测量装置获取人体成分信息,如图2所示,其组成包括用户注册模块、体重测量模块、人体成分测量模块、同步模块、通信模块、系统设置模块、数据管理模块;
如图3所示,Android客户端与测量装置相连接,测量装置的组成包括主控单元6、测量电极5和体重传感器4;
具体实施时,Android客户端通过miniUSB通信接口1,经miniUSB转换器2转换,通过USB转串口线3与人体成分测量电路板的主控单元6进行串口通信;更优选地,Android客户端通过miniUSB通信接口1经miniUSB转换器2连接至USB hub,然后通过USB转串口线3与主控单元6进行串口通信。采用USBhub是因为其同时可以提供外设USB接口,供U盘或移动硬盘等移动存储设备动态接入,进行批量导入导出等操作;
用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用同步模块发送给数据库服务器进行同步以及主控单元6进行存储;用户的档案信息包括:姓名、身高、年龄和性别;
具体实施时,Android客户端采用包括网络访问功能、通信接口、信息输入功能,并具有Android操作系统的平板电脑,还可以进一步简化使用Android手机代替。用户通过Android客户端输入个人档案后,用户注册模块将档案信息保存至本地SQLite数据库,同步模块建立与数据库服务器的连接,并用数据插入的操作方式将档案信息同步至数据库服务器;
数据库服务器中的数据库使用Oracle公司的MySQL关系型数据库搭建,体积小、速度快、成本低,且源码开放,方便实用。同步模块利用MySQL Connector/J进行与数据库服务器的连接及各种数据操作,MySQL Connector/J是Oracle官方为MySQL设计的JDBC driver(Java Data Base Connectivity driver,java数据库连接驱动器)。同步模块与数据库服务器或FTP服务器建立连接时,先从系统设置模块获取如服务器地址、登陆名、密码等参数进行登陆,然后进行数据同步,文件上传等操作。系统设置模块用于对系统运行时使用的一些特殊参数进行设置,包括减除衣物重量、体重传感器回归方程参数、人体成分测量过程控制参数、FTP服务器参数、数据库服务器参数等;
数据库服务器接收并存储用户的档案信息;同时,Android客户端的用户注册模块将用户档案信息发送至测量装置的主控单元6。具体实施时,主控单元6的主控芯片采用的是STM32R8T6型单片机,64管脚,简单、成本低、质量好。主控单元6接收到用户档案信息后,将数据存储在寄存器变量中以备用来计算人体成分信息;
体重测量模块利用主控单元6控制体重传感器4获取用户的体重信号并通过线性回归方程计算获得用户的初始体重,再根据系统设置模块获取的衣物重量计算获得用户的真实体重后发送给主控单元6;
具体实施时,体重传感器4采用Transcell SBS-ESH悬臂梁称重传感器,有效测量范围0~200kg,精度高、稳定性好。体重传感器4自身对应一个线性回归方程,方程形式为y=Ax+B,代表体重传感器4获取的AD信号值x与实际重量y的对应关系。A、B数值已知,即体重传感器回归方程参数,在系统设置模块中获取。测量体重时,体重测量模块向主控单元6发送体重测量指令,主控单元6控制体重传感器4进行体重测量,体重传感器4将采集到的体重AD信号值发送给主控单元6,主控单元6的主控芯片将AD信号值x1经采样、取平均、封装成为体重指令后发送给体重测量模块,体重测量模块将接收到的AD信号值x1代入线性回归方程得出实际重量y1=A×x1+B。因此时的AD信号值对应的重量为用户加上测量台面的总重量,需要再减去空载只有测量台面时所得出的AD信号值x0对应的重量y0=A×x0+B,得到用户初始体重值,初始体重值=y1-y0=A×x1+B-(A×x0+B)=A(x1-x0)。
减除衣物重量在系统设置模块中设定,分为三种模式:第一种是设置为每次体重测量完成后减除固定的衣物重量;第二种是分别设置四季应减除的衣物重量,测量时根据系统时间判断当前所在季节并减除相应的重量;第三种是在每次测量体重之前由用户自己指定衣物重量,然后在体重测量模块体重测量完成之后自动进行减除;
体重测量模块将初始体重减去衣物重量值,得到用户的真实体重,发送给主控单元6;主控单元6将用户的真实体重值存储在寄存器变量中以备用来计算人体成分信息;
人体成分测量模块利用主控单元6控制测量电极5获取人体生物电阻抗值并存入主控单元6中;
具体实施时,人体成分测量模块向主控单元6发送测量指令,主控单元6通过主控芯片控制信号发生器产生50KHz的交流激励信号,经过信号调理电路放大及滤波后通过测量电极5接入人体的某路导联,人体导联共有六个导联(左上肢左下肢,左上肢右下肢,左上肢右上肢,右上肢左下肢,右上肢右下肢,左下肢右下肢),导联切换方式由主控芯片控制两路多路模拟开关依次选择人体六路导联。然后,通过中控芯片控制另外两路多路开关的选择,对应测量处通过交流信号的某导联的电压值得出某路导联的阻值,即此通路人体生物电阻抗值。再通过一次选择模拟开关,获取六路导联的阻抗值,由此得出四肢及躯干各部分的生物电阻抗值,并将生物电阻抗值存入寄存器变量中以备用来计算人体成分信息;
主控单元6根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻抗值计算获得用户的人体成分信息并发送给人体成分测量模块用于生成用户测量记录;
具体实施时,主控单元6将先前存储于寄存器变量中的年龄、性别、身高、用户的真实体重、生物电阻抗值取出,根据集成在主控芯片中的特定人体成分公式计算出各项人体成分值;然后,主控单元6将各项人体成分信息封装成指令发送给人体成分测量模块;人体成分测量模块将本次用户测量记录存入SQLite数据库中,用户测量记录还包括测量时间,人体成分信息等;
同步模块将用户测量记录同步到数据库服务器,并生成PDF测量结果报表发送至FTP服务器进行存储;
具体实施时,同步模块先利用Android Droidtext library类库生成PDF测量结果报表保存至Android客户端内置存储或SD卡上。同步模块对FTP服务器相关操作所使用的辅助类库为Apache Commons Net library。上传时同步模块首先通过FTPClient类建立与FTP服务器的连接,然后以文件输入流FileInputStream的方式将Android客户端内置存储或SD卡上的PDF测量结果报表保存至FTP服务器根目录下的报表文件夹中,报表文件夹位置在系统设置模块中设定。
FTP服务器或移动存储设备用于批量采集用户的档案信息;
具体实施时,用户可以把以前未在Android客户端注册的档案信息用指定的字段顺序进行存放,然后逐行添加至Excel文件中,形成用户档案信息Excel文件,并存放于移动存储设备或FTP服务器根目录中用来进行批量导入的文件夹里,文件夹及具体文件名位置在系统设置模块中进行设定;
数据管理模块用于从FTP服务器或移动存储设备中批量导入用户的档案信息;并将用户测量记录导出至移动存储设备或FTP服务器中;
如需同时添加一定数量的用户,则显然手动在Android客户端注册再保存的方法效率非常低,需要进行批量导入。具体实施时,用户向USB hub插入U盘或移动硬盘等移动存储设备,数据管理模块挂载所插入的设备至指定系统文件夹,找到其中的用户档案信息Excel文件,并使用Jxl.jar解析文件内容,Jxl是一个开源的Java Excel API项目的工具类库;解析出文件中的用户档案信息,然后用户注册模块用数据库事务的方式向SQLite数据库批量插入用户档案进行导入。批量采集的用户档案信息通过同步模块同步至数据库服务器进行备份。需从网络进行批量导入时,数据管理模块根据系统设置模块中的文件夹及具体文件名利用同步模块从FTP服务器定位并下载用户提前制作好的档案信息Excel文件,然后解析档案信息,利用用户注册模块批量导入。
数据管理模块还可以用于批量导出用户测量记录至移动存储设备或FTP服务器中,用于进行二次数据分析;具体实施时,用户向USB hub插入U盘或移动硬盘等移动存储设备,数据管理模块挂载所插入的设备至指定系统文件夹,并使用Jxl.jar将用户测量记录逐行逐字段写入临时Excel文件中;写入完成后,关闭文件,并移动此文件至移动存储设备挂载的文件夹下,导出完毕。数据管理模块还可以将临时Excel文件利用数据同步模块导出(上传)至FTP服务器根目录下接收导出结果的文件夹中,文件夹位置在系统设置模块中进行设定。
Web服务器用于调取数据库服务器中的用户测量记录并提供给用户进行浏览。
具体实施中,用户可通过电脑、笔记本、平板电脑、手机等能够接入Internet的设备进行随时随地信息查看。首先用户登录Web服务器发布的网站IP地址并进行查询,用户浏览器作为客户端向Web服务器发送查询请求;之后,Web服务器利用WebService技术从数据库服务器查询出所需的用户测量记录,并将其返回给用户浏览器;Web服务器还可以提供其他数据访问接口,供研究所,医院,大学等访问数据库服务器并对人体成分信息进行数据分析、统计、建模等。
本发明所采用的通信协议格式为[标识位,标识位,长度位,数据位,…,数据位,数据位,…,数据位,校验位]。常用的通信格式为[数据位,数据位,…,标识位,…,校验位]。然而,这种格式存在固有的缺陷,因为它导致了通信接收端不能判断出前几个字节为有效数据还是错误数据,必须接收多个指令字节后再进行判断。相比之下,本发明设计的通信协议格式可以有效减少字节传输错误发生时的重传时间。如果Android客户端判断出接收到的指令前几个字节已发生错误,会迅速停止后续字节接收,向测量装置要求指令重传,便于快速接收到正确指令。
如图4所示,Android客户端与测量装置在人体成分测量过程中采用3组共7个通信指令,Android客户端为测量指令S1、测量完成询问指令S5、请求人体成分信息指令S10;测量装置分别对应的响应指令为测量响应指令S3、测量完成询问响应、人体成分信息指令S12;测量完成询问响应分为测量已完成响应指令S9和测量未完成响应指令S7;响应指令的类型为正常响应,故障响应,未响应。故障响应的内容包括指令长度错误,校验错误,字节顺序错误,标识位错误等。
为了提高Android客户端与测量装置进行人体成分测量通信时系统的鲁棒性、容错性、故障处理能力,通信过程中首先添加了以下参数,具体数值可以在系统设置模块中进行设定,即人体成分测量过程控制参数:最大故障次数M、最大未响应次数N、故障时间间隔Tm、未响应时间间隔Tn、询问时间间隔Ti、最大测量等待时间T。
如图5所示,Android客户端按如下步骤获取测量装置发送的人体成分信息:
步骤1、初始化Android客户端未收到第一响应指令S2的次数n1=0;Android客户端收到测量故障指令S4的次数m1=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,则将n1+1赋值给n1并执行步骤4,否则执行步骤5;
步骤4、判断未收到第一响应指令S2的次数n1是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Tn后返回步骤2执行;
步骤5、Android客户端判断第一响应指令S2是否为测量响应指令S3,若不是,则表示第一响应指令S2为测量故障指令S4,并将m1+1赋值给m1;并执行步骤6;否则执行步骤7;
步骤6、判断测量故障指令S4的次数m1是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2;
步骤7、Android客户端发送测量完成询问指令S5;
步骤8、Android客户端判断是否接收到测量装置返回的第二响应指令S6,若Android客户端未收到第二响应指令S6,则将n2+1赋值给n2并执行步骤9;否则执行步骤10;
步骤9、判断未收到第二响应指令S6的次数n2是否≥所设的最大未响应次数N,若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Tn后返回步骤7执行;
步骤10、判断第二响应指令S6是否为测量未完成响应指令S7,若是,则执行步骤11;否则执行步骤13;
步骤11、Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti;
步骤12、判断询问时间间隔Ti是否≥所设的最大测量等待时间T,若大于等于最大测量等待时间T,则进行测量超时报错;否则,执行步骤7;
步骤13、判断第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+1赋值给m2;并执行步骤14;否则执行步骤15;
步骤14、判断询问故障响应指令S8的次数m2是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤7;
步骤15、判断出第二响应指令S6为测量已完成响应指令S9;
步骤16、Android客户端发送请求人体成分信息指令S10给测量装置;
步骤17、Android客户端判断是否接收到测量装置返回的第三响应指令S11;若Android客户端未收到第三响应指令S11,则将n3+1赋值给n3并执行步骤18,否则执行步骤19;
步骤18、判断未收到第三响应指令S11的次数n3是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔Tn后返回步骤16执行;
步骤19、判断第三响应指令S11是否为人体成分信息指令S12,若不是,则表示第三响应指令S11为人体成分信息故障指令S13,并将m3+1赋值给m3;并执行步骤20;否则表示Android客户端已经成功获取测量装置发送的人体成分信息;
步骤20、判断人体成分信息故障指令S13的次数m3是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回步骤16。
Android客户端每次发送通信指令均需收到测量装置对应的响应指令,有效监控测量装置的响应,保证测量装置时刻处于正常工作状态之中;添加了不同情况下的指令等待与重传控制,并且各类等待时间、重传次数等参数均可以通过系统设置模块进行设定,灵活性好;通信环节引入了异常处理机制,对不同的通信异常进行分类、捕捉、定位、处理、报错。流程的每一步都可以得到控制,有效提高了系统的通信鲁棒性、容错性和故障处理能力。
Claims (2)
1.一种基于Android客户端的人体成分信息系统,其特征是组成包括:Android客户端、数据库服务器、FTP服务器和Web服务器、移动存储设备和测量装置;
所述Android客户端的组成包括用户注册模块、体重测量模块、人体成分测量模块、同步模块、系统设置模块、数据管理模块;
所述测量装置的组成包括主控单元、测量电极和体重传感器;
所述用户注册模块采集用户的档案信息并存入本地SQLite数据库中,同时利用所述同步模块发送给所述数据库服务器进行同步以及所述主控单元进行存储;所述用户的档案信息包括:姓名、身高、年龄和性别;
所述体重测量模块利用所述主控单元控制所述体重传感器获取用户的体重信号并通过线性回归方程计算获得用户的初始体重,再根据所述系统设置模块获取的衣物重量计算获得用户的真实体重后发送给所述主控单元;
所述人体成分测量模块利用所述主控单元控制所述测量电极获取人体生物电阻抗值并存入所述主控单元中;
所述主控单元根据所获得的用户的档案信息、用户的真实体重以及人体生物电阻抗值计算获得用户的人体成分信息并发送给所述人体成分测量模块用于生成用户测量记录;
所述同步模块将所述用户测量记录同步到所述数据库服务器,并生成PDF测量结果报表发送至所述FTP服务器进行存储;
所述FTP服务器或所述移动存储设备用于批量采集用户的档案信息;
所述数据管理模块用于从所述FTP服务器或移动存储设备中批量导入用户的档案信息;并将所述用户测量记录导出至所述移动存储设备或所述FTP服务器中;
所述Web服务器用于调取所述数据库服务器中的用户测量记录并提供给用户进行浏览。
2.根据权利要求1所述的基于Android客户端的人体成分信息系统,其特征是所述Android客户端按如下步骤获取所述测量装置发送的人体成分信息:
步骤1、初始化所述Android客户端未收到第一响应指令S2的次数n1=0;所述Android客户端收到测量故障指令S4的次数m1=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,则将n1+1赋值给n1并执行步骤4,否则执行步骤5;
步骤4、判断未收到所述第一响应指令S2的次数n1是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第一未响应报错;否则,等待未响应时间间隔Tn后返回步骤2执行;
步骤5、所述Android客户端判断所述第一响应指令S2是否为测量响应指令S3,若不是,则表示所述第一响应指令S2为测量故障指令S4,并将m1+1赋值给m1;并执行步骤6;否则执行步骤7;
步骤6、判断所述测量故障指令S4的次数m1是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第一故障报错,否则,等待故障时间间隔Tm后返回步骤2;
步骤7、所述Android客户端发送测量完成询问指令S5;
步骤8、所述Android客户端判断是否接收到所述测量装置返回的第二响应指令S6,若所述Android客户端未收到所述第二响应指令S6,则将n2+1赋值给n2并执行步骤9;否则执行步骤10;
步骤9、判断未收到所述第二响应指令S6的次数n2是否≥所设的最大未响应次数N,若大于等于最大未响应次数N,则进行第二未响应报错,否则,等待未响应时间间隔Tn后返回步骤7执行;
步骤10、判断所述第二响应指令S6是否为测量未完成响应指令S7,若是,则执行步骤11;否则执行步骤13;
步骤11、所述Android客户端等待询问时间间隔Ti,并将Ti+Ti赋值给Ti;
步骤12、判断所述询问时间间隔Ti是否≥所设的最大测量等待时间T,若大于等于最大测量等待时间T,则进行测量超时报错;否则,执行步骤7;
步骤13、判断所述第二响应指令S6是否为询问故障响应指令S8,若是,则将m2+1赋值给m2;并执行步骤14;否则执行步骤15;
步骤14、判断所述询问故障响应指令S8的次数m2是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第二故障报错,否则,等待故障时间间隔Tm后返回步骤7;
步骤15、判断出所述第二响应指令S6为测量已完成响应指令S9;
步骤16、所述Android客户端发送请求人体成分信息指令S10给所述测量装置;
步骤17、所述Android客户端判断是否接收到所述测量装置返回的第三响应指令S11;若所述Android客户端未收到所述第三响应指令S11,则将n3+1赋值给n3并执行步骤18,否则执行步骤19;
步骤18、判断未收到所述第三响应指令S11的次数n3是否≥所设定的最大未响应次数N,若大于等于最大未响应次数N,则进行第三未响应报错;否则,等待未响应时间间隔Tn后返回步骤16执行;
步骤19、判断所述第三响应指令S11是否为人体成分信息指令S12,若不是,则表示所述第三响应指令S11为人体成分信息故障指令S13,并将m3+1赋值给m3;并执行步骤20;否则表示所述Android客户端成功获取所述测量装置发送的人体成分信息;
步骤20、判断所述人体成分信息故障指令S13的次数m3是否≥所设的最大故障次数M,若大于等于最大故障次数M,则进行第三故障报错,否则,等待故障时间间隔Tm后返回步骤16。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410455995.0A CN104188653A (zh) | 2014-09-03 | 2014-09-03 | 一种基于Android客户端的人体成分信息系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410455995.0A CN104188653A (zh) | 2014-09-03 | 2014-09-03 | 一种基于Android客户端的人体成分信息系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104188653A true CN104188653A (zh) | 2014-12-10 |
Family
ID=52074161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410455995.0A Pending CN104188653A (zh) | 2014-09-03 | 2014-09-03 | 一种基于Android客户端的人体成分信息系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104188653A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124311A (zh) * | 2017-05-09 | 2017-09-01 | 北京市环境保护监测中心 | 一种数据服务系统 |
CN107928670A (zh) * | 2017-11-20 | 2018-04-20 | 广东里田科技有限公司 | 与移动终端交互的脂肪测量装置及脂肪测量方法 |
CN110200628A (zh) * | 2019-05-13 | 2019-09-06 | 南京航空航天大学 | 一种便携式电阻抗检测系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007102708A1 (en) * | 2006-03-07 | 2007-09-13 | Industry Academic Cooperation Foundation Of Kyunghee University | Scales that can be connected to external devices and service providing method using the scales |
US20120122430A1 (en) * | 2009-04-21 | 2012-05-17 | Cedric Hutchings | Weighing Device and Method |
CN103196534A (zh) * | 2012-12-28 | 2013-07-10 | 中山市永衡日用制品有限公司 | 具备无线传输功能的电子秤系统 |
CN203447287U (zh) * | 2013-07-25 | 2014-02-26 | 东莞市森普实业有限公司 | 无线脂肪秤 |
CN103815905A (zh) * | 2014-03-17 | 2014-05-28 | 四川宇峰科技发展有限公司 | 一种实现人体任意分段测量的人体成分分析仪 |
CN103968926A (zh) * | 2014-05-14 | 2014-08-06 | 杭州云豆科技有限公司 | 一种智能身高体重测量系统 |
-
2014
- 2014-09-03 CN CN201410455995.0A patent/CN104188653A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007102708A1 (en) * | 2006-03-07 | 2007-09-13 | Industry Academic Cooperation Foundation Of Kyunghee University | Scales that can be connected to external devices and service providing method using the scales |
US20120122430A1 (en) * | 2009-04-21 | 2012-05-17 | Cedric Hutchings | Weighing Device and Method |
CN103196534A (zh) * | 2012-12-28 | 2013-07-10 | 中山市永衡日用制品有限公司 | 具备无线传输功能的电子秤系统 |
CN203447287U (zh) * | 2013-07-25 | 2014-02-26 | 东莞市森普实业有限公司 | 无线脂肪秤 |
CN103815905A (zh) * | 2014-03-17 | 2014-05-28 | 四川宇峰科技发展有限公司 | 一种实现人体任意分段测量的人体成分分析仪 |
CN103968926A (zh) * | 2014-05-14 | 2014-08-06 | 杭州云豆科技有限公司 | 一种智能身高体重测量系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124311A (zh) * | 2017-05-09 | 2017-09-01 | 北京市环境保护监测中心 | 一种数据服务系统 |
CN107124311B (zh) * | 2017-05-09 | 2020-09-29 | 北京市环境保护监测中心 | 一种数据服务系统 |
CN107928670A (zh) * | 2017-11-20 | 2018-04-20 | 广东里田科技有限公司 | 与移动终端交互的脂肪测量装置及脂肪测量方法 |
CN110200628A (zh) * | 2019-05-13 | 2019-09-06 | 南京航空航天大学 | 一种便携式电阻抗检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103442081A (zh) | 健康数据收集系统、健康基站和健康数据接入服务器 | |
CN104656514A (zh) | 一种智能型数据采集系统 | |
CN106851548A (zh) | 基于无线体域网的可穿戴式行走监测系统及其监测方法 | |
CN103345832A (zh) | 居民健康数据管理及共享平台系统 | |
CN104188653A (zh) | 一种基于Android客户端的人体成分信息系统 | |
CN104182548B (zh) | 网页更新处理方法及装置 | |
CN206164720U (zh) | 互联网医疗视频问诊及支付平台 | |
CN106843487A (zh) | 一种被握持的状态的确定方法及移动终端 | |
Krishnamoorthy et al. | Design and implementation of IoT based energy management system with data acquisition | |
CN106777930A (zh) | 基于心电图统一标准化的中央网络平台 | |
CN109450904B (zh) | 健康监测物联网网关装置 | |
CN206235726U (zh) | 一种用于电子式电能表压力测试和功能测试的装置 | |
CN110046069A (zh) | 一种存储性能测试的方法、装置、设备及可读存储介质 | |
CN204694835U (zh) | 电能表接线仿真柜接线移动式检测系统 | |
CN202013206U (zh) | 现场便携式温湿度检定校准装置 | |
CN106874474A (zh) | 一种网页收藏的无效网页处理方法、服务器及终端 | |
CN207010733U (zh) | 一种实验室远程监控系统 | |
WO2020232900A1 (zh) | 系统测试方法及装置、计算机设备、存储介质 | |
CN103596645B (zh) | 一种终端调试的方法、装置和设备 | |
CN108491312A (zh) | 一种医疗设备数据显示装置和系统 | |
CN107907356A (zh) | 一种滚筒洗衣机的自动测试装置及其测试方法 | |
CN114662832A (zh) | 人口流动分析方法、装置及电子设备 | |
CN103371834A (zh) | 人体反应速度测试系统 | |
CN203151552U (zh) | 一种家庭健康检测产品通信系统 | |
CN104698423B (zh) | 一种便携式电流互感器误差曲线测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141210 |