1、ICS 65.020.01 B 05 DB1301 石家庄市农业地方标准 DB 1301/T 3322020 农业物联网平台数据交换共享指南 2020 - 04 - 14发布 2020 - 06 - 14实施 石家庄市市场监督管理局 发布 DB1301/T 3322020 I 目 次 前言 . II 1 范围 . 1 2 规范 性引用文件 . 1 3 术语 和定义 . 1 4 总则 . 1 5 需 考 虑 的 因 素 . 1 DB1301/T 3322020 II 前 言 本标准按照 GB/T 1.12009给出的规则起草。 本标准由石家庄市农业农村局提出。 本标准主要起草单位:石家庄市农林科
2、学研究院、北京农业信息技术研究中心。 本标准主要起草人:朱华吉、田国英、罗磊、杨英茹、孙想、黄媛 、郝鹏、高欣娜、吴华瑞、李海 杰、顾静秋、武猛、李庆学、郝晓兰。 DB1301/T 3322020 1 农业物联网平台数据交换共享指南 1 范围 本标准提出了种植业农业物联网采集系统与物联网平台之间对各类数据进行交换共享时对数据定 义、数据共享方式与交换格式、数据安全、维护升级的建议。 本标准适用于石家庄市种植业农业物联网采集系统和物联网平台间的数据交换共享。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文 件。凡是不注日期的引用文件,其
3、最新版本(包括所有的修改单)适用于本文件。 DB1301/T 3312020 设施农业物联网数据采集指南 3 术语和定义 下列术语和定义适用于本文件。 3.1 农业物联网平台 agricultural Internet of things information platform 通过各种传感器、控制设备实时感知、控制生产现场参变量,提供农业生产服务的软硬件集成平台。 3.2 数据申请方 data applicant 数据交换中发起服务请求的一方,远程获取内容提供方的数据。 3.3 数据提供方 data provider 数据交换中被访问的一方,接收服务请求,通过接口为数据申请方提供数据。 4
4、 总则 为规范农业物联网平台间的数据交换共享工作制定本指南 。农业物联网平台数据交换共享工作应符 合数据规范 、 传输安全 、 效率合理 、 便于迭代的基本原则 。本指南适用于新建物联网系统的数据交换共 享工作,已有系统可参照执行。 5 需考虑的因素 5.1 数据 农业物联网平台共享交换的数据 。 基于种植业农业物联网设施产生的数据和人为填报数据 。平台间 进行数据交换共享时,交换数据格式应符合DB1301/T 3312020 第 7章 的规定 。 DB1301/T 3322020 2 5.2 数据共享 5.2.1 传输方式 农业物联网平台数据交换共享基于RESTFul API,采用标准 JS
5、ON数据格式,HTTP 传输协议。数据申 请方通过GET/POST方法访问数据提供方,数据提供方应给与JSON格式字符串作为回复。 5.2.2 服务方式 服务方式如图1 所示: 图1 服务方式 传输过程中,数 据申请方向数据提供方发出查询请求,数据提供方通过 RESTFulApi接口响应请求, 并返回相应的数据。 5.2.3 数据交换格式 5.2.3.1 报文 数据申请方发送的请求报文内,可包含双方约定的筛选参数,如设备编码、上报时间等内容,对请 求数据内容进行筛选。 数据提供方的回复数据报文应在 1 024 k范围内,交换频率低于 2 次 /秒。对于长列表数据需要分页 提供,并在回复报文中包
6、含页码和总页码字段,便于数据申请方分段处理。分页数据需允许请求方通过 参数指定获取的页码和每页长度。 回复报文必须包含“code ”字段和“ msg”字段。 code字段表示访问状态, msg字段为访问状态文字 说明。字段内容由双方约定。 回复报文必须包含data字段,为一次请求中回复的数据体。对于数据内容是单个对象的, data中直 接返回对象属性;对于数据内容为列表的,data为 array格式,内含多个回复数据。 5.2.3.2 基地信息 示例1:通过 baseCode 获取单个基地信息: 请求:GET / base?baseCode=1301090001 DB1301/T 332202
7、0 3 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功” “data”: “createDate”: “2015- 01-01”, “baseCode”:“ 1301090001”, “baseName”:“ 藁城示范基地”, “info ”:“建立于藁城区的测试基地”, “area”:“100”, “xzqhCode”:“130109”, “picture”:“http:/www.basegaocheng.org/pic/20150101/title.png” 示例2:获取多个基地信息: 请求:GET / baseList?page=1&page
8、Size=2 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data” : “createDate”: “2015 -01-01”, “baseCode”:“ 1301090001”, “baseName”:“ 藁城示范基地”, “info ”:“建立于藁城区的测试基地”, “area”:“100”, “xzqhCode”:“130109”, “picture”:“http:/www.basegaocheng.org/pic/20150101/title.png” , “createDat
9、e”: “2015- 01-05”, “baseCode”:“ 1301090002”, “baseName”:“ 藁城种植基地”, “info ”:“建立于藁城区的种植基地”, “a rea”:“180”, “xzqhCode”:“130109”, DB1301/T 3322020 4 “picture”:“http:/www.basegaocheng.org/pic/20150105/title.png” 5.2.3.3 设施类型 示例:获取设施类型列表: 请求:GET / baseTypeList?page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code
10、”:200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data ”: “typeCode”: “Q001”, “unit”:“ ”, “minValue ”:“ -20.0”, “maxValue ”:“80.0”, “precision”:“0.1”, “resolution”:“0.1”, “responseTime”:“1”, “picture”:“http:/www.basegaocheng.org/pic/20150105/station1.png” , “typeCode”: “V001”, “unit”:“”, “minValue ”:
11、“”, “maxValue ”:“”, “precision”:“”, “resolution”:“”, “responseTime”:“0”, “picture”:“http:/www.basegaocheng.org/pic/20150105/station2.png” 5.2.3.4 设施信息 示例1:获取单个设施信息: 请求:GET /device?dviceCode=1301090001W002Q002 DB1301/T 3322020 5 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功”, “data”: “deviceCode”:“
12、1301090001W002Q001”, “typeCode”:“Q004”, “deviceName”:“ 一号气象站”, “parentCode”:“ 1301090001W002” 示例2:获取多个设施信息: 请求:GET /devices?typeCode= Q004&page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data”: “deviceCode”:“ 1301090001W002Q001”, “typeCode”:“Q004”, “devi
13、ceName”:“ 一号气象站 ”, “parentCode”:“ 1301090001W002” , “deviceCode”:“ 1301090001W002Q002”, “typeCode”:“Q004”, “deviceName”:“ 二号气象站 ”, “parentCode”:“ 1301090001W002” 5.2.3.5 传感器数据 示例:获取多个传感器数据: 请求:GET / data?deviceCode=1301090001W002Q001&page=1&pageSize=2 回复报文: DB1301/T 3322020 6 HTTP/1.1 200 OK “code”:
14、200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data ”: “deviceCode”:“ 1301090001W002Q001”, “createDate ”:“2019 -05-04 11:13:30”, “ATC”:19.2, “AHC”:“56.3” , “deviceCode”:“ 1301090001W002Q001”, “createDate ”:“2019 -05-04 11:33:30”, “ATC”:20.1, “AHC”:“53.0” 5.2.3.6 控制信息 示例:获取多个控制信息: 请求:GET / controllHi
15、story?deviceCode =1301090001W002C001&page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data”: “deviceCode”:“ 1301090001W002C001”, “typeCode”:“ C004”, “createDate”:“2019 -05-04 11:13:30”, “controlType”:“1” , “deviceCode”:“ 1301090001W002C001”, DB1301/T 3322
16、020 7 “typeCode”:“ C004”, “createDate”:“2019 -05-04 11:33:30”, “controlType ”:“0” 5.2.3.7 报警信息 示例:获取多个报警信息: 请求:GET / alertHistory?deviceCode=1301090001W002C001&page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code”:200, “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data”: “deviceCode”:“ 1301090001W002Q001”, “ty
17、peCode ”:“Q 004”, “createDate ”:“2019 -05-04 11:13:30”, “alertType ”:“ 值溢出 ”, “alertInfo”:“ 测量温度9 9.9超过最大值” , “deviceCode”:“ 1301090001W002Q001”, “typeCode ”:“Q 004”, “createDate ”:“2019 -05-04 11:33:30”, “alertType ”:“ 值溢出 ”, “alertInfo”:“ 测量温度9 9.9超过最大值” 5.2.3.8 种植信息 示例:获取多个种植信息: 请求:GET / plantHis
18、tory?houseCode=1301090001W002&page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code”:200, DB1301/T 3322020 8 “msg”:“ 获取成功”, “page”:1, “totalPages”:5, “data ”: “createDate”:“2019 -01-01 11:13:30”, “houseCode”:“ 1301090001W002”, “type”:“黄瓜”, “product”:“ 白黄瓜越冬茬 ”, “plantTime”:“2018- 12-21 00:00:00”, “period”:“
19、苗期” , “createDate”:“2019 -04-01 16:04:00”, “houseCode”:“ 1301090001W002”, “type”:“黄瓜”, “product”:“ 白黄瓜越冬茬 ”, “plantTime”:“2018- 12-21 00:00:00”, “period”:“采收期” 5.2.3.9 农事管理 示例:获取多个农事管理信息: 请求:GET / workHistory?houseCode=1301090001W002&page=1&pageSize=2 回复报文: HTTP/1.1 200 OK “code”:200, “m sg”:“ 获取成功”
20、, “page”:1, “totalPages”:5, “data ”: “createDate”:“2019 -01-05 09:10:30”, “houseCode”:“ 1301090001W002”, “product”:“ 白黄瓜越冬茬 ” “type”:“黄瓜”, “info”:“施肥”, “productName”:“ 复合肥”, DB1301/T 3322020 9 “m anufacturer”:“ 德坤” , “createDate”:“2019 -01-08 15:43:00”, “houseCode”:“ 1301090001W002”, “product”:“ 白黄瓜
21、越冬茬 ” “type”:“黄瓜”, “info”:“灌溉”, “productName”:“”, “m anufacturer”:“” 5.3 数据安全 数据交换过程中应提供必要的加密措施,宜使用DES 、3DES 、AES 、RSA 等加密算法。数据交换过程 中应保证数据的完整性、一致性,应提供数据摘要检查,宜采用MD5 算法。 5.4 维护升级 数据提供方对于接口进行维护升级,须通知传输申请方。接口升级须保证对历史版本兼容。如果不 能保证历史版本兼容性,需要保留历史版本接口,访问中通过 version参数控制。 示例:通过 version 参数控制历史版本: 原接口地址:*/devices 升级后新接口沿用原地址:*/devices 访问旧版接口,通过带版本号查询方式:*/devices ?version=1.2 _ 石家庄市农业地方标准 农业物联网平台数据交换共享指南 DB1301/T 332 2020 河北省标准化研究院编辑、校对 石家庄市工农路 368 号( 0311-67501107) 网 址 : www.bzsb.info 2020null 年 4 月第一版 DB13 01 /T 33 2 20 20