【问题标题】:gpio on raspi and nodejs with rpi-gpiorpi-gpio 在 raspi 和 nodejs 上的 gpio
【发布时间】:2017-03-12 14:41:21
【问题描述】:

我正在运行 raspi Model B Rev 2 512MB,我安装了模块并成功打开了一个用于在其上写入的 pin。成功使 LED 闪烁。 然后我尝试打开一个端口进行读取,我得到了错误

{ 错误:EIO:i/o 错误,写入 errno:-5,代码:'EIO',系统调用:'write' }

这是代码的相关部分。

var gpio = require('rpi-gpio');
server.listen(8080, function() {
    console.log('Servidor corriendo en http://localhost:8080');

    gpio.setup(7, gpio.DIR_OUT, control);
    gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);

});

function control(err)
{
    if(err)
        console.log("Control function: " + err);
    else
        console.log('ok');
}

这是我使用 gpio readall 看到的引脚排列,我想从 GPIO6 读取,因此我调用 22(物理端口)我也尝试了 25(BCM 端口),结果相同。

有什么线索吗??

【问题讨论】:

  • 你在运行 SUDO 吗?

标签: node.js raspberry-pi gpio


【解决方案1】:

问题是语法略有不同,如果为边缘添加第三个参数,则无法添加回调,更改此:

gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH, control);

到这里

gpio.setup(22, gpio.DIR_IN, gpio.EDGE_BOTH);

解决了问题

【讨论】:

    【解决方案2】:

    PIN 6 是接地的,因此您不能使用它。您可以使用 PIN 5 进行输入。 (PIN 不是 GPIO)

    引脚图供参考:

    【讨论】:

    • 请检查我的编辑,我包含了实际的引脚排列并修复了函数调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多