Node.JS onoff 没有正确获取 GPIO
Node.JS onoff not picking up GPIO correctly
我正在构建一个简单的红外线断路光束电路以插入我的 RPi 2。我在 python 中有一些工作代码,当我的红外线光束被中断时,它会成功拾取,但我想使用 node.js 而不是 python.
这是我的 python 代码,简洁明了:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN)
try:
while True:
print(GPIO.input(7))
time.sleep(0.01)
except KeyboardInterrupt:
GPIO.cleanup()
现在我阅读了一些 node.js 的不同包,这些包让我可以在 Pi 上使用 GPIO,并认为 onoff
看起来是最好的,因为它与回调异步工作,我会喜欢用。
这是我尝试用于节点的代码:
var Gpio = require('onoff').Gpio,
infrared = new Gpio(7, 'in');
var interval = setInterval(function()
{
console.log(infrared.readSync() ^ 1);
}, 100);
function exit() {
infrared.unexport();
process.exit();
}
process.on('SIGINT', exit);
节点的问题是无论我做什么,我总是得到相同的 0 信号。我已经尝试通过使用一个简单的按钮来消除我的电路问题,但即使这样也行不通(我使用 python 测试了相同的电路并且工作正常)。
这甚至没有使用它的异步部分(这也不起作用,因为从未发生过中断)。
我尝试使用 GPIO Admin 导出我正在使用的 pin:
pi@counter ~ $ sudo gpio-admin export 7
gpio-admin: failed to change group ownership of /sys/devices/virtual/gpio/gpio7/direction: No such file or directory
/sys/devices/virtual/gpio/
在我的系统上不存在。
我是否必须做任何特定的事情才能让节点与我的 GPIO 很好地配合使用?
请注意,我是使用 Adafruit WebIDE 编写的,是的,我已经尝试在 IDE 的上下文之外执行它,但它仍然不起作用。我使用的是截至 2015 年 4 月 29 日的 raspbian 的最新稳定版本和完全更新的系统,使用 nodejs v0.12.2.
节点 GPIO 库的主要问题是要提供的参数是引脚号而不是 GPIO 号...
尝试使用密码,正常即可。
GPIO 7 是 raspberry pi
上的引脚 26
我正在构建一个简单的红外线断路光束电路以插入我的 RPi 2。我在 python 中有一些工作代码,当我的红外线光束被中断时,它会成功拾取,但我想使用 node.js 而不是 python.
这是我的 python 代码,简洁明了:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN)
try:
while True:
print(GPIO.input(7))
time.sleep(0.01)
except KeyboardInterrupt:
GPIO.cleanup()
现在我阅读了一些 node.js 的不同包,这些包让我可以在 Pi 上使用 GPIO,并认为 onoff
看起来是最好的,因为它与回调异步工作,我会喜欢用。
这是我尝试用于节点的代码:
var Gpio = require('onoff').Gpio,
infrared = new Gpio(7, 'in');
var interval = setInterval(function()
{
console.log(infrared.readSync() ^ 1);
}, 100);
function exit() {
infrared.unexport();
process.exit();
}
process.on('SIGINT', exit);
节点的问题是无论我做什么,我总是得到相同的 0 信号。我已经尝试通过使用一个简单的按钮来消除我的电路问题,但即使这样也行不通(我使用 python 测试了相同的电路并且工作正常)。
这甚至没有使用它的异步部分(这也不起作用,因为从未发生过中断)。
我尝试使用 GPIO Admin 导出我正在使用的 pin:
pi@counter ~ $ sudo gpio-admin export 7
gpio-admin: failed to change group ownership of /sys/devices/virtual/gpio/gpio7/direction: No such file or directory
/sys/devices/virtual/gpio/
在我的系统上不存在。
我是否必须做任何特定的事情才能让节点与我的 GPIO 很好地配合使用?
请注意,我是使用 Adafruit WebIDE 编写的,是的,我已经尝试在 IDE 的上下文之外执行它,但它仍然不起作用。我使用的是截至 2015 年 4 月 29 日的 raspbian 的最新稳定版本和完全更新的系统,使用 nodejs v0.12.2.
节点 GPIO 库的主要问题是要提供的参数是引脚号而不是 GPIO 号...
尝试使用密码,正常即可。
GPIO 7 是 raspberry pi
上的引脚 26