uniapp安卓GPIO电平控制

模块简介

本模块为 UniApp 提供了对 Android 系统下 GPIO 的访问能力,支持导出、设置方向、读写电平值等操作。适用于 Android 架构设备(如 RK3288 平台)。

支持功能

功能方法名说明
初始化 GPIO 方向initGpio({gpio, direction})设置 GPIO 输入/输出模式
设置 GPIO 电平setGpioValue({gpio, value})设置高/低电平(仅限输出模式)
读取 GPIO 电平readGpioValue({gpio})获取当前引脚电平值

引脚说明(/sys/class/gpio 接口)

  • 所有 GPIO 需先通过 initGpio 初始化方向后才可使用
  • 输出模式下才可以调用 setGpioValue
  • 输入模式下才可以调用 readGpioValue

使用示例

1. 加载插件

const gpioModule = uni.requireNativePlugin('zy-GpioModule');

2. 初始化 GPIO 方向

方法:initGpio(options, callback)
参数:
{
  "gpio": 17,
  "direction": "out"
}
示例代码:
gpioModule.initGpio({
    gpio: 17,
    direction: 'out'
}, (res) => {
    console.log(res);
});
返回结构:
{
  "code": 1,
  "msg": "GPIO 初始化成功",
  "data": {
    "gpio": 17,
    "direction": "out"
  }
}

3. 设置 GPIO 电平

方法:setGpioValue(options, callback)
参数:
{
  "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 设置为输出模式

4. 读取 GPIO 电平

方法:readGpioValue(options, callback)
参数:
{
  "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✅ 是✅ 是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值