红外¶
流程¶
接口设计¶
1.获取设备类型¶
获取所有支持识别的红外类型
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/devType"
返回
< 200
< [
{
"id": "5",
"enName": "AC",
"cnName": "空凋",
},
{
"id": "1",
"enName": "STB",
"cnName": "机顶盒",
},
...
]
2.获取品牌信息¶
根据设备类型获取该类型支持的品牌信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/brand?devTypeId=5"
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
devTypeId | 可选 | String | 设备类型id(为接口1返回信息中的id字段) |
返回
< 200
< [
{
"id": "10",
"cnName": "索爱",
"enName": "Soaiy"
},
{
"id": "1002",
"cnName": "格尔",
"enName": "Geer"
},
{
"id": "1005",
"cnName": "清华紫光",
"enName": "UNIS"
},
...
]
3.获取设备列表¶
根据设备类型获取该类型支持的品牌信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/irBrandDevice?devTypeId=5&brandId=12&remoteKeys=WIND_SPEED,TEMP-&page=0&size=10"
参数
- devTypeId、brandId 分别为接口1、接口2返回数据中的id字段
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
devTypeId | 必选 | String | 设备类型id | |
brandId | 必选 | String | 设备品牌id | |
remoteKeys | 可选 | List |
返回遥控器中指定按键的红外码 | |
page | 可选 | int | 分页参数 | |
size | 可选 | int | 分页参数 |
返回
< 200
<[
{
"id": "1002", //遥控器ID
"frequency": "37910", //载波频
"type": "1",
"exts": {},
"keyMap": { // 遥控器所有按键集合
"0": {
"kid": "56", // 按键Id
"name": "0", // 按键名称(英文)
"display_name": "0", // 按键名称(中文)
"pulse": "8216,4023,488,514,488,514,488,1543,488,514,488,514,488,514,488,515,488,514,488,3891,488,1543,488,514,488,514,488,514,488,1543,488,1543,488,514,488,514,488,20534,8216,4022,488,514,488,514,488,1543,488,514,488,514,488,514,488,514,488,514,488,3890,488,1543,488,515,488,514,488,514,488,1543,488,1543,488,514,488,514,488,20530", // 按键红外码
"exts": {}
},
"OK": {
"kid": "42",
"name": "OK",
"display_name": "确认",
"pulse": "8216,4022,488,514,488,514,488,1543,488,514,488,514,488,514,488,514,489,514,488,3890,488,1543,488,1543,488,1543,488,1543,488,1543,488,1543,488,1543,488,1543,488,20534,8216,4022,488,514,489,514,488,1543,488,514,488,514,488,514,488,514,488,514,488,3891,488,1543,488,1543,488,1543,488,1543,488,1543,489,1542,488,1543,488,1543,488,20530",
"exts": {}
},
"CH+": {
"kid": "43",
"name": "CH+",
"display_name": "频道+",
"pulse": "8216,4022,488,514,488,514,488,1543,488,514,488,514,488,514,488,515,488,514,488,3890,488,514,488,1543,488,514,488,514,488,1543,488,1543,488,514,488,514,488,20534,8216,4022,488,514,488,514,488,1543,488,514,488,514,488,514,488,514,488,514,488,3890,488,514,488,1543,488,514,488,514,488,1543,488,1543,488,514,488,514,488,20530",
"exts": {}
},
...
]
4.获取地域信息¶
获取区域信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/area"
返回
< 200
< [
{
"cityId": "430700", // 城市行政编码
"name": "常德市",
"province": "湖南省",
"province_id": "430000" // 省行政编码
},
{
"cityId": "450100",
"name": "南宁市",
"province": "广西壮族自治区",
"province_id": "450000"
},
{
"cityId": "510800",
"name": "广元市",
"province": "四川省",
"province_id": "510000"
},
...
]
5.获取地域运营商信息¶
根据区域信息(cityId)或者该区域所有的运营商信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/areaSp?cityId=110000"
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
cityId | 必选 | String | 行政区域码(接口4中返回的城市行政编码) |
返回
< 200
< [
{
"id": "302",
"provider_name": "天津广电",
"type": "0"
},
{
"id": "3070",
"provider_name": "石化科电网络",
},
{
"id": "312",
"provider_name": "大港油田有线",
"type": "0"
}
...
]
6.根据地域运营商信息获取设备信息¶
机顶盒类型的根据地域信息和运营商获取设备
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/irSTBDevice?provinceId=1&spId=12"
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
cityId | 必选 | String | 城市行政编码 | |
spId | 必选 | String | 运营商id(接口5返回的Id信息) |
返回
< 200
< [
{
"id": "10687",
"frequency": "37820",
"type": "1",
"exts": {},
"keyMap": {
"0": {
"kid": "56",
"name": "0",
"display_name": "0",
"pulse": "9022,4514,562,1707,540,575,562,571,562,576,539,575,562,571,562,575,540,575,562,1707,540,575,562,1708,540,1707,562,1690,562,1707,540,1707,562,1690,562,1707,540,1707,562,1690,562,571,562,575,540,576,561,571,562,1690,562,571,562,575,540,575,562,1707,540,1707,562,1690,562,1707,540,575,562,40045,9022,2263,562,95260",
"exts": {}
},
"CH-": {
"kid": "44",
"name": "CH-",
"display_name": "频道-",
"pulse": "9022,4514,562,1690,562,571,562,575,540,574,562,571,562,575,540,575,562,571,562,1690,562,571,562,1690,562,1707,540,1707,562,1690,562,1707,540,1707,562,575,540,1707,562,575,540,575,562,1707,540,575,561,1707,540,1707,562,1690,562,571,562,1690,562,1707,540,575,562,1707,540,575,562,571,562,40045,9022,2267,540,95280",
"exts": {}
},
"MENU": {
"kid": "45",
"name": "MENU",
"display_name": "菜单",
"pulse": "9022,4514,562,1707,540,575,562,571,562,576,539,575,562,571,562,575,540,575,562,1707,540,575,562,1707,540,1707,562,1690,562,1707,540,1707,562,1690,562,570,562,575,540,575,562,571,562,575,540,575,562,571,562,1690,561,1708,540,1708,562,1690,562,1707,540,1707,562,1690,562,1707,540,575,562,40045,9022,2263,562,95261",
"exts": {}
},
...
]
7.获取IPTV品牌信息¶
获取所有IPTV品牌信息及对应的遥控器Id信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/IPTVBrand"
返回
< 200
< [
{
"id": "1017",
"cnName": "中兴",
"enName": "ZTE",
"remoteIds": [ // 遥控器ID集合
"5262",
"6027",
"5129",
"5850",
"6492"
]
},
{
"id": "1022",
"cnName": "UT斯达康",
"enName": "UT STARCOM",
"remoteIds": [
"5272",
"6002",
"6206"
]
},
{
"id": "1147",
"cnName": "神州",
"enName": "Shenzhou",
"remoteIds": [
"6352"
]
},
...
]
8. 获取遥控器信息¶
根据遥控器Id获取,遥控器信息
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/irDevice?remoteIds=112,123"
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
remoteIds | 可选 | Set |
遥控器Id集合 | |
remoteKeys | 可选 | Set |
遥控器Id集合 | |
isSatellite | 必选 | Boolean | 是否为卫星电视 | |
page | 可选 | int | 分页参数 | |
size | 可选 | int | 分页参数 |
返回
< 200
< [
{
"id": "10687",
"frequency": "37820",
"type": "1",
"exts": {},
"keyMap": {
"0": {
"kid": "56",
"name": "0",
"display_name": "0",
"pulse": "9022,4514,562,1707,540,575,562,571,562,576,539,575,562,571,562,575,540,575,562,1707,540,575,562,1708,540,1707,562,1690,562,1707,540,1707,562,1690,562,1707,540,1707,562,1690,562,571,562,575,540,576,561,571,562,1690,562,571,562,575,540,575,562,1707,540,1707,562,1690,562,1707,540,575,562,40045,9022,2263,562,95260",
"exts": {}
},
"CH-": {
"kid": "44",
"name": "CH-",
"display_name": "频道-",
"pulse": "9022,4514,562,1690,562,571,562,575,540,574,562,571,562,575,540,575,562,571,562,1690,562,571,562,1690,562,1707,540,1707,562,1690,562,1707,540,1707,562,575,540,1707,562,575,540,575,562,1707,540,575,561,1707,540,1707,562,1690,562,571,562,1690,562,1707,540,575,562,1707,540,575,562,571,562,40045,9022,2267,540,95280",
"exts": {}
},
"MENU": {
"kid": "45",
"name": "MENU",
"display_name": "菜单",
"pulse": "9022,4514,562,1707,540,575,562,571,562,576,539,575,562,571,562,575,540,575,562,1707,540,575,562,1707,540,1707,562,1690,562,1707,540,1707,562,1690,562,570,562,575,540,575,562,571,562,575,540,575,562,571,562,1690,561,1708,540,1708,562,1690,562,1707,540,1707,562,1690,562,1707,540,575,562,40045,9022,2263,562,95261",
"exts": {}
},
...
]
9. 保存红外设备和遥控器的对应关系¶
保存红外设备和遥控器的对应关系
curl -X POST \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/irDevRemote"
-d : {
"ctrlKey" : "5d41402abc4b2a76b9719d911017c592",
"devTypeId" : "1",
"brandId" : "12341",
"remoteId" : "32134"
"name":"空凋"
}
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
devTypeId | 必选 | String | 遥控器类型id | |
brandId | 可选 | String | 遥控器品牌id | |
remoteId | 必选 | String | 遥控器id | |
ctrlKey | 必选 | String | 设备主键 | |
type | 必选 | IrDaType | STB,BRAND,SATELLITE, IPTV | 添加的设备类型 机顶盒类,品牌类,卫 星电视机顶盒 |
name | 可选 | String | 用户自定义名称 | |
cityId | 可选 | String | 遥控器类型id | |
spId | 可选 | String | 遥控器品牌id |
返回
< 200
< {
"ctrlKey": "6f243308cd044a468074237e0db28977",
"devType": "机顶盒",
"brand": "中兴",
"typeId": "5129",
"frequency": "38000",
"name": "中兴机顶盒"
"instructions": [
{
"name": "POWER",
"desc": "电源",
"data": {
"cmdId": 10,
"irFreq": 38000,
"irCode": "9016,4501,574,556,574,1679,574,556,573,556,574,556,574,1679,574,556,573,556,573,1679,574,556,573,1679,574,1679,574,1679,573,556,573,1679,574,1679,574,556,573,556,573,1679,574,1679,574,1679,574,556,573,1679,574,1679,574,1679,574,1680,573,557,573,556,573,556,573,1679,574,556,573,551,573,39807,9017,2242,573,96160",
"irType": "LE"
}
},
...
]
}
10. 列举红外设备识别的遥控器列表¶
curl -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/irDa/irDevRemote?ctrlKey = 5d41402abc4b2a76b9719d911017c592"
参数
参数名 | 是否可选 | 参数类型 | 取值范围 | 说明 |
---|---|---|---|---|
ctrlKey | 必选 | String | 设备主键 |
返回
< 200
<[
{
"ctrlKey": "6f243308cd044a468074237e0db28977",
"devType": "机顶盒",
"brand": "中兴",
"typeId": "5129",
"frequency": "38000",
"name": "中兴机顶盒"
"instructions": [
{
"name": "POWER",
"desc": "电源",
"data": {
"cmdId": 10,
"irFreq": 38000,
"irCode": "9016,4501,574,556,574,1679,574,556,573,556,574,556,574,1679,574,556,573,556,573,1679,574,556,573,1679,574,1679,574,1679,573,556,573,1679,574,1679,574,556,573,556,573,1679,574,1679,574,1679,574,556,573,1679,574,1679,574,1679,574,1680,573,557,573,556,573,556,573,1679,574,556,573,551,573,39807,9017,2242,573,96160",
"irType": "LE"
}
},
...
]
}
]