0

我已经尝试了许多教程,但我无法让它工作。

当前情况:
- 12V访问控制设备Wiegand D0 到 GPIO14(引脚 8/Tx)和 D1 到 GPIO15(引脚 10/Rx),带有分压器,将 5V 转换为 3.3V。
- 带有 Raspbian Lite 操作系统的 Raspberry Pi 3。
-配置 GPIO 串行端口,即启用 uart 和禁用控制台。

我正在使用onoff NPM 包来读取信号,但我什么也没得到

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();
});

我究竟做错了什么?

4

1 回答 1

1

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

您应该改用Wiegand NPM

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

话虽如此,无需禁用 UART即可将引脚 8 和 10 用作数字 GPIO。

于 2019-07-04T14:25:30.360 回答