GemeOpen 智能红外控制器-4G版 (型号:GSCU1B-4G) - 开发者指令
# 智能红外控制器-4G版 (型号:GSCU1B-4G) - 开发者指令
## 产品基本描述
## 产品主要特点
4G网络,远程控制
支持学习248种红外信号
5V 1A供电
支持学习248种红外信号
5V 1A供电
## 官网产品资料
### 产品详细信息
https://www.smart-bird.cn/infrared-controller-4G.html
### 淘宝购买网址
https://item.taobao.com/item.htm?ft=t&id=857847970762
### 京东购买网址
### 开发者文档
https://www.smart-bird.cn/doc/product/GSCU/device/GSCU1B-4G/command
## 产品电气参数
---
| 参数名 | 参数值 |
|------|------|
|
品牌
| GemeOpen
|
|
上市日期
| 2025年
|
|
产品类型
| 智能红外控制器-4G版
|
|
产品型号
| GSCU1B-4G
|
|
外观尺寸
| 65mm*65mm*29mm
|
|
输入电压
| 5V
|
|
工作电压
| 1A
|
|
遥控信号
| 38KHz 红外
|
|
待机功率
| <1W
|
|
通信方式
| 4G全网通
|
|
通讯模块
| 合宙780
|
|
电源插口
| USB Type-C
|
|
载波频率
| 38KHz 红外
|
|
遥控距离
| 6米(此为控制器正对设备无遮挡时,直线有效距离,因不同设备而异。注意: 本控制器遥控距离无法达到原装遥控器水平。)
|
|
红外学习
| 支持学习248种红外信号
|
---
## 控制采集
### 发送学习过的红外指令
*controller-infrared-emit*
发送对应学习过的红外指令。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "emit",
"data" :
{
"no" : 110
},
"messageId" : "20260520",
"type" : "infrared"
}
"action" : "emit",
"data" :
{
"no" : 110
},
"messageId" : "20260520",
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 此处固定为"emit"
| emit
|
|
data
| Object
| 数据
| |
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-emit",
"messageId": "20260520"
}
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-emit",
"messageId": "20260520"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-emit
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
### 擦除红外指令
*controller-infrared-erase*
将全部学习过的擦除。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "erase",
"messageId" : "20260520",
"type" : "infrared"
}
"action" : "erase",
"messageId" : "20260520",
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 此处固定为"erase"
| erase
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-erase",
"messageId": "20260520"
}
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-erase",
"messageId": "20260520"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-erase
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
### 学习红外代码
*controller-infrared-learn*
通过指令下发学习红外指令。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "learn",
"data" :
{
"no" : 110
},
"messageId" : "20260520",
"type" : "infrared"
}
"action" : "learn",
"data" :
{
"no" : 110
},
"messageId" : "20260520",
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"learn"
| learn
|
|
data
| Object
| 数据
| |
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"success": true,
"no": 110,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-learn",
"messageId": "20260520"
}
"success": true,
"no": 110,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-infrared-learn",
"messageId": "20260520"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-learn
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
### 获取设备基础信息
*info-all*
查询当前设备的基础信息,如设备MAC地址/imei、设备型号、固件版本号、当前连接的WiFi名称(ssid)、当前设备被分配的IP地址、WiFi信号强度及相关配置信息。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"messageId" : "$messageId",
"type" : "info"
}
"messageId" : "$messageId",
"type" : "info"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| $messageId
|
|
type
| String
| 固定值"xxx"
| info
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"iccid": "898608361924D2182843",
"imei": "866597072523945",
"signal": 15,
"commandName": "info-all",
"messageId": "$messageId",
"code": "Infrared-Controller-4G",
"source": "command",
"resetLock": 0,
"version": "1.0.6"
}
"iccid": "898608361924D2182843",
"imei": "866597072523945",
"signal": 15,
"commandName": "info-all",
"messageId": "$messageId",
"code": "Infrared-Controller-4G",
"source": "command",
"resetLock": 0,
"version": "1.0.6"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
code
| String
| 设备型号代码
| Infrared-Controller-4G
|
|
commandName
| String
| 指令名称
| info-all
|
|
iccid
| String
| SIM-卡ICCID值
| 898608361924D2182843
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| $messageId
|
|
resetLock
| int
| 重置锁,0:关闭,1:开启
| 0
|
|
signal
| int
| 信号强度,显示规则为: signal<= 0 && signal>= -50
//信号最好 signal< -50 && signal>= -70
//信号较好 signal< -70 && signal>= -80
//信号一般 signal<-80 && signal>= -100
//信号较差 signal没有在0~(-100)之间,表示无信号
| 15
|
|
source
| String
| 指令回复“command"
| command
|
|
version
| String
| 当前固件版本号
| 1.0.6
|
---
## 全部指令
### 重置/恢复出厂设置
*controller-reset*
恢复出厂设置后配网信息和自定义信息都会清空,请谨慎操作!
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"messageId" : "20260520",
"system" : "reset",
"type" : "setting"
}
"messageId" : "20260520",
"system" : "reset",
"type" : "setting"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
system
| String
| 重置/恢复出厂设置默认填"reset"
| reset
|
|
type
| String
| 固定值"setting"
| setting
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"message": "ok",
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-reset",
"messageId": "20260520"
}
"message": "ok",
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-reset",
"messageId": "20260520"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-reset
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
message
| String
| 执行结果描述:对命令执行结果的文本说明。执行完成且无异常:ok ;如果出现异常,返回异常结果描述。
| ok
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
### 设备软重启
*controller-restart*
软重启后,通过指令设置的参数将生效,同时设备将重新连接Wifi/4G网络,注意设备IP地址可能发生变化
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"system" : "restart",
"type" : "setting"
}
"system" : "restart",
"type" : "setting"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
system
| String
| 设备软重启固定传"restart"
| restart
|
|
type
| String
| 设备设置固定传"setting"
| setting
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"message": "ok",
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-restart",
"messageId": ""
}
"message": "ok",
"success": true,
"imei": "866597072523945",
"source": "command",
"commandName": "controller-restart",
"messageId": ""
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-restart
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
message
| String
| 执行结果描述:对命令执行结果的文本说明。执行完成且无异常:ok ;如果出现异常,返回异常结果描述。
| ok
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| |
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
###
*ir_read*
1.0.5 固件版本支持该接口
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"ir_read"
| ir_read
|
|
data
| Object
| 数据
| |
|
messageId
| String
| 消息 ID,返回时会透传
| 20260717
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 固定填 "infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-read
|
|
imei
| String
| 设备唯一标识
| 866965087690928
|
|
message
| String
| 执行返回结果
| ok
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果
| true
|
---
###
*ir_write*
1.0.5 固件版本支持该接口
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 写入红外码固定填 "infrared"
| ir_write
|
|
ir_data
| String
| 红外码数据
| 00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 红外 固定填 "infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-write
|
|
imei
| String
| 设备唯一标识
| 866965087690928
|
|
message
| String
| 执行返回结果
| ok
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果
| true
|
---
### 自定义MQTT
*setting-mqtt*
设置设备自定义mqtt
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"clientId":"admin",
"password":"password",
"port":"1883",
"publish":"/topic/qos0",
"server":"192.168.0.66",
"subcribe":"/topic/qos1",
"type":"custom",
"username":"username"
}
"clientId":"admin",
"password":"password",
"port":"1883",
"publish":"/topic/qos0",
"server":"192.168.0.66",
"subcribe":"/topic/qos1",
"type":"custom",
"username":"username"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
clientId
| String
| 自定义MQTT客户端ID注意:不可重复
| admin
|
|
password
| String
| 密码
| password
|
|
port
| String
| 端口号
| 1883
|
|
publish
| String
| 自定义发布主题 注意:不可重复
| /topic/qos0
|
|
server
| String
| 自定义服务器地址
| 192.168.0.66
|
|
subcribe
| String
| 自定义订阅主题,注意:不可重复
| /topic/qos1
|
|
type
| String
| 自定义MQTT配置默认填"custom"
| custom
|
|
username
| String
| 自定义服务器用户名
| username
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"commandName":"setting-mqtt",
"source":"command",
"clientId":"custom",
"password":"password",
"port":"1883",
"protocol":"mqtt",
"publish":"/topic/qos0",
"server":"192.168.0.66",
"subcribe":"/topic/qos1",
"username":"username"
}
"commandName":"setting-mqtt",
"source":"command",
"clientId":"custom",
"password":"password",
"port":"1883",
"protocol":"mqtt",
"publish":"/topic/qos0",
"server":"192.168.0.66",
"subcribe":"/topic/qos1",
"username":"username"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
clientId
| String
| 自定义MQTT客户端ID注意:不可重复
| admin
|
|
commandName
| String
| 指令名称
| setting-mqtt
|
|
password
| String
| 密码
| 123456
|
|
port
| String
| 端口号
| 1883
|
|
protocol
| String
| 协议类型
| mqtt
|
|
publish
| String
| 自定义发布主题 注意:不可重复
| /topic/qos0
|
|
server
| String
| 自定义服务器地址
| 192.168.0.66
|
|
source
| String
| 指令回复“command"
| command
|
|
subcribe
| String
| 自定义订阅主题,注意:不可重复
| /topic/qos1
|
|
username
| String
| 自定义服务器用户名
| username
|
---
### 设置重置锁
*setting-reset-lock*
设置设备重置锁
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"messageId" : "20260520",
"resetLock" : 0,
"type" : "setting"
}
"messageId" : "20260520",
"resetLock" : 0,
"type" : "setting"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
resetLock
| int
| 重置锁,0:关闭,1:开启
| 0
|
|
type
| String
| 固定值"setting"
| setting
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"code" : "Infrared-Controller-4G",
"commandName" : "setting-reset-lock",
"iccid" : "898608361924D2182843",
"imei" : "866597072523945",
"messageId" : "20260520",
"resetLock" : 0,
"signal" : 14,
"source" : "command",
"version" : "1.0.6"
}
"code" : "Infrared-Controller-4G",
"commandName" : "setting-reset-lock",
"iccid" : "898608361924D2182843",
"imei" : "866597072523945",
"messageId" : "20260520",
"resetLock" : 0,
"signal" : 14,
"source" : "command",
"version" : "1.0.6"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
code
| String
| 设备型号代码
| Infrared-Controller-4G
|
|
commandName
| String
| 指令名称
| setting-reset-lock
|
|
iccid
| String
| SIM-卡ICCID值
| 898608361924D2182843
|
|
imei
| String
| 设备唯一标识
| 866597072523945
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
resetLock
| int
| 重置锁,0:关闭,1:开启
| 0
|
|
signal
| int
| 信号强度,显示规则为:signal int 信号强度,取值范围(0~31),值越大越好
| 14
|
|
source
| String
| 指令回复“command"
| command
|
|
version
| String
| 当前固件版本号
| 1.0.6
|
---





