本模块为 UniApp 提供了对 Android 系统下 GPIO 的访问能力,支持导出、设置方向、读写电平值等操作。适用于 Android 架构设备(如 RK3288 平台)。
功能 | 方法名 | 说明 |
---|---|---|
初始化 GPIO 方向 | initGpio({gpio, direction}) | 设置 GPIO 输入/输出模式 |
设置 GPIO 电平 | setGpioValue({gpio, value}) | 设置高/低电平(仅限输出模式) |
读取 GPIO 电平 | readGpioValue({gpio}) | 获取当前引脚电平值 |
/sys/class/gpio
接口)const gpioModule = uni.requireNativePlugin('zy-GpioModule');
{
"gpio": 17,
"direction": "out"
}
gpioModule.initGpio({
gpio: 17,
direction: 'out'
}, (res) => {
console.log(res);
});
{
"code": 1,
"msg": "GPIO 初始化成功",
"data": {
"gpio": 17,
"direction": "out"
}
}
{
"gpio": 17,
"value": 1
}
gpioModule.setGpioValue({
gpio: 17,
value: 1
}, (res) => {
console.log(res);
});
{
"code": 1,
"msg": "GPIO 设置成功",
"data": {
"gpio": 17,
"value": 1
}
}
❗ 注意:如果未将 GPIO 设置为输出模式,将返回错误信息:
GPIO 设置失败:请先将 GPIO 17 设置为输出模式
{
"gpio": 17
}
gpioModule.readGpioValue({
gpio: 17
}, (res) => {
console.log(res);
});
{
"code": 1,
"msg": "GPIO 读取成功",
"data": {
"gpio": 17,
"value": "1"
}
}
所有方法均返回以下格式的 JSON 对象:
{
"code": 1,
"msg": "描述信息",
"data": { ... }
}
在 JS 中应根据 code
字段判断执行结果,并提示用户或记录日志:
if (res.code === 1) {
uni.showToast({ title: res.msg });
} else {
uni.showToast({ title: res.msg, icon: 'none' });
console.error(res);
}
项目 | 说明 |
---|---|
权限要求 | 必须具备 root 权限才能操作 /sys/class/gpio 文件系统 |
架构兼容性 | armeabi-v7a |
功能 | 是否需要 root | 是否必须初始化方向 |
---|---|---|
initGpio | ✅ 是 | — |
setGpioValue | ✅ 是 | ✅ 是 |
readGpioValue | ✅ 是 | ✅ 是 |