GemeOpen 智能红外控制器-WiFi版 (型号:GSCU1B) - 开发者指令
# 智能红外控制器-WiFi版 (型号:GSCU1B) - 开发者指令
## 产品基本描述
一款支持学习的红外遥控器,采用MQTT/TCP协议控制,上行使用WiFi网络连接,开发者使用任意开发语言,实现对遥控器的控制,5V USB-C供电,发射有效距离6米。
常用于空调遥控、电视遥控、电扇遥控,接入开发者私有物联网平台,实现远程控制以及智能联动。
常用于空调遥控、电视遥控、电扇遥控,接入开发者私有物联网平台,实现远程控制以及智能联动。
## 产品主要特点
WiFi网络,远程控制
支持学习248种红外信号
5V 1A供电
支持学习248种红外信号
5V 1A供电
## 官网产品资料
### 产品详细信息
https://www.smart-bird.cn/infrared-controller-WiFi.html
### 淘宝购买网址
https://item.taobao.com/item.htm?ft=t&id=859838900803
### 京东购买网址
### 开发者文档
https://www.smart-bird.cn/doc/product/GSCU/device/GSCU1B/command
## 产品电气参数
---
| 参数名 | 参数值 |
|------|------|
|
品牌
| GemeOpen
|
|
上市日期
| 2025年
|
|
产品类型
| 智能红外控制器-WiFi版
|
|
产品型号
| GSCU1B
|
|
外观尺寸
| 65mm*65mm*29mm
|
|
输入电压
| 5V
|
|
工作电压
| 1A
|
|
遥控信号
| 38KHz 红外
|
|
待机功率
| <1W
|
|
通信方式
| 2.4GHz WIFI
|
|
通讯模块
| 乐鑫ESP32
|
|
电源插口
| USB Type-C
|
|
载波频率
| 38KHz 红外
|
|
遥控距离
| 6米(此为控制器正对设备无遮挡时,直线有效距离,因不同设备而异。注意: 本控制器遥控距离无法达到原装遥控器水平。)
|
|
红外学习
| 支持学习248种红外信号
|
---
## 控制采集
### 发送学习过的红外指令
*controller-infrared-emit*
发送对应学习过的红外指令。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "emit",
"data" :
{
"no" : 110
},
"type" : "infrared"
}
"action" : "emit",
"data" :
{
"no" : 110
},
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 发射红外码,固定为"emit"
| emit
|
|
data
| Object
| 数据
| |
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"action" : "emit",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"no" : 110,
"success" : true,
"type" : "infrared"
}
"action" : "emit",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"no" : 110,
"success" : true,
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"learn"
| emit
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 10b41d1a2f40
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 2026092201
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
|
type
| String
| 固定值"infrared"
| infrared
|
---
### 擦除红外指令
*controller-infrared-erase*
将全部学习过的擦除。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "erase",
"type" : "infrared"
}
"action" : "erase",
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 擦除红外码,固定为"erase"
| erase
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"action" : "erase",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"success" : true,
"type" : "infrared"
}
"action" : "erase",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"success" : true,
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"learn"
| erase
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 10b41d1a2f40
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 2026092201
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
|
type
| String
| 固定值"infrared"
| infrared
|
---
### 学习红外代码
*controller-infrared-learn*
通过指令下发学习红外指令。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "learn",
"data" :
{
"no" : 110
},
"type" : "infrared"
}
"action" : "learn",
"data" :
{
"no" : 110
},
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"learn"
| learn
|
|
data
| Object
| 数据
| |
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 红外相关指令默认填"infrared"
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"action" : "learn",
"mac" : "10b41d1a2f40",
"messageId" : " 2026092201",
"no" : 110,
"success" : true,
"type" : "infrared"
}
"action" : "learn",
"mac" : "10b41d1a2f40",
"messageId" : " 2026092201",
"no" : 110,
"success" : true,
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 学习红外码指令默认填"learn"
| learn
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 10b41d1a2f40
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 2026092201
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
|
type
| String
| 固定值"infrared"
| infrared
|
---
### 获取设备基础信息
*info-all*
查询当前设备的基础信息,如设备MAC地址、设备型号、固件版本号、当前连接的WiFi名称(ssid)、当前设备被分配的IP地址、WiFi信号强度及相关配置信息。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"messageId" : "2026092201",
"type" : "info"
}
"messageId" : "2026092201",
"type" : "info"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 2026092201
|
|
type
| String
| 固定值"info"
| info
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"code" : "Infrared-Controller-wifi",
"ip" : "192.168.0.223",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"signal" : -45,
"ssid" : "gemeopen",
"type" : "info",
"version" : "1.1.6",
"wifiLock" : 0
}
"code" : "Infrared-Controller-wifi",
"ip" : "192.168.0.223",
"mac" : "10b41d1a2f40",
"messageId" : "2026092201",
"signal" : -45,
"ssid" : "gemeopen",
"type" : "info",
"version" : "1.1.6",
"wifiLock" : 0
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
code
| String
| 设备型号代码
| Infrared-Controller-wifi
|
|
ip
| String
| 设备连接WIFI后获取的IP
| 192.168.0.223
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 10b41d1a2f40
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 2026092201
|
|
signal
| int
| 信号强度,显示规则为: signal<= 0 && signal>= -50
//信号最好 signal< -50 && signal>= -70
//信号较好 signal< -70 && signal>= -80
//信号一般 signal<-80 && signal>= -100
//信号较差 signal没有在0~(-100)之间,表示无信号
| -45
|
|
ssid
| String
| 设备当前连接的WIFI名称
| gemeopen
|
|
type
| String
| 固定值"info"
| info
|
|
version
| String
| 当前固件版本号
| 1.1.6
|
|
wifiLock
| int
| 配网锁,0:关闭,1:开启
| 0
|
---
## 设备维护
### 恢复出厂
*controller-reset*
恢复出厂设置后配网信息和自定义信息都会清空,请谨慎操作!
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"system" : "reset",
"type" : "setting"
}
"system" : "reset",
"type" : "setting"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
system
| String
| 重置/恢复出厂设置默认填"reset"
| reset
|
|
type
| String
| 设备设置固定传"setting"
| setting
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"commandName" : "controller-reset",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "20260520",
"source" : "command",
"success" : true
}
"commandName" : "controller-reset",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "20260520",
"source" : "command",
"success" : true
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-reset
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
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
{
"commandName" : "controller-restart",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "20260520",
"source" : "command",
"success" : true
}
"commandName" : "controller-restart",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "20260520",
"source" : "command",
"success" : true
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-restart
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
message
| String
| 执行结果描述:对命令执行结果的文本说明。执行完成且无异常:ok ;如果出现异常,返回异常结果描述。
| ok
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 20260520
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果,执行成功:true;执行失败:false
| true
|
---
###
*ir_read*
读取指定编号的红外码数据。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "ir_read",
"data" :
{
"no" : 100
},
"messageId" : "API-xxx",
"type" : "infrared"
}
"action" : "ir_read",
"data" :
{
"no" : 100
},
"messageId" : "API-xxx",
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 读取红外码指令,默认填"read"
| ir_read
|
|
data
| Object
| 数据
| |
|
messageId
| String
| 消息ID字段
| API-xxx
|
|
no
| int
| 红外码编号,编号范围1~248
| 100
|
|
type
| String
| 消息类型
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"commandName" : "controller-infrared-read",
"ir_data" : "00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "API-xxx",
"no" : 100,
"source" : "command",
"success" : true
}
"commandName" : "controller-infrared-read",
"ir_data" : "00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "API-xxx",
"no" : 100,
"source" : "command",
"success" : true
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-read
|
|
ir_data
| String
| 红外码数据,包含 2字节长度头 + 红外数据 + 4字节结尾FF
| 00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
message
| String
| 执行返回结果
| ok
|
|
messageId
| String
| 消息ID字段
| API-xxx
|
|
no
| int
| 红外码编号,编号范围1~248
| 100
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果
| true
|
---
###
*ir_write*
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"action" : "ir_write",
"ir_data" : "00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF",
"messageId" : "API-xxx",
"no" : 110,
"type" : "infrared"
}
"action" : "ir_write",
"ir_data" : "00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF",
"messageId" : "API-xxx",
"no" : 110,
"type" : "infrared"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
action
| String
| 写入红外码指令,固定填 "ir_write"
| ir_write
|
|
ir_data
| String
| 红外码数据(HEX字符串,包含长度头和结尾FF)
| 00495D2D0606060506060606060506060606060605110611051106110511061006110610060606060606060506060606061006060610061106100611061006110606061006FFFFFFFF
|
|
messageId
| String
| 消息ID字段
| API-xxx
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
type
| String
| 消息类型
| infrared
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"commandName" : "controller-infrared-write",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "API-xxx",
"no" : 110,
"source" : "command",
"success" : true
}
"commandName" : "controller-infrared-write",
"mac" : "4CEBD60BFD62",
"message" : "ok",
"messageId" : "API-xxx",
"no" : 110,
"source" : "command",
"success" : true
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| controller-infrared-write
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
message
| String
| 执行返回结果
| ok
|
|
messageId
| String
| 消息ID字段
| API-xxx
|
|
no
| int
| 红外码编号,编号范围1~248
| 110
|
|
source
| String
| 指令回复“command"
| command
|
|
success
| boolean
| 执行结果
| true
|
---
### 自定义MQTT
*setting-mqtt*
设备支持自定义MQTT,注意:在通过MQTT自定义MQTT信息后,需要将设备断电重启或者向设备发送重启命令才可生效。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"clientId" : "admin",
"password" : "password",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/topic/qos0",
"server" : "192.168.0.66",
"subcribe" : "/topic/qos1",
"type" : "custom",
"username" : "username"
}
"clientId" : "admin",
"password" : "password",
"port" : "1883",
"protocol" : "mqtt",
"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
|
|
protocol
| String
| 协议类型
| mqtt
|
|
publish
| String
| 自定义发布主题 注意:不可重复
| /topic/qos0
|
|
server
| String
| 自定义服务器地址
| 192.168.0.66
|
|
subcribe
| String
| 自定义订阅主题,注意:不可重复
| /topic/qos1
|
|
type
| String
| 自定义MQTT配置默认填"custom"
| custom
|
|
username
| String
| 自定义服务器用户名
| username
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"clientId" : "admin",
"commandName" : "setting-mqtt",
"mac" : "4CEBD60BFD62",
"messageId" : "202201241610366046",
"password" : "123456",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/rqlMqR/GYofdXmMpHQa/8cce4e51e2c7/subscribe",
"server" : "broker.emqx.io",
"source" : "command",
"subcribe" : "/topic/qos1 ",
"username" : "admin"
}
"clientId" : "admin",
"commandName" : "setting-mqtt",
"mac" : "4CEBD60BFD62",
"messageId" : "202201241610366046",
"password" : "123456",
"port" : "1883",
"protocol" : "mqtt",
"publish" : "/rqlMqR/GYofdXmMpHQa/8cce4e51e2c7/subscribe",
"server" : "broker.emqx.io",
"source" : "command",
"subcribe" : "/topic/qos1 ",
"username" : "admin"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
clientId
| String
| 自定义MQTT客户端ID注意:不可重复
| admin
|
|
commandName
| String
| 指令名称
| setting-mqtt
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 202201241610366046
|
|
password
| String
| 密码
| 123456
|
|
port
| String
| 端口号
| 1883
|
|
protocol
| String
| 协议类型
| mqtt
|
|
publish
| String
| 自定义发布主题 注意:不可重复
| /rqlMqR/GYofdXmMpHQa/8cce4e51e2c7/subscribe
|
|
server
| String
| 自定义服务器地址
| broker.emqx.io
|
|
source
| String
| 指令回复“command"
| command
|
|
subcribe
| String
| 自定义订阅主题,注意:不可重复
| /topic/qos1
|
|
username
| String
| 自定义服务器用户名
| admin
|
---
### 自定义TCP
*setting-tcp*
设备支持通过MQTT方式自定义TCP信息,注意:通过MQTT自定义TCP信息后,需要将设备断电重启或者向设备发送重启命令才可生效。
**向设备发送指令(服务端向设备订阅topic发送消息)**
```json
{
"port" : "1883",
"protocol" : "tcp",
"server" : "192.168.0.66",
"type" : "custom"
}
"port" : "1883",
"protocol" : "tcp",
"server" : "192.168.0.66",
"type" : "custom"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
port
| String
| 端口号
| 1883
|
|
protocol
| String
| 协议类型
| tcp
|
|
server
| String
| 自定义服务器地址
| 192.168.0.66
|
|
type
| String
| 默认填"custom"
| custom
|
---
**设备返回信息(设备向服务端订阅topic上报消息)**
```json
{
"commandName" : "setting-tcp",
"mac" : "4CEBD60BFD62",
"messageId" : "202201241610366046",
"port" : "8080",
"protocol" : "tcp",
"server" : "192.168.0.66",
"source" : "command"
}
"commandName" : "setting-tcp",
"mac" : "4CEBD60BFD62",
"messageId" : "202201241610366046",
"port" : "8080",
"protocol" : "tcp",
"server" : "192.168.0.66",
"source" : "command"
}
```
#### 字段属性
---
| 字段名称 | 字段类型 | 字段说明 | 示例值 |
|------|------|------|------|
|
commandName
| String
| 指令名称
| setting-tcp
|
|
mac
| String
| wifi设备MAC地址或4G设备的IMEI号,唯一标识
| 4CEBD60BFD62
|
|
messageId
| String
| 业务流水号。由请求方生成的唯一标识,响应方原样回显,用于请求与响应的关联匹配。
| 202201241610366046
|
|
port
| String
| 端口号
| 8080
|
|
protocol
| String
| 协议类型
| tcp
|
|
server
| String
| 自定义服务器地址
| 192.168.0.66
|
|
source
| String
| 指令回复“command"
| command
|
---





