Q1: 如何以数值形式上传整型/浮点型数据点?
A: 建议采用type=3或者type=1的方式进行上传(详情请参考《设备终端接入协议-EDP》),示例:
type=3 整型: {"temperature":22}
浮点型: {"pi":3.14159}
type=1 整型: {"datastreams":[{"id":"temperature","datapoints":[{"value":22}]}]}
浮点型: {"datastreams":[{"id":"pi","datapoints":[{"value":3.14159}]}]}
Q2: 如何上传位置信息?
A: 在数据流中可以将JSON形式的地理位置信息进行显示,建议采用type=3或者type=1的方式进行上传(详情请参考《设备终端接入协议-EDP》),示例:
type=3:{"loc":{"lon": 117.48,"lat": 39.96}}
type=1:{"datastreams":[{"id":"loc","datapoints":[{"value":{"lon":117.48,"lat":39.96}}]}]}
Q3: EDP实现控制命令下发,其中的cmd_id有什么用?
A:cmd_id是由服务器随机产生的,每一个EDP-cmd对应唯一的cmd_id,用户可以根据该cmd_id通过RESTFUL API获取设备的命令回复以及该命令的执行状态(详见API文档)。
Q4: 设备收到EDP命令请求之后,是否需要进行EDP命令应答?
A: EDP命令请求一般被用来发送命令控制设备,服务器在发送时会对该命令产生一个唯一的cmd_id,并产生一个该命令所对应的执行状态;设备收到命令之后,若发送EDP命令应答,服务器端的执行状态会变为执行成功,若设备不应答,服务器端的该状态会被置为执行超时;设备可以通过RESTFUL API 和 cmd_id 查询命令的执行状态。若设备不发送应答 只会影响服务器端所保存的命令执行状态而已,并不会影响命令下发的过程。