Я строю простую инфракрасную цепь, чтобы подключить мой RPi 2. У меня есть некоторый рабочий код на питоне, который успешно срабатывает, когда мой инфракрасный луч сломан, но я хочу используйте node.js вместо python.Node.JS onoff не правильно подбирает GPIO
Вот мой питон код, просто и красиво:
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, которые позволяют мне использовать GPIO на Pi и решил, что 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 Администратор экспортировать булавку я использую:
[email protected] ~ $ 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, и он все еще не работает. Я использую последнюю стабильную сборку raspbian с версии 2015/04/29 с полностью обновленной системой, используя nodejs v0.12.2.
Что вы имеете в виду под номером булавки? Номер BCM или физический номер, который я могу подсчитать? – Logan
Я просто редактирую его на https://www.hobbytronics.co.uk/image/data/tutorial/raspberry-pi/gpio-pinout-bplus.jpg –
Я изменил свой код, чтобы посмотреть на вывод 4 (который отображается на контакт 7), и он работает, я соглашусь, как только SO позволит мне :) – Logan