gpio на raspi и nodejs с rpi-gpio

Я использую raspi Model B Rev 2 512MB, я установил модуль и успешно открыл булавку для записи на нем. Успешно заставил мигать светодиод. Затем я пытаюсь открыть порт для чтения, и я получаю ошибку

{ Ошибка: EIO: ошибка ввода/вывода, запись errno: -5, код: 'EIO', системный вызов: 'запись' }

Это соответствующая часть кода.

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) с тем же результатом.

введите здесь описание изображения

Любая подсказка ??


person javirs    schedule 12.03.2017    source источник
comment
Вы работаете с SUDO?   -  person MikeT    schedule 13.03.2017


Ответы (2)


проблема в том, что синтаксис немного отличается, если вы добавите третий параметр для края, вы не сможете добавить обратный вызов, изменив это:

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

к этому

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

решил проблему

person javirs    schedule 14.03.2017

PIN 6 является заземлением, поэтому вы не можете его использовать. Вы можете использовать PIN 5 для ввода. (ПИН-коды, а не GPIO)

Схема контактов для справки:

введите здесь описание изображения

person hya    schedule 12.03.2017
comment
пожалуйста, проверьте мое редактирование, я включил фактическую распиновку и исправил вызов функции. - person javirs; 12.03.2017