苏州住建局一带一帽智能安全帽平台接入规范接口文档
附件4:
接口文档
对接流程:
•第一步:通过平台获取appSecret
•第二步:实现下面相关功能
接口数据传输过程中需要对body里面的数据进行数据加密,在heder里面需要带着签名。具体规则如下:
数据加密规则:
Plain Text
AES加密
字符集:UTF-8
密钥:16位
模式:ECB
填充:PKCS7Padding
偏移量:0位
加密后数据:Base64编码
验证网站:https://www.ssleye.com/ssltool/aes_cipher.html
数据签名规则:
Plain Text
签名算法:HMAC-SHA256
Header: Iot-Signature: 签名
验证网站:https://base64.us
签名规则:
1、使用标准Base64编码对字符串进行加密
2、字符串拼接:企业社会信用代码&密钥&时间(格式2006-01-02 15:04:05)
例如:
appKey:91310100MA2233333K
appSecret:1234567890123456
时间:2024-04-17 15:04:05
拼接后的字符串:91310100MA2233333K&1234567890123456&2024-04-17 15:04:05
加密后的字串:OTEzMTAxMDBNQTIyMzMzMzNLJjEyMzQ1Njc4OTAxMjM0NTYmMjAyNC0wNC0xNyAxNTowNDowNQ==
安全帽
厂商实现的接口:
获取设备状态
接口URL
/api/manufacturerSrv/getDeviceStatus
请求方式
POST
请求Header参数
点击图片可查看完整电子表格
请求Body参数
Plain Text
{
"deviceSn": ""
}
点击图片可查看完整电子表格
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {
"deviceSn": "",
"status": 0
}
}
参数名 示例值 参数类型 参数描述
code 200 Integer -
success true Boolean -
msg success String -
data - Object -
data.deviceSn - String 设备唯一标识
data.status 0 Integer 在线状态 0-离线 1-在线
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
获取实时画面
接口URL
/api/manufacturerSrv/hat/getVideoRealPlay
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn": "",
"stream": 0
}
参数名 示例值 参数类型 是否必填 参数描述
socialCode - String 是 -
deviceSn - String 是 -
stream 0 Integer 是 主子码流;0 主码流 1子码流 2 三码流
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {
"http-fmp4": "https://127.0.0.1:9008/live/21d5653a-a8d7-4a6e-b804-c3a99a2d89fa.mp4?sess_id=7df56369-c8cb-4f32-90e1-0d9bcf53bf4c&stream=0",
"webrtc":""
}
}
参数名 示例值 参数类型 参数描述
code 200 Integer -
success true Boolean -
msg success String -
data - Object -
data.http-fmp4 https://www.ipvsp.cn:19090/live/21d5653a-a8d7-4a6e-b804-c3a99a2d89fa.mp4?sess_id=7df56369-c8cb-4f32-90e1-0d9bcf53bf4c&stream=0 String -
data.webrtc - String -
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
拍照
接口URL
/api/manufacturerSrv/hat/takePhoto
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn": ""
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn - String 是 -
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {}
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
录像-开始
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn": ""
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn - String 是 -
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {}
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
录像-结束
接口URL
/api/manufacturerSrv/hat/stopRecord
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn":""
}
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {}
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
语音对讲-开始
接口URL
/api/manufacturerSrv/hat/startTalk
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn":""
}
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {
"sessId": "ff0f10ad-4ddf-4aba-90d2-d789ee5785f1",
"wsUrl": "wss://www.ipvsp.cn:19090/talkback/21d5653a-a8d7-4a6e-b804-c3a99a2d89fa.pcm?sess_id=ff0f10ad-4ddf-4aba-90d2-d789ee5785f1&stream=0"
}
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
语音对讲-结束
接口URL
/api/manufacturerSrv/hat/stopTalk
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn": "",
"sessId": ""
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn - String 是 -
sessId - String 是 -
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {}
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
获取照片/视频列表
接口URL
/api/manufacturerSrv/hat/getVideoFile
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 签名
请求Body参数
JavaScript
{
"deviceSn": "",
"type": 1,
"page": 1,
"pageSize": 50,
"startTime": "2023-01-20 00:00:00",
"endTime": "2023-03-20 00:00:00"
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn - String 是 -
type 1 Integer 是 1图片 2 音频 3 设备端上传的计划录像 4 手动触发的设备端录像 5 标记为重要的设备录像
page 1 Integer 是 页数
pageSize 50 Integer 是 -
startTime 2023-01-20 00:00:00 String 否 开始时间
endTime 2023-03-20 00:00:00 String 否 结束时间
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": {
"page": 1,
"pageSize": 50,
"total": 17,
"list": [
{
"datetime": "2025-05-08 09:58:33",
"type": 1,
"upload_id": 68435,
"url": "http:127.0.0.1/api/file_download/RjovaW1hZ2UvMjAyNS0wNS0wOC9SRUNfMjAyNTA1MDgwOTU4MzRfNDQwMzAwMDAwMDExMTAxMTE3MTlfMy5wbmc=.png",
"thumbnail":""
}
]
}
}
参数名 示例值 参数类型 参数描述
code 200 Integer -
success true Boolean -
msg success String -
data - Object 数据
data.page 1 Integer 页数
data.pageSize 50 Integer -
data.total 17 Integer -
data.list - Array -
data.list.datetime 2025-05-08 09:58:33 String 设备数据产生时间
data.list.type 1 Integer 1图片 2 音频 3 设备端上传的计划录像 4 手动触发的设备端录像 5 标记为重要的设备录像
data.list.upload_id 68435 Integer -
data.list.url http:127.0.0.1/api/file_download/RjovaW1hZ2UvMjAyNS0wNS0wOC9SRUNfMjAyNTA1MDgwOTU4MzRfNDQwMzAwMDAwMDExMTAxMTE3MTlfMy5wbmc=.png String 文件地址
data.list.thumbnail - String 缩略图
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
查询设备历史轨迹
接口URL
/api/manufacturerSrv/hat/getGpsHistory
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 -
请求Body参数
JavaScript
{
"deviceSn": "",
"startTime": "2025-05-07 00:00:00",
"endTime": "2025-05-07 23:59:59"
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn - String 是 -
startTime 2025-05-07 00:00:00 String 是 -
endTime 2025-05-07 23:59:59 String 是 -
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": [
{
"track_id": 1853005,
"datetime": "2025-05-12 14:08:14",
"latitude": "31.389677",
"longitude": "120.646907"
},
{
"track_id": 1853804,
"datetime": "2025-05-12 15:48:49",
"latitude": "31.390360",
"longitude": "120.646458"
}
]
}
错误响应示例
JavaScript
{
"code": 500,
"success": false,
"msg": "错误消息",
"data": {}
}
数据上报:(通过http协议向平台推送数据)
上传设备数据
接口URL
/iotData/hat/uploadData
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 -
请求Body参数
JavaScript
{
"deviceSn": "460e859f-bcb3-447d-900b-ad9eee52128d",
"datetime": "2025-05-07 16:02:20",
"latitude": "22.707094",
"longitude": "114.106244"
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn 460e859f-bcb3-447d-900b-ad9eee52128d String 是 设备唯一编号
datetime 2025-05-07 16:02:20 String 是 设备数据产生时间
latitude 22.707094 String 是 纬度
longitude 114.106244 String 是 经度
安全带
厂商实现的接口:
获取设备列表
接口URL
/api/manufacturerSrv/belt/GetDeviceListBySn
请求方式
POST
请求Body参数
JavaScript
{
"deviceSnList": [
"0416",
"0417"
]
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSnList 0416 Array 是 -
成功响应示例
JavaScript
{
"code": 200,
"success": true,
"msg": "success",
"data": [
{
"deviceSn": "0416",
"deviceStatus":"1",
"latitude": "31.389677",
"longitude": "120.646907"
},
{
"deviceSn": "0417",
"deviceStatus":"0",
"latitude": "31.389677",
"longitude": "120.646907"
},
]
}
参数名 示例值 参数类型 参数描述
code 200 Integer -
success true Boolean -
msg success String -
data - Array -
data.deviceSn 0416 String -
data.deviceStatus 1 String 设备状态 1-在线 0-离线
data.latitude 31.389677 String -
data.longitude 120.646907 String -
数据上报:(通过http协议向平台推送数据)
上传设备数据
接口URL
/iotData/belt/uploadData
请求方式
POST
请求Header参数
参数名 示例值 参数类型 是否必填 参数描述
Iot-Signature - String 是 -
请求Body参数
JavaScript
{
"deviceSn": "460e859f-bcb3-447d-900b-ad9eee52128d",
"datetime": "2025-05-07 16:02:20",
"latitude": "22.707094",
"longitude": "114.106244",
"beltStatus":"1"
}
参数名 示例值 参数类型 是否必填 参数描述
deviceSn 460e859f-bcb3-447d-900b-ad9eee52128d String 是 设备唯一编号
datetime 2025-05-07 16:02:20 String 是 设备数据产生时间
latitude 22.707094 String 是 纬度
longitude 114.106244 String 是 经度
beltStatus 1 Integer 是 安全带状态 1-双钩未挂2-单钩未挂3-双钩未高挂4-单钩未高挂5-悬空报警6-未佩戴安全带7-安全带异常8-跌落告警
支持红外夜视IRCUT的4G智能安全帽BW620Y,内部主板型号有,SAE01, asr8601 ,W20, k61v1_32_bsp_1g, k62v1_64_bsp, soq_azw_05_Natv,soq_azw_01_Natv,AZW003,aqm6816,soq_azw_01_Natv,SC161, W25,比传统的白光照明灯效果要好很多,可以避免图像中间大块的亮光斑,可以在雾天使用。https://www.bilibili.com/video/BV1594y1E7tB/
危险气体检测仪,通过4G/5G执法记录仪或者4G/5G智能安全帽上报到平台,https://www.besovideo.com/detail?t=1&i=273
智能安全帽~生命体征检测与危险气体检测一体化集成设计还是蓝牙无线外挂式方式好?https://www.besovideo.com/detail?t=1&i=279
智能安全帽~生命体征采集上报,https://www.besovideo.com/detail?t=2&i=506
智能安全帽,检测生命体征上报平台, https://v.douyin.com/e3oP4Yx/
AIoT万物智联,智能安全帽生产厂家,执法记录仪生产厂家,为大型国企央企提供移动视频类产品的ODM/OEM服务,单北斗定位智能安全帽、智能头盔、智能头箍、头盔记录仪、独立北斗定位执法记录仪、智能视频分析/边缘计算AI盒子、车载视频监控/车载DVR/NVR、布控球、智能眼镜、智能手电、智能电子工牌、无人机4G补传系统等统一接入大型统一视频平台~融合通信可视指挥调度平台VMS/smarteye 。
什么是智能安全帽,如何选购智能安全帽,智能安全帽的主要功能,https://www.besovideo.com/detail?t=1&i=109
目前支持的AI智能算法、视频智能分析算法有哪些,https://www.besovideo.com/detail?t=1&i=297
视频演示1~单独北斗定位智能安全帽助力光伏新能源, 视频演示2~石油石化
海康、大华等5000路固定点摄像头走国标GB28181接入统一视频平台smarteye,支持eHome,ISUP, SIP,萤石云,CMSV6等
海康等IP摄像头走国标GB28181接入smarteye平台, https://www.besovideo.com/detail?t=1&i=244
国网+南网电力施工作业现场安全生产风险管控应用方案,https://www.besovideo.com/detail?t=1&i=50
轻危大型厂矿可视化监管系统方案(有内部作业视频数据安全保密的需求),https://www.besovideo.com/detail?t=1&i=258
小微型4G/WiFi执法记录仪、胸牌记录仪大全~智慧养老护工、银行机场客服、外勤、上门安装维修等,https://www.besovideo.com/detail?t=2&i=1784
超薄款4G工牌视频记录仪BH128,https://www.besovideo.com/detail?t=2&i=1575
4G/5G执法记录仪前端人脸识别、人脸比对使用说明,https://www.besovideo.com/detail?t=1&i=365
防抖执法记录仪、智能安全帽、头盔记录仪大全,https://www.besovideo.com/detail?t=2&i=1692
可拆卸智能安全帽、绑带式、粘贴式、贴合式、分体式智能头盔记录仪、智能头箍记录仪大全,https://www.besovideo.com/detail?t=2&i=1697
定位安全帽大全,人员定位考勤、电子围栏脱岗检查 all in smarteye,https://www.besovideo.com/detail?t=2&i=1843
支持南方电网WAPI无线网络的4G/5G执法记录仪、智能布控球、智能安全帽产品,https://www.besovideo.com/detail?t=1&i=404
各种布控球分类列表大全,https://www.besovideo.com/detail?t=1&i=339
北斗双频高精度定位智能工卡、电子工牌大全,https://www.besovideo.com/detail?t=2&i=1689
无人机4G/5G图传到远程指挥中心统一视频平台smarteye或者海康等国标大平台, https://www.besovideo.com/detail?t=2&i=1775
县级应急指挥调度系统建设, https://www.besovideo.com/detail?t=1&i=411
智慧铁路,铁路应急指挥通信系统建设,可视化作业现场风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=413
智慧港口可视化作业风险管控系统建设方案,https://www.besovideo.com/detail?t=1&i=414
石油石化可视化巡检系统安全风险管控系统应用方案,https://www.besovideo.com/detail?t=1&i=415
车载视频监控产品,车载DVR/NVR、4G行车记录仪系列产品,https://www.besovideo.com/detail?t=2&i=1850
为什么武警、特警拉练演习的MESH自组网系统都不约而同的选择了smarteye平台?https://www.besovideo.com/detail?t=2&i=1215