华为云用户手册

  • 车辆管理-删除多边形区域电子围栏 接口说明 请求对应的消息ID:0x8605 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "VehicleManagement", "command_name": "RemovePolygonArea", "paras": { "areaIds": [ 1 ] }} 请求参数 paras字段同协议中消息的映射关系 表28 参数描述 字段名 类型 协议字段 参数描述 areaIds stringList 区域ID列表 / 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 } } 响应参数(终端通用响应) paras字段定义 表29 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 实时音视频 -查询视频资源列表 接口说明 请求对应的消息ID:0x9205 响应对应的消息ID:0x1205 请求示例 { "command_name": "GetVideoResource", "service_id": "VideoResource", "paras": { "channelNo": 0, "startTime": "220314093900", "endTime": "220314174000", "warningMark":0, "warningMarkHigh":0, "mediaType": 0, "streamType": 0, "memoryType": 0 }} 请求参数 paras字段同协议中消息的映射关系 表33 参数描述 字段名 类型 协议字段 参数描述 channelNo int 逻辑通道号 0标识所有通道 startTime string 开始时间 YYMMDDHHMMSS,全0表示无起始时间 endTime string 结束时间 YYMMDDHHMMSS,全0表示无结束时间 warningMark int 告警标志 告警标志位定义,全0表示物报警类型条件 warningMarkHigh int 高位告警标志 高位告警标志位定义,全0表示物报警类型条件 mediaType int 音视频资源类型 0:音视频,1:音频,2:视频3:视频或者音视频 streamType int 码流类型 0:所有码流1:主码流2:子码流 memoryType int 存储器类型 0:所有存储器,1:主存储器,2:灾备存储器 响应示例 { "command_id": "c4eafd52-7411-483d-901c-858a2b7bc2a7", "response": { "paras": { "flowNo": 0, "count": 1, "items": [ { "channelNo": 1, "startTime": "200101000000", "endTime": "201231235959", "warningMark": 0, "warningMarkHigh": 0, "mediaType": 1, "streamType": 1, "memoryType": 1, "size": 1024 } ] }, "response_name": null, "result_code": 0 }} 响应参数 paras字段定义 表34 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 count int 录像文件数量 items jsonObject 录像列表 录像文件说明 表35 参数描述 字段名 类型 协议字段 参数描述 channelNo int 逻辑通道号 0标识所有通道 startTime tring 开始时间 YYMMDDHHMMSS格式的视频开始时间 endTime string 结束时间 YYMMDDHHMMSS 式的视频结束时间 warningMark int 告警标志 告警标志位定义 warningMarkHigh int 高位告警标志 高位告警标志位定义 mediaType int 音视频资源类型 0:音视频,1:音频,2:视频3:视频或者音视频 streamType int 码流类型 0:所有码流1:主码流2:子码流 memoryType int 存储器类型 0:所有存储器,1:主存储器,2:灾备存储器
  • 实时音视频-实时音视频传输请求 接口说明 请求对应的消息ID:0x9101 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "command_name": "VideoLiveRequest", "service_id": "VideoLive", "paras": { "serverIp": "***.***.***.***", "port": 8557, "channelNo": 1, "dataType": 0, "streamType": 0 }} 请求参数 paras字段同协议中消息的映射关系 表30 参数描述 字段名 类型 协议字段 参数描述 serverIp string 服务器地址 视频服务器地址 port int 服务器端口 视频服务器端口 channelNo int 逻辑通道号 逻辑通道号 dataType int 音视频资源类型 0:音视频, 1:视频 2:双向对讲 3:监听 4:中心广播 5:透传 streamType int 码流类型 0:主码流1:子码流 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 } } 响应参数(终端通用响应) paras字段定义 表31 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 实时音视频-音视频实时传输控制 接口说明 请求对应的消息ID:0x9102 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "command_name": "VideoLiveControl", "service_id": "VideoLive", "paras": { "channelNo": 1, "commandId": 0, "mediaType": 0, "streamType": 1 }} 请求参数 paras字段同协议中消息的映射关系 表32 参数描述 字段名 类型 协议字段 参数描述 channelNo int 逻辑通道号 逻辑通道号 commandId int 控制指令 平台可以通过该指令对设备的实时音视频传输进行控制: 0:关闭音视频传输指令。 1:切换码流 2:暂停该通道所有流的发送 3:恢复暂停前流的发送 4:关闭所向对讲 mediaType int 关闭音视频资源类型 0:关闭该通道有关的音视频数据 1:只关闭该通道有关的音频,保留该通道有关的视频。 2:只关闭该通道有关的视频,保留该通道有关的音频。 streamType int 码流类型 将之前申请的码流切换为新申请的码流,音频与切换前保持一致。新申请的码流为: 0:主码流 1:子码流 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 } }
  • 位置及报警-链路检测 接口说明 请求对应的消息ID:0x8204 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "Location", "command_name": "CheckConnection", "paras": {}} 响应示例 { "command_id": "1641971911322353065", "response": { "paras": { "flowNo": 0, "msgId": 33284, "resultCode": 0 }, "result_code": 0 }} 响应参数 paras字段定义 表18 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 车辆管理-设置多边形区域电子围栏 接口说明 请求对应的消息ID:0x8604 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "VehicleManagement" "command_name": "SetPolygonArea", "paras": { "areaId": 1, "areaProperty": 1, "startTime": "211119170110", "endTime": "211119170111", "maxSpeed": 0, "durationOverSpeed": 0, "vertices": [ { "latitude": 0, "longitude": 1 } ], "maxNightSpeed": 0, "areaName": "test" }} 请求参数 paras字段同协议中消息的映射关系 表25 参数描述 字段名 类型 协议字段 参数描述 areaId int 区域ID 区域ID areaProperty int 区域属性 区域属性 startTime string 起始时间 格式为YYMMDDHHMMSS endTime string 结束时间 格式为YYMMDDHHMMSS vertices jsonObject 区域定点 多边形区域定点信息 maxSpeed int 最高速度 单位为千米每小时(km/h) durationOverSpeed int 超速持续时间 单位为秒(s) maxNightSpeed int 夜间最高速度 单位为千米每小时(km/h) areaName string 区 域名 称 区域的名称描述 vertice字段同协议中消息的映射关系 表26 参数描述 字段名 类型 协议字段 参数描述 latitude int 中心点纬度 以度为单位的纬度值乘以10的6次方,精确到百万分之一。 longitude int 中心点经度 以度为单位的经度值乘以10的6次方,精确到百万分之一。 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 } } 响应参数(终端通用响应) paras字段定义 表27 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 车辆管理-设置圆形区域电子围栏 接口说明 请求对应的消息ID:0x8600 响应对应的消息ID:0x0001(终端通用响应) { "service_id": "VehicleManagement", "command_name": "SetRoundArea", "paras": { "type": 1, "areas": [{ "areaId": 1, "areaProperty": 1, "latitude": 0, "longitude": 0, "radius": 0, "startTime": "211119170110", "endTime": "211119170111", "maxSpeed": 0, "durationOverSpeed": 0, "maxNightSpeed": 0, "areaName": "test" }] }} 请求参数 paras字段同协议中消息的映射关系 表19 参数描述 字段名 类型 协议字段 参数描述 type int 设置属性 0:更新区域 1:追加区域 2:修改区域 areas jsonObject 区域 圆形区域列表 Area字段说明 表20 参数描述 字段名 类型 协议字段 参数描述 areaId int 区域ID 区域ID areaProperty int 区域属性 区域属性 latitude int 中心点纬度 以度为单位的纬度值乘以10的6次方,精确到百万分之一。 longitude int 中心点经度 以度为单位的经度值乘以10的6次方,精确到百万分之一。 radius int 半径 单位为米 startTime string 起始时间 格式为YYMMDDHHMMSS endTime string 结束时间 格式为YYMMDDHHMMSS maxSpeed int 最高速度 单位为千米每小时(km/h) durationOverSpeed int 超速持续时间 单位为秒(s) maxNightSpeed int 夜间最高速度 单位为千米每小时(km/h) areaName string 区域名称 区域的名称描述 区域属性说明 表21 属性说明 位 标志 0 是否开启起始时间与结束时间的判断规则,0:否;1:是 1 是否启用最高速度,超速持续时间和夜将最高速度的判断规则,0:否;1:是 2 进区域是否报警给驾驶员,0:1;1:是 3 进区域是否报警给平台,0:1;1:是 4 出区域是否告警给驾驶员,0:否;1:是 5 出区域是否告警给平台,0:否;1:是 6 0:北纬;1:南纬 7 0:东经;1:西经 8 0:允许开门;1:禁止开门 9-13 保留 14 0:进区域开启通信模块;1:进区域关闭通信模块 15 0:进区域不采集GNSS详细定位数据;1:进区域采集GNSS详细定位数据 响应示例 { "command_id": "1641971911322353065", "response": { "paras": { "flowNo": 0, "msgId": 33284, "resultCode": 0 }, "result_code": 0 }} 响应参数(终端通用响应) paras字段定义 表22 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 车辆管理-删除圆形区域电子围栏 接口说明 请求对应的消息ID:0x8601 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "VehicleManagement", "command_name": "RemoveRoundArea", "paras": { "areaIds": [ 1 ] }} 请求参数 paras字段同协议中消息的映射关系 表23 参数描述 字段名 类型 协议字段 参数描述 areaIds stringList 区域ID列表 / 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 } } 响应参数(终端通用响应) paras字段定义 表24 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 位置及报警-人工确认报警信息 接口说明 对应的消息ID:0x8203 请求示例 { "service_id": "Location", "command_name": "AlarmConform", "paras": { "flowNo": 123, "criticalAlarm": false, "dangerousWarning": false, "areaAlarm": true, "routeAlarm": false, "drivingTimeAlarm": false, "startingAbnormalAlarm": false, "displacementAbnormalAlarm": false }} 请求参数 paras字段定义 表16 参数描述 字段名 必选/可选 类型 参数描述 flowNo 必选 int 报警消息流水号 criticalAlarm 必选 boolean 确认紧急报警 dangerousWarning 必选 boolean 确认危险预警 areaAlarm 必选 boolean 确认进出区域报警 routeAlarm 必选 boolean 确认进出路线报警 drivingTimeAlarm 必选 boolean 确认路段行驶时间不足/过长报警 startingAbnormalAlarm 必选 boolean 确认车辆非法点火报警 displacementAbnormalAlarm 必选 boolean 确认车辆非法位移报警 响应示例 { "command_id": "1641971845905632317", "response": { "paras": { "flowNo": 0, "msgId": 33283, "resultCode": 0 }, "result_code": 0 }} 响应参数 paras字段定义 表17 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 位置及报警-临时位置跟踪控制 接口说明 请求对应的消息ID:0x8202 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "Location", "command_name": "LocationTrace", "paras": { "timeInterval": 10, "period": 20 }} 请求参数 paras字段定义 表14 参数描述 字段名 必选/可选 类型 参数描述 timeInterval 必选 int 时间间隔,单位为秒(s) period 必选 int 位置跟踪有效期,单位为秒(s) 响应示例 { "command_id": "1641971752394383473", "response": { "paras": { "flowNo": 0, "msgId": 33282, "resultCode": 0 }, "result_code": 0 }} 响应参数 paras字段定义 表15 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 终端管理-查询指定终端参数 接口说明 请求对应的消息ID:0x8106 响应对应的消息ID:0x0104 请求示例 { "service_id": "TerminalManagement", "command_name": "QueryAssignedTerminalParameters", "paras": { "parameterIds": [1] }} 请求参数 paras字段定义 表7 参数描述 字段名 必选/可选 类型 参数描述 parameterIds 必选 stringList 查询的终端参数的参数ID(十进制表示)列表 响应示例 { "command_id": "1641973633890258246", "response": { "paras": { "flowNo": 0, "total": 1, "parameters": { "1": 120 } }, "result_code": 0 }} 响应参数 paras字段定义 表8 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 total int 应答参数个数 parameters JsonObject 终端参数的参数列表,其中key为参数ID(十进制表示),value为参数值
  • 终端管理-查询终端属性 接口说明 请求对应的消息ID:0x8107 响应对应的消息ID:0x0107 请求示例 { "service_id": "TerminalManagement", "command_name": "QueryTerminalProperty", "paras": {}} 响应示例 { "command_id": "1641970411683486238", "response": { "paras": { "clientType": { "passenger": true, "dangerousGoods": true, "track": true, "taxis": true, "video": true, "splitter": false, "trailer": false }, "manufacturerId": "2D_AN", "deviceType": "BSJ-GF-06", "nodeId": "5kw3noL", "iccId": "12345678901234567890", "hardwareVersion": "3.0.0", "firmwareVersion": "1.1.25", "gssn": { "galileo": true, "gps": true, "bds": true, "glonass": true }, "communication": { "other": false, "gprs": true, "cdma": true, "tdscdma": true, "wcdma": true, "cdma2000": true, "tdlte": true } }, "result_code": 0 }} 响应参数 paras字段定义 表11 参数描述 字段名 类型 参数描述 clientType JsonObject 终端类型 passenger:false-不适用客运车辆,true-适用客运车辆 dangerousGoods:false-不适用危险品车辆,true-适用危险品车辆 track:false-不适用普通货运车辆,true-适用普通货运车辆 taxis:false-不适用出租车辆,true-适用出租车辆 video:false-不支持硬盘录像,true-支持硬盘录像 splitter:false-一体机,true-分体机 trailer:false-不适用挂车,true-适用挂车 manufacturerId string 制造商ID deviceType string 终端型号 nodeId string 终端ID iccId string 终端SIM卡ICCID hardwareVersion string 终端硬件版本号 firmwareVersion string 终端固件版本号 gssn jsonObject GNSS模块属性 galileo:false-不支持Galileo定位,true-支持Galileo定位 gps:false-不支持GPS定位,true-支持GPS定位 bds:false-不支持北斗定位,true-支持北斗定位 glonass:false-不支持GLONASS定位,true-支持GLONASS定位 communication jsonObject 通信模块属性 other:false-不支持其他通信方式,true-支持其他通信方式 gprs:false-不支持GPRS通信方式,true-支持GPRS通信方式 cdma:false-不支持 CDM A通信方式,true-支持CDMA通信方式 tdscdma:false-不支持TD-SCDMA通信方式,true-支持TD-SCDMA通信方式 wcdma:false-不支持WCDMA通信方式,true-支持WCDMA通信方式 cdma2000:false-不支持CDMA2000通信方式,true-支持CDMA2000通信方式 tdlte:false-不支持TD-LTE通信方式,true-支持TD-LTE通信方式
  • 终端管理-查询终端参数 接口说明 请求对应的消息ID:0x8104 响应对应的消息ID:0x0104 请求示例 { "service_id": "TerminalManagement", "command_name": "QueryTerminalParameters", "paras": {}} 响应示例 { "command_id": "1641973633890258246", "response": { "paras": { "flowNo": 0, "total": 1, "parameters": { "1": 120 } }, "result_code": 0 }} 响应参数 paras字段定义 表6 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 total int 应答参数个数 parameters JsonObject 终端参数的参数列表,其中key为参数ID(十进制表示),value为参数值
  • 终端管理-设置终端参数 接口说明 请求对应的消息ID:0x8103 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "TerminalManagement", "command_name": "SetTerminalParameters", "paras": { "parameters": { "1": 120 } }} 请求参数 paras字段定义 表4 参数描述 字段名 必选/可选 类型 参数描述 parameters 必选 JsonObject 设置的终端参数的参数列表,其中key为参数ID(十进制表示),value为参数值 约束: 平台当前固定心跳时长为180s 不支持多值参数 响应示例 { "command_id": "1641969363120826882", "response": { "paras": { "flowNo": 0, "msgId": 33027, "resultCode": 0 }, "result_code": 0 }} 响应参数(终端通用响应) paras字段定义 表5 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 终端管理-终端控制 接口说明 请求对应的消息ID:0x8105 响应对应的消息ID:0x0001(终端通用响应) 请求示例 { "service_id": "TerminalManagement", "command_name": "TerminalControl", "paras": { "commandId": 4, "parameter": null }} 请求参数 paras字段定义 表9 参数描述 字段名 必选/可选 类型 参数描述 commandId 必选 int 命令字(十进制表示) parameter 可选 string 命令参数 响应示例 { "command_id": "1641970324270870620", "response": { "paras": { "flowNo": 0, "msgId": 33029, "resultCode": 0 }, "result_code": 0 }} 响应参数(终端通用响应) paras字段定义 表10 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 msgId int 对应的平台的消息ID resultCode int 结果
  • 位置及报警-位置信息查询 接口说明 请求对应的消息ID:0x8201 响应对应的消息ID:0x0201 请求示例 { "service_id": "Location", "command_name": "QueryLocation", "paras": {}} 响应示例 { "command_id": "1641971430850245415", "response": { "paras": { "flowNo": 0, "locationReport": { "alarm": { "emergencyAlarm": 0, "overSpeedAlarm": 1, "fatigueDrivingAlarm": 0, "dangerousDrivingAlarm": 1, "powerVoltageAlarm": 0, "powerOffAlarm": 0, "cameraErrorAlarm": 1, "overSpeedWarning": 1, "fatigueDrivingWarning": 0, "violationDrivingAlarm": 0, "tirePressureWarning": 0, "rightTurnErrorAlarm": 0, "overDrivingTimeAlarm": 0, "overParkAlarm": 0, "drivingAreaAlarm": 0, "drivingRouteAlarm": 0, "drivingTimeAbnormalAlarm": 0, "offCourseAlarm": 0, "gasolineAlarm": 0, "stolenAlarm": 0, "startingAbnormalAlarm": 0, "displacementAbnormalAlarm": 0, "rolloverAlarm": 0, "rolloverWarning": 0, "gnsserrorAlarm": 1, "gnssantennaNotConnectedAlarm": 0, "lcderrorAlarm": 1, "ttserrorAlarm": 0, "icerrorAlarm": 0, "vssalarm": 0, "gnssantennaShortCircuitAlarm": 1 }, "status": { "accStatus": 0, "positioningStatus": 0, "latitudeStatus": 0, "longitudeStatus": 1, "businessStatus": 0, "encryptedStatus": 1, "forwardCollisionWarningStatus": 0, "laneDeviationAlarmStatus": 0, "loadStatus": 0, "oilStatus": 1, "powerStatus": 0, "doorStatus": 1, "firstDoorStatus": 1, "secondDoorStatus": 1, "thirdDoorStatus": 0, "fourthDoorStatus": 0, "fifthDoorStatus": 0, "galileoStatus": 0, "vehicleStatus": 0, "gpsstatus": 0, "bdsstatus": 0, "glonassstatus": 0 }, "longitude": 0.041957, "latitude": 0.056143, "height": 48243, "speed": 10001, "direction": 300, "dateTime": "220112151406", "extend": [] } }, "result_code": 0 }} 响应参数 表12 参数描述 字段名 类型 参数描述 flowNo int 应答流水号 locationReport jsonObject 字段定义参考表2 表13 协议报文字段与属性对应表 起始字节 字段 数据类型 对应属性 0 报警标志 DWORD alarm 4 状态 DWORD status 8 纬度 DWORD longitude 12 经度 DWORD latitude 16 高程 WORD height 18 速度 WORD speed 20 方向 WORD direction 21 时间 BCD[6] dateTime
  • 属性上报 以下消息转换为IoTDA平台的属性,应用可以通过查询设备影子或者数据转发接收属性上报消息。 上报位置信息 对应的消息ID:0x0200 推送样例: { "resource": "device.property", "event": "report", "event_time": "20151212T121212Z", "notify_data": { "header": { "device_id": "00000000000012345678", "product_id": "ABC123456789", "app_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "gateway_id": "00000000000012345678", "node_id": "00000000000012345678", "tags": [ { "tag_value": "testTagValue", "tag_key": "testTagName" } ] }, "body": { "services": [ { "service_id": "Location", "properties": { "alarm": { "emergencyAlarm": 0, "overSpeedAlarm": 0, "fatigueDrivingAlarm": 0, "dangerousDrivingAlarm": 0, "powerVoltageAlarm": 0, "powerOffAlarm": 0, "cameraErrorAlarm": 0, "overSpeedWarning": 0, "fatigueDrivingWarning": 0, "violationDrivingAlarm": 0, "tirePressureWarning": 0, "rightTurnErrorAlarm": 0, "overDrivingTimeAlarm": 0, "overParkAlarm": 0, "drivingAreaAlarm": 0, "drivingRouteAlarm": 0, "drivingTimeAbnormalAlarm": 0, "offCourseAlarm": 0, "gasolineAlarm": 0, "stolenAlarm": 0, "startingAbnormalAlarm": 0, "displacementAbnormalAlarm": 0, "rolloverAlarm": 0, "rolloverWarning": 0, "icerrorAlarm": 0, "lcderrorAlarm": 0, "ttserrorAlarm": 1, "gnssantennaShortCircuitAlarm": 0, "gnsserrorAlarm": 0, "gnssantennaNotConnectedAlarm": 0, "vssalarm": 0 }, "status": { "accStatus": 0, "positioningStatus": 0, "latitudeStatus": 0, "longitudeStatus": 0, "businessStatus": 0, "encryptedStatus": 0, "forwardCollisionWarningStatus": 0, "laneDeviationAlarmStatus": 0, "loadStatus": 0, "oilStatus": 0, "powerStatus": 1, "doorStatus": 0, "firstDoorStatus": 0, "secondDoorStatus": 0, "thirdDoorStatus": 0, "fourthDoorStatus": 0, "fifthDoorStatus": 0, "galileoStatus": 0, "vehicleStatus": 0, "gpsstatus": 0, "glonassstatus": 0, "bdsstatus": 0 }, "longitude": 116.307629, "latitude": 40.058359, "height": 312, "speed": 3, "direction": 99, "dateTime": "200707192359", "extend": [ ] }, "event_time": "20151212T121212Z" } ] } }} 表1 协议报文字段与属性对应表 起始字节 字段 数据类型 对应属性 0 报警标志 DWORD alarm 4 状态 DWORD status 8 纬度 DWORD longitude 12 经度 DWORD latitude 16 高程 WORD height 18 速度 WORD speed 20 方向 WORD direction 21 时间 BCD[6] dateTime 表2 报警预警标志位与alarm属性对应表 位 定义 对应属性 0 1:紧急报警 emergencyAlarm 1 1:超速报警 overSpeedAlarm 2 1:疲劳驾驶报警 fatigueDrivingAlarm 3 1:危险驾驶行为报警 dangerousDrivingAlarm 4 1:GNSS模块发生故障报警 gnsserrorAlarm 5 1:GNSS天线未接或被剪断报警 gnssantennaNotConnectedAlarm 6 1:GNSS天线短路报警 gnssantennaShortCircuitAlarm 7 1:终端主电源欠压报警 powerVoltageAlarm 8 1:终端主电源掉电报警 powerOffAlarm 9 1:终端LCD或显示器故障报警 lcderrorAlarm 10 1: TTS 模块故障报警 ttserrorAlarm 11 1:摄像头故障报警 cameraErrorAlarm 12 1:道路运输证IC卡模块故障报警 icerrorAlarm 13 1:超速预警 overSpeedWarning 14 1:疲劳驾驶预警 fatigueDrivingWarning 15 1:违规行驶报警 violationDrivingAlarm 16 1:胎压预警 tirePressureWarning 17 1:右转盲区异常报警 rightTurnErrorAlarm 18 1:当天累计驾驶超时报警 overDrivingTimeAlarm 19 1:超时停车报警 overParkAlarm 20 1:进出区域报警 drivingAreaAlarm 21 1:进出路线报警 drivingRouteAlarm 22 1:路段行驶时间不足/过长报警 drivingTimeAbnormalAlarm 23 1:路线偏离报警 offCourseAlarm 24 1:车辆VSS故障 vssalarm 25 1:车辆油量异常报警 gasolineAlarm 26 1:车辆被盗报警(通过车辆防盗器) stolenAlarm 27 1:车辆非法点火报警 startingAbnormalAlarm 28 1:车辆非法位移报警 displacementAbnormalAlarm 29 1:碰撞侧翻报警 rolloverAlarm 30 1:侧翻预警 rolloverWarning 31 保留 - 表3 状态标志位与status属性对应表 位 定义 对应属性 0 0:ACC关;1:ACC开 accStatus 1 0:未定位;1:定位 positioningStatus 2 0:北纬;1:南纬 latitudeStatus 3 0:东经;1:西经 longitudeStatus 4 0:运营状态;1:停运状态 businessStatus 5 0:经纬度未经保密插件加密;1:经纬度已经保密插加密 encryptedStatus 6 1:紧急刹车系统采集的前撞预警 forwardCollisionWarningStatus 7 1:车道偏移预警 laneDeviationAlarmStatus 8~9 00:空车;01:半载;10:保留;11:满载 loadStatus 10 0:车辆油路正常;1:车辆油路断开 oilStatus 11 0:车辆电路正常;1:车辆电路断开 powerStatus 12 0:车门解锁;1:车门加锁 doorStatus 13 0:门1关;1:门1开(前门) firstDoorStatus 14 0:门2关;1:门2开(中门) secondDoorStatus 15 0:门3关;1:门3开(后门) thirdDoorStatus 16 0:门4关;1:门4开(驾驶席门) fourthDoorStatus 17 0:门5关;1:门5开(自定义) fifthDoorStatus 18 0:未使用GPS卫星进行定位;1:使用GPS卫星进行定位 gpsstatus 19 0:未使用北斗卫星进行定位;1:使用北斗卫星进行定位 bdsstatus 20 0:未使用GLONASS卫星进行定位;1:使用GLONASS卫星进行定位 glonassstatus 21 0:未使用Galileo卫星进行定位;1:使用Galileo卫星进行定位 galileoStatus 22 0:车辆处于停止状态;1:车辆处于行驶状态 vehicleStatus 23~31 保留 -
  • 连接鉴权 MQTT.fx 是目前主流的MQTT桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息。 本文主要介绍 MQTT.fx 如何与华为设备发放交互,其中设备发放服务MQTT的南向接入地址请参考获取终端节点。 下载 MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载 MQTT.fx ),安装MQTT.fx工具。 打开 MQTT.fx 客户端程序,单击“设置”。 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的参数配置。 填写 User Credentials 信息。 其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。 选择开启 SSL/TLS,勾选Self signed certificates,配置相关证书内容。 CA File为设备发放对应的CA证书。 Client Certificate File为设备的设备证书。 Client Key File为设备的私钥。 完成以上步骤后,单击“Apply”和“OK”进行保存,并在配置文件框中选择刚才创建的文件名,单击“Connect”,当右上角圆形图标为绿色时,说明连接设备发放服务成功,可进行订阅(Subscribe)和消息推送(Publish)操作。
  • 群组概述 群组是一系列设备的集合,用户可以对资源空间下所有设备,根据区域、类型等不同规则进行分类建立群组,以便处理对海量设备的批量操作。例如,对资源空间下所有水表设备的群组进行固件升级。平台支持群组的增删改查操作,支持给群组绑定和解绑设备,支持一个设备被添加到多个群组中。 表1 群组分类 群组类型 使用说明 静态群组 手动添加设备到群组以及从群组中移除设备;支持群组层级嵌套。 限制: 账号下单实例最多可创建1,000个群组(包含嵌套的子群组)。 一个群组内最多添加20,000个设备。 一个设备最多可以被添加到10个群组中。 群组嵌套关系最大5级。 子群组只能归属一个父群组,不支持多父群组。 当群组有子群组时不能直接删除,需要先删除子群组才能删除父群组。 动态群组 按照动态群组规则(设备查询条件,类SQL语句)动态的将符合条件的设备自动添加进群组,不符合条件的自动移除群组;不支持手动管理群组中的设备。 限制: 账号下单实例最大可创建10个动态群组。 首次创建动态群组,规则最多允许匹配的100,000个设备(增量加入群组的设备无限制)。 动态群组默认为父群组,不支持将动态群组进行嵌套。 动态群组创建成功后,不允许修改动态群组规则。 不允许手动管理动态群组中的设备。 仅标准版实例、企业版实例支持该接口调用,基础版不支持。 单账号创建动态群组的 TPS 限制最大为1/S(每秒1次请求数)。
  • 动态群组场景示例 通过设备名称模糊匹配规则(其他条件可以根据实际场景选择)创建动态群组,选择该动态群组执行OTA升级任务。 动态群组中的设备会动态根据设备名称匹配情况进行调整,并且该动态群组关联的OTA升级任务详情状态也会随之动态变化。 具体参考批量设备固件升级和动态群组的相关步骤进行操作。 创建动态群组,群组名称为“HuaweiDeviceGroup”,群组规则为 “device_name like 'HuaweiDevice%'”。 图6 动态群组-详情 创建设备固件升级任务,选择动态群组“HuaweiDeviceGroup”,完成任务创建。 图7 新建固件升级任务-动态群组 创建成功后可以查看动态群组中的设备已加入到该升级任务中。 图8 固件升级任务-详情(动态群组) 参考注册单个设备注册设备,设备名称为“HuaweiDevice011”。注册成功后可以查看该设备已自动加入“HuaweiDeviceGroup”动态群组中。 图9 动态群组-添加设备 查看软固件升级任务子任务详情,可以看到此设备已自动加入到升级任务中: 图10 固件升级任务-动态群组添加新设备 进入“HuaweiDevice001”设备详情界面,修改名称为“AbandonedHuaweiDevice001”。 图11 设备-设备名称修改 修改设备名称成功后,可以查看该设备已自动从“HuaweiDeviceGroup”动态群组中移除。 图12 动态群组-移除设备 查看软固件升级任务子任务详情,可以看到此设备的升级状态为“已移除”。 图13 固件升级任务-动态群组移除设备
  • 购买实例的约束说明 购买实例存在一些约束,当您登录后无法购买实例,或者购买实例后创建失败,请参考以下约束说明进行检查,并解除限制。 购买标准实例的约束说明 同一个区域下,每个租户只能开通一个免费试用实例。 购买企业版实例的约束说明 用户权限 购买企业版实例前需要进行云服务访问授权操作,授权成功后,才可以购买企业版实例。详细操作请参考配置云服务访问授权。 实例配额 同一个VPC网络下最多只能购买5个企业版实例。 子网中可用地址数量 子网络中可用的地址数量不能少于10个。
  • 前期规划 公私网对接方案 公网对接:公网IP由平台提供,客户不需要规划。 私网对接:在开通 设备接入服务 时需要指定VPC、子网等信息,默认设备接入服务只能从选定的子网接入,购买时需要提供合理规划的子网。如果使用设备接入服务的数据流转功能,比如数据转发到kafka,设备接入服务只能将数据转发到和它在同一个子网的kafka。如果您需要将数据转发至同一个VPC但不同子网的kafka服务,请提交工单说明您的诉求。 VPC 确定VPC的网段,当前VPC支持三个网段10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。详细开通指南,请参考创建虚拟私有云。 确定子网划分,子网的网段必须在VPC的网段范围内。 路由表 确定路由表,默认路由表只能保证了同一个VPC下的所有子网互通。当默认路由表中的路由策略无法满足应用时,需要创建自定义的路由表。详细操作指南,请参考路由表。
  • 配置云服务访问授权 华为 物联网平台 支持与华为云其它云服务进行对接。用户首次购买企业版实例时,需要进行访问授权操作。授权成功后可以创建端口、子网、安全组等信息,此外和终端节点服务对接,用于应用/设备通过私网接入物联网平台。 访问设备接入服务,单击“管理控制台”进入设备接入控制台。 在左侧导航栏,选择“IoTDA实例”,单击“购买实例”,选择“企业版”,此时会弹出云服务访问委托授权弹窗。 图1 IoTDA实例-云服务访问委托授权弹窗 在弹出的页面中单击“同意授权”,授权成功后设备接入服务将在 统一身份认证 服务( IAM )为您创建的名为iotda_admin_trust 的委托里添加了所需访问服务的权限,详细的云服务权限列表可参考委托授权。
  • 场景说明 对于设备上报到平台的数据,使用 函数工作流 FunctionGraph处理实时流数据。通过函数服务,用户只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,即可跟踪设备的设备属性、消息上报,状态变更,分析、整理和计量数据流。 本示例为将所有设备上报的属性转发至FunctionGraph函数工作流,根据设备资源空间Id的不同推送到用户Http服务器的不同路径,请您提供自行部署的Http服务器。本示例通过设备接入服务的数据转发能力来驱动事件函数,不需要额外配置触发器。
  • 构建函数工程 本例提供了设备属性上报格式转换并转发到第三方应用的源码(包含函数依赖),用户可以下载学习使用。 创建工程 本例使用Java语言实现设备接入属性数据流式转换功能与推送功能,有关函数开发的过程请参考FunctionGraph的Java函数开发指南,本例不再介绍函数工作流函数实现的代码。 下载样例源码,解压缩并在Idea中导入工程。代码说明可参考:样例代码说明,其中用户自己的服务器地址通过函数环境变量NA_MOCK_SERVER_ADDRESS传入。 图1 样例代码说明 打包工程 使用Idea的Build Artifacts打包Jar,Idea配置及打包如下图所示。 图2 工程Artifacts Output 配置参考 图3 Build Artifacts
  • 设备发放对返回参数的约束 表1 TdpFuncResult 名称 说明 类型 statusCode String 函数执行状态码,用于标识函数执行过程是否出现异常,遵循HTTP状态码含义。 body String 字符串,但格式为JSON,结构为TdpFuncBody。 表2 TdpFuncBody 名称 说明 类型 status String 设备发放业务功能标识,allow表示发放成功,deny表示发放失败,设备发放使用此标识判断函数内业务功能执行成功与否。 context TdpFuncBodyContext 扩展字段,用于承载函数执行结果。 表3 TdpFuncBodyContext 名称 说明 类型 allocationResult String 发放结果,存放发放接口返回的响应结构体。 errorCode String 错误码,如发放失败,则此值需不为空。 errorMsg String 错误描述,如发放失败,则此值需不为空。 发放设备成功的返回参数样例 { "statusCode": 200, "body": "{\"status\":\"allow\",\"context\":{\"allocationResult\":\"dps返回的下发结果\"}}"} 发放设备失败的返回参数样例 { "statusCode": 200, "body": "{\"status\":\"deny\",\"context\":{\"errorCode\":\"错误码\",\"errorMsg\":\"错误描述\"}}"}
  • 了解函数接口定义 函数服务对函数有明确的接口定义。 以java语言为例,接口定义为:作用域 返回参数 函数名(函数参数,Context参数)。 作用域:提供给FunctionGraph调用的用户函数必须定义为public。 返回参数:用户定义,FunctionGraph负责转换为字符串,作为HTTP Response返回。对于返回参数对象类型,HTTP Response该类型的JSON字符串。 函数名:用户定义函数名称。 用户定义参数:当前函数只支持一个用户参数。对于复杂参数,建议定义为对象类型,以JSON字符串提供数据。FunctionGraph调用函数时,解析JSON为对象。 Context参数:runtime提供函数执行上下文,其接口定义在SDK接口说明。 创建Java函数时,函数入口参数需要提供函数完整的名字空间,参数格式为:包名.类名.函数名。 设备发放在此基础上,要求函数代码满足如下条件: 返回参数:需满足设备发放对返回参数的约束; 函数参数:需满足设备发放对函数参数的约束; 函数接口实现:从函数参数中的备选接入点中选择一个接入点,调用发放设备接口,根据接口响应拼接参数返回。
  • 添加自定义策略 进入“策略”界面,单击展开“自定义策略”,单击“添加函数”。 图1 添加自定义策略 按照下方参数说明填写关键参数信息后,单击“确定”。 参数名称 说明 示例 函数 即在函数服务中实现的自定义策略。如果下拉框没有您想要的函数,可以单击创建新函数来实现您的自定义策略需求。 将需要通过函数“function”发放的设备发放至华北-北京四的物联网平台。 需通过函数“function”发放的设备:WaterMeter-Beijing0001、WaterMeter-Beijing0002 函数:function 发放区域:华北-北京四 发放区域 发放到指定区域后,设备将接入对应区域的设备接入服务。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。
  • LwM2M协议设备固件升级流程 LwM2M协议FOTA升级流程的详细说明: 1~2. 用户在设备接入服务的控制台上传固件包,并在控制台或者应用服务器上创建固件升级任务。 3. LwM2M设备上报数据,平台感知设备上线,触发升级协商流程。(超时时间为24小时) 4~5. 物联网平台向设备下发查询设备固件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。(第4步等待设备上报固件版本,超时时间为3分钟) 如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的固件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6~7. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。(等待上报无线覆盖等级和小区ID,超时时间为3分钟左右) 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤9进行处理。 如下图所示,如果设备的RSRP强度和SINR强度均落在等级“0”中,则同时可以对该小区的50个相同信号覆盖区间的设备进行同时升级。 如果设备的RSRP强度和SINR强度分别落在等级“0”和“1”中,则以信号较弱的等级“1”为准,则只能同时对该小区的10个设备进行升级。 如果设备的RSRP强度和SINR强度分别落在等级“1”和“2”中,则以信号较弱的等级“2”为准,则只能同时对该小区的1个设备进行升级。 如果设备的RSRP强度和SINR强度不在该3个等级范围内,且均可以查询到,则按照信号最弱覆盖等级“2”处理,则只能同时对1个设备进行升级。 如果用户在固件升级中发现同时进行升级的设备数较少,则可以联系当地运营商检查和优化设备所在小区的无线覆盖情况。 查询失败:则按照流程步骤8进行处理。 8. 物联网平台继续下发查询小区ID信息的命令,获取终端设备所在的小区ID信息。 如果查询成功:物联网平台支持同时对该小区的10个相同情况的设备进行固件升级。 如果查询失败:则升级失败。 9. 物联网平台向设备订阅固件升级的状态。 10~11. 物联网平台向设备下发下载固件包的URL地址,通知设备下载固件包。终端设备根据该URL地址下载固件包,固件包的下载支持分片下载,下载完成后,设备知会物联网平台固件包已下载完毕。(第11步超时时间为60分钟) 12~13. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级结束。(等待设备上报升级结果和升级状态,超时时间为30分钟) 14~16. 物联网平台下发命令查询固件升级的结果,获取升级结果后,向终端设备取消订阅升级状态通知,并向控制台应用服务器通知升级的结果。 在下载包中断的情况下,平台支持断点续传功能。
  • 固件升级失败原因 物联网平台上报的失败原因: 失败原因 原因解释 处理建议 Device Abnormal is not online 设备异常未在线 请检查设备侧。 Task Conflict 任务冲突 请检查当前设备是否有软件升级、固件升级、日志收集或设备重启的任务正在进行。 Waiting for the device online timeout 等待设备上线超时 请检查设备侧。 Wait for the device to report upgrade result timeout 等待设备上报升级结果超时 请检查设备侧。 Waiting for report device firmware version timeout 等待上报设备固件版本超时 请检查设备侧。 Waiting for report cellId timeout 等待上报cellId超时 请检查设备侧。 Updating timeout and query device version for check timeout 等待升级结果超时,且等待设备版本信息超时 请检查设备侧。 Waiting for device downloaded package timeout 等待设备完成下载固件包超时 请检查设备侧。 Waiting for device start to update timeout 等待设备启动更新超时 请检查设备侧。 Waiting for device start download package timeout 等到设备开始下载固件包超时 请检查设备侧。 设备上报的失败原因: 失败原因 原因解释 处理建议 Not enough storage for the new firmware package 下载的固件包存储空间不足 请检查设备存储。 Out of memory during downloading process 下载过程中内存不足 请检查设备内存。 Connection lost during downloading process 下载过程中连接断开 请检查设备连接状态。 Integrity check failure for new downloaded package 下载的固件包完整性校验失败 请检查设备下载的固件包是否完整。 Unsupported package type 固件包类型不支持 请检查设备状态和厂商提供的固件包是否正确。 Invalid URI URI不可用 检查设备侧的固件包下载地址是否正确。 Firmware update failed 固件更新失败 请检查设备侧。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全