网站地图 | Tags | 热门标准 | 最新标准 | 订阅

GB/T 37733.2-2020 传感器网络 个人健康状态远程监测 第2部分:终端与平台接口技术要求

  • 名  称:GB/T 37733.2-2020 传感器网络 个人健康状态远程监测 第2部分:终端与平台接口技术要求 - 下载地址1
  • 下载地址:[[下载地址1]][[下载地址2]]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 35 . 1 10 L 79

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 37733 . 2—2020

  传感器网络 个人健康状态远程监测第 2 部分:终端与平台接口技术要求

  Sensornetwork—Remotepersonalhealthstatusmonitoring—

  part2:Interfacetechnicalrequirementsbetweenterminalsandplatform

  2020-04-28 发布 2020-1 1-01 实施

  国家市场监督管理总局国家标准化管理委员会

  发

  布

  GB/T 37733 . 2—2020

  GB/T 37733 . 2—2020

  前 言

  GB/T 37733《传感器网络 个人健康状态远程监测》分为 3 个部分:

  — 第 1 部分:总体技术要求;

  — 第 2 部分:终端与平台接口技术要求;

  — 第 3 部分:终端技术要求。

  本部分为 GB/T 37733 的第 2 部分。

  本部分按照 GB/T 1 . 1—2009 给出的规则起草。

  请注意本文件的某些内容可能涉及专利。 本文件的发布机构不承担识别这些专利的责任。

  本部分由全国信息技术标准化技术委员会(SAC/TC 28)提出并归口 。

  本部分起草单位:中国电子技术标准化研究院、上海恩谷信息科技有限公司、北京曙光易通技术有限公司、重庆邮电大学、深圳赛西信息技术有限公司、普天信息技术有限公司、北京必创科技股份有限公司、京东方科技集团股份有限公司、山东省计算中心(国家超级计算济南中心)、长安大学、东南大学、江南大学附属医院。

  本部分主要起草人:郭雄、陈健、杨宏、徐志广、苏静茹、于雪平、李孟良、王伟、骆磊、庞宇、吕伯轩、聂雯莹、余晖、陈得民、唐智斌、张旭、夏涛、王英龙、舒明雷、徐平平、刘丽、何艾玲。

  GB/T 37733 . 2—2020

  传感器网络 个人健康状态远程监测

  第 2 部分:终端与平台接口技术要求

  1 范围

  GB/T 37733 的本部分规定了个人健康状态远程监测传感器网络系统的终端与平台接口 的交互流程、接口数据编码与功能要求。

  本部分适用于个人健康状态远程监测传感器网络终端与平台的接口设计、开发和部署。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的。 凡是注 日期的引用文件,仅注 日期的版本适用于本文件 。凡是不注 日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

  GB/T 16263 . 1—2006 信息技术 ASN . 1 编码规则 第 1 部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)规范(ISO/IEC 8825-1:2002, IDT)

  GB/T 30269 . 501—2014 信息技术 传感器网络 第 501 部分:标识:传感节点标识符编制规则

  3 术语和定义

  下列术语和定义适用于本文件。

  3.1

  个人健康终端 personalhealthterminal

  具备个人生命体征数据采集、处理、存储和传输功能的逻辑实体,由个人健康设备和个人健康网关组成。

  注:简称终端。

  [GB/T 37733 . 1—2019,定义 3 . 2]

  3.2

  长连接 persistentconnection

  一个可连续发送多个数据包的通信过程。

  注 :当没有数据包发送时,终端向平台发心跳包。

  3.3

  心跳包 heartbeatpacket

  按照约定的时间间隔发送,在终端和平台间定时通知对方自己状态的一个链路检测包。

  3.4

  终端标识符 terminalidentification;TID

  用于全球范围内惟一、无歧义地标识终端身份的一系列连续字符。

  4 缩略语

  下列缩略语适用于本文件。

  GB/T 37733 . 2—2020

  ASN.1 抽象语法记法一(Abstract Syntax Notation One)

  BER 基本编码规则(Basic Encoding Rules)

  TCP 传输控制协议(Transmission Control Protocol)

  5 终端与平台接口交互流程

  个人健康终端与平台连接宜建立在 TCP 之上,以保证通信可靠性。

  终端与平台之间的接口应包括:终端注册接口 、终端登录接 口 、心跳接 口 、终端退出接 口 、终端状态更新接口 、终端数据上报接口 、终端控制接口 、终端查询接口 、终端固件升级接口 。

  终端与平台之间接口交互流程如图 1 所示,图 1 中数据编码和功能见第 6 章 。

  图 1 终端与平台之间接口交互流程

  6 终端与平台接口数据编码和功能

  6 . 1 接口数据编码格式

  终端与平台的接口数据编码格式采用 GB/T 16263 . 1—2006 给出的 BER 编码规则,接口数据编码说明如表 1 所示。 终端与平台接口实现示例参见附录 A。

  GB/T 37733 . 2—2020

  表 1 接口数据编码说明

  6 . 2 终端注册接口

  6 . 2 . 1 功能描述

  终端首次连接平台时,在未注册状态下,通过注册接口 向平台注册。 终端与平台之间通过注册数据(REGIST_DATA)和注册应答数据(REGIST_DATA_ACK)交换注册信息。

  6 . 2 . 2 REGIST_DATA数据编码说明

  REGIST_DATA数据编码说明如表 2 所示。

  表 2 REGIST_DATA数据编码说明

  6 . 2 . 3 REGIST_DATA_ACK数据编码说明

  REGIST_DATA_ACK 数据编码说明如表 3 所示。

  表 3 REGIST_DATA_ACK数据编码说明

  GB/T 37733 . 2—2020

  表 3(续)

  6 . 3 终端登录接口

  6 . 3 . 1 功能描述

  终端在开机 或 复 位 时,通 过 登 录 接 口 向 平 台 发 送 登 录 请 求。 终 端 与 平 台 之 间 通 过 登 录 数 据(LOGIN)和登录应答数据(LOGIN__ACK)交换登录信息。

  6 . 3 . 2 LOGIN数据编码说明

  LOGIN 数据编码说明如表 4 所示。

  表 4 LOGIN数据编码说明

  6 . 3 . 3 LOGIN_ACK数据编码说明

  LOGIN__ACK 数据编码说明如表 5 所示。

  表 5 LOGIN_ACK数据编码说明

  GB/T 37733 . 2—2020

  表 5(续)

  6 . 4 心跳接口

  6 . 4 . 1 功能描述

  终端登录成功后,如需保持与平台的长连接,应通过心跳接口 向平台定时发送在线信息。 终端与平台之间通过心跳包数据(HEART_BEAT)和心跳响应数据(HEART_BEAT_ACK)交换心跳信息。

  6 . 4 . 2 HEART_BEAT数据编码说明

  HEART_BEAT数据编码说明如表 6 所示。

  表 6 HEART_BEAT数据编码说明

  6 . 4 . 3 HEART_BEAT_ACK数据编码说明

  HEART_BEAT_ACK 数据编码说明如表 7 所示。

  GB/T 37733 . 2—2020

  表 7 HEART_BEAT_ACK数据编码说明

  6 . 5 终端退出接口

  6 . 5 . 1 功能描述

  终端应通过退出接口与平台正常断开连接。 终端与平台之间通过退出数据(LOGOUT)和退出应答数据(LOGOUT_ACK)交换退出信息。

  6 . 5 . 2 LOGOUT数据编码说明

  LOGOUT数据编码说明如表 8 所示。

  表 8 LOGOUT数据编码说明

  6 . 5 . 3 LOGOUT_ACK数据编码说明

  LOGOUT_ACK 数据编码说明如表 9 所示。

  表 9 LOGOUT_ACK数据编码说明

  GB/T 37733 . 2—2020

  6 . 6 终端状态更新接口

  6 . 6 . 1 功能描述

  终端自身状态发生改变后,通过状态更新接口主动向平台发送更新的状态数据。 终端与平台之间通过终端状态数据(STAT_DATA)和状态应答数据(STAT_DATA_ACK)交换状态更新信息。

  6 . 6 . 2 STAT_DATA数据编码说明

  STAT_DATA数据编码说明如表 10 所示。 终端可能包括多个传感器节点,各个传感器节点的状态数据(SENSER__STAT)编码说明见 6 . 6 . 3 。

  表 10 STAT_DATA数据编码说明

  6 . 6 . 3 SENSER_STAT数据编码说明

  SENSER__STAT数据编码说明如表 11 所示。

  表 1 1 SENSER_STAT数据编码说明

  GB/T 37733 . 2—2020

  表 1 1(续)

  6 . 6 . 4 STAT_DATA_ACK数据编码说明

  STAT_DATA_ACK 数据编码说明如表 12 所示。

  表 12 STAT_DATA_ACK数据编码说明

  6 . 7 终端数据上报接口

  6 . 7 . 1 功能描述

  终端采集个人健康状态数据后,通过数据上报接口 向平台发送采集的数据内容。 终端与平台之间通过终端采集数据(COLLECT__DATA) 和采集应答数据(COLLECT__DATA__ ACK) 交换数据上报信息。

  6 . 7 . 2 COLLECT_DATA数据编码说明

  COLLECT_DATA数据编码说明如表 13 所示。 终端可能包括多个传感器节点,各个传感器节点的采集数据(SENSER_DATA)编码说明见 6 . 7 . 3 。

  表 13 COLLECT_DATA数据编码说明

  6 . 7 . 3 SENSER_DATA数据编码说明

  SENSER_DATA数据编码说明如表 14 所示。

  GB/T 37733 . 2—2020

  表 14 SENSER_DATA数据编码说明

  6 . 7 . 4 COLLECT_DATA_ACK数据编码说明

  COLLECT_DATA_ACK 数据编码说明如表 15 所示。

  表 15 COLLECT_DATA_ACK数据编码说明

  6 . 8 终端控制接口

  6 . 8 . 1 功能描述

  平台应能 通 过 控 制 接 口 对 终 端 的 通 用 参 数 进 行 设 置。 终 端 与 平 台 之 间 通 过 终 端 控 制 数 据(REMOTE__CTRL)和终端控制应答数据(REMOTE__CTRL_ACK)交换控制信息。

  6 . 8 . 2 REMOTE_CTRL数据编码说明

  REMOTE__CTRL数据编码说明如表 16 所示。

  GB/T 37733 . 2—2020

  表 16 REMOTE_CTRL数据编码说明

  6 . 8 . 3 REMOTE_CTRL_ACK数据编码说明

  REMOTE__CTRL_ACK 数据编码说明如表 17 所示。

  表 17 REMOTE_CTRL_ACK数据编码说明

  6 . 9 终端查询接口

  6 . 9 . 1 功能描述

  平台通过终端查询接口获取终端状态。终端与平台之间通过终端查询数据(QUERY)和终端状态

  应答数据(STAT_DATA,见 6 . 6 . 2)交换查询信息。

  6.9.2 QUERY数据编码说明

  QUERY数据编码说明如表 18 所示。

  表 18 QUERY数据编码说明

  GB/T 37733 . 2—2020

  6 . 10 终端固件升级接口

  6 . 10 . 1 功能描述

  终端厂商可将终端固件升级程序发布至平台,终端通过固件升级接口进行升级程序下载。 终端与平台之间通过终端固件升级数据(UPDATE) 和终端固件升级应答数据(UPDATE__ ACK) 交换升级信息。

  6 . 10 . 2 UPDATE数据编码说明

  UPDATE数据编码说明如表 19 所示。

  表 19 UPDATE数据编码说明

  6 . 10 . 3 UPDATE_ACK数据编码说明

  UPDATE_ACK 数据编码说明如表 20 所示。

  表 20 UPDATE_ACK数据编码说明

  GB/T 37733 . 2—2020

  附 录 A

  (资料性附录)

  终端与平台接口实现示例

  本示例以伪代码方式,给出终端与平台接口的实现过程。

  //--------------------通用类定义--------------------------

  struct STAT_DATA { //定义终端状态更新 Tag,本示例以终端状态更新数据为例

  short m_Tag = 9 ; //操作标志,Tag

  short m_Length;//值长度,Lenght

  BYTE *m_Value;//值,Value

  }

  ……//定义其他数据包//接口定义

  bool Register(REGIST_DATA) //定义注册接 口

  {

  REGIST_DATA_ACK =SendToPlatform(REGIST_DATA);//发送注册信息到平台

  if( REGIST_DATA_ACK. ACKVal! =0)

  return false ;

  return true ; }

  bool Login(LOGIN) //定义登录接 口

  {

  LOGIN_ACK =SendToPlatform(LOGIN);//发送登录信息到平台

  if( LOGIN__ACK. ACKVal! =0)

  return false ;

  return true ; }

  bool LogOut(LOGOUT) //定义退出接 口

  {

  LOGOUT_ACK =SendToPlatform( LOGOUT) ;

  if( LOGOUT_ACK. ACKVal! =0)

  return false ;

  return true ; }

  bool HeartBeat( HEART_BEAT) //定义心跳包接 口{

  HEART_BEAT_ACK =SendToPlatform( REGIST_DATA) ;

  if(! CheckHeartBeatData( HEART_BEAT_ACK))//如果检查心跳包错误return false ;

  return true ;

  GB/T 37733 . 2—2020

  }

  bool UpdateState(STAT_DATA) //定义终端状态更新接 口

  {

  STAT_DATA_ACK =SendToPlatform( REGIST_DATA) ;

  if( STAT_DATA_ACK. ACKVal! =0)

  return false ;

  return true ; }

  bool CollectData( COLLECT_DATA) //定义终端数据上报接 口{

  COLLECT_DATA_ACK =SendToPlatform( REGIST_DATA) ;

  if( COLLECT_DATA_ACK. ACKVal! =0)

  return false ;

  return true ; }

  bool SetData( REMOTE__CTRL) //终端控制接 口{

  REMOTE__CTRL_ACK =GetFromPlatform( &REMOTE__CTRL);//从平台获取控制数据if( REMOTE__CTRL_ACK K. ACKVal! =0)

  return false ;

  REMOTE_CTRL_ACK =SetCtrlInfo(REMOTE_CTRL);//设置控制信息

  if( REMOTE__CTRL_ACK K. ACKVal! =0)

  return false ;

  return true ; }

  bool QueryData(QUERY) //终端查询接 口

  {

  GetFromPlatform( &QUERY);//从平台获取查询数据

  if(! CheckQueryCommand(STAT_DATA))//检查查询命令,并根据查询命令设置查询结果

  return false ;

  return true ; }

  bool UpdateFirmware(UPDATE) //终端固件更新接 口

  {

  GetFromPlatform( &UPDATE);//从平台获取固件更新数据

  if(! UpdateToNewVersion(UPDATE))//检查更新版本,并更新固件

  return false ;

  return true ; }

  //--------------------终端主函数伪代码-------------------------- intmain()

  {

  if(! Register(REGIST_DATA))//注册不成功

  GB/T 37733 . 2—2020

  {

  Exit( 1 );//非正常退出

  }

  if(! Login(LOGIN))//登录失败

  {

  Exit ( 1 ) ;

  }

  if(! HeartBeat( HEART_BEAT))//心跳失败

  {

  Exit ( 1 ) ;

  }

  if(! UpdateState(STAT_DATA))//更新状态失败

  {

  Exit ( 1 ) ;

  }

  if(! CollectData( COLLECT_DATA))//上报收集数据失败

  {

  Exit ( 1 ) ;

  }

  if(! SetData(REMOTE_CTRL))//获取平台下发的控制信息并设置控制信息,失败

  {

  Exit ( 1 ) ;

  }

  if(! QueryData(QUERY))//获取平台下发的查询信息失败

  {

  Exit ( 1 ) ;

  }

  else

  {

  if(! UpdateState(STAT_DATA))//向平台上报状态信息

  {

  Exit ( 1 ) ;

  }

  }

  if(! UpdateFirmware(UPDATE))//更新固件失败

  {

  Exit ( 1 ) ;

  }

  if(! Logout(LOGOUT))//安全退出失败

  {

  Exit ( 1 ) ;

  }

  return0 ; //成功退出

  GB/T 37733 . 2—2020

  }

  //--------------------平台主函数伪代码--------------------------

  void main()

  {

  while ( 1 )

  {

  if(! GetDataFromPlatform ( &i__GetData))

  {

  exit(0 );//监听终端获取的数据失败,则退出

  }

  if( i__GetData= = REGIST_DATA)//如果是终端注册

  {

  REGIST_DATA_ACK=Register(REGIST_DATA)) ;

  SendToClient( REGIST_DATA_ACK) ;

  }

  if( i__GetData= = LOGIN)//如果是终端登录

  {

  LOGIN_ACK=Login(LOGIN)) ;

  SendToClient( LOGIN__ACK) ;

  }

  if( i__GetData= = HEART_BEAT)//如果是心跳包

  {

  HEART_BEAT_ACK=HeartBeat( HEART_BEAT)) ;

  SendToClient( HEART_BEAT_ACK) ;

  }

  if( i__GetData= = STAT_DATA)//如果是终端状态更新

  {

  STAT_DATA_ACK =UpdateState(STAT_DATA)

  SendToClient( STAT_DATA_ACK) ;

  }

  if( i__GetData= = COLLECT_DATA)//如果是终端上报采集数据

  {

  COLLECT_DATA_ACK =CollectData( COLLECT_DATA)

  SendToClient( COLLECT_DATA_ACK) ;

  }

  if(! SetData( REMOTE__CTRL_ACK))//如果远程设置失败

  {

  WriteLog(Errinfo);//将错误信息写入日志

  }

  if(i_GetData= = UPDATE)//如果是终端请求更新固件

  {

  UPDATE_ACK =UpdateFirmware(UPDATE)

  SendToClient( UPDATE_ACK) ;

  GB/T 37733 . 2—2020

  }

  if( i__GetData= = LOGOUT)//如果是终端退出{

  LOGOUT_ACK =UpdateFirmware(LOGOUT)

  SendToClient( LOGOUT_ACK) ;

  }

  }

  return0 ; //成功退出

  }

  GB/T 37733 . 2—2020

  参 考 文 献

  [1] GB/T 37733 . 1—2019 传感器网络 个人健康状态远程监测 第 1 部分:总体技术要求

29141787729
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢