如何在带有Node的Raspberry Pi 3上阅读Wiegand?

时间:2019-07-04 14:07:47

标签: node.js raspberry-pi access-control wiegand

我尝试了许多教程,但无法正常工作。

当前情况:
-12V Access control device,即connected like this,即Wiegand D0至GPIO14(引脚8 / Tx)和D1至GPIO15(引脚10 / Rx),带有分压器,将5V转换为3.3V。
-带有Raspbian Lite操作系统的Raspberry Pi3。
-Configured the GPIO serial port,即启用uart并禁用控制台。

我正在使用onoff NPM package读取信号,但是我什么也没收到

const Gpio = require('onoff').Gpio;
const d0 = new Gpio(8, 'in');
const d1 = new Gpio(10, 'in');

d0.watch((err, value) => {
  if (err) {
    throw err;
  }

  d0.readSync(value);
});

d1.watch((err, value) => {
  if (err) {
    throw err;
  }

  d1.readSync(value);
});

process.on('SIGINT', () => {
  d0.unexport();
  d1.unexport();
});

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

您要使用的NPM软件包只能检测GPIO引脚上不断变化的逻辑电平。

您应该改用Wiegand NPM

我认为您在代码上设置了错误的引脚。引脚8和10实际上是GPIO14和GPIO15。我链接的库默认情况下使用GPIO17和GPIO18,它们位于connector的引脚11和12上。

话虽如此,没有必要disable the UART将引脚8和10用作数字GPIO。