首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用raspberry pi node js获取加载时GPIO引脚的状态?

如何使用raspberry pi node js获取加载时GPIO引脚的状态?
EN

Stack Overflow用户
提问于 2018-06-22 02:56:42
回答 1查看 906关注 0票数 0

我使用的是覆盆子pi,我已经加载了node.js和socket.io。我能够看到18号针脚上的开关何时改变。我想知道的是,当网页第一次加载时,我如何获得开关的状态。

在我的app.js中

var Gpio = require('onoff').Gpio; //include onoff to interact with the GPIO
var pushButton = new Gpio(18, 'in', 'both'); //use GPIO pin 18 as input, and 'both' button presses, and releases should be handled


io.sockets.on('connection', function (socket) {// WebSocket Connection
console.log("gpio status pin : ", pushButton);
  var lightvalue = 0;
  pushButton.watch(function (err, value) { //Watch for hardware interrupts on pushButton
if (err) { //if an error
  console.error('There was an error', err); //output error message to console
  return;
}
lightvalue = value;
socket.emit('light', lightvalue); //send button status to client
  });
socket.on('light', function(data){
console.log("data: ", data);
  });

});

我已经尝试了很多步骤,我可以看到读缓冲区是否从30更改为31。这是从按钮打印出来的。我能用这个吗?

Gpio状态引脚: gpio { _gpio: 18,_gpioPath:'/sys/class/gpio/gpio18/',_debounceTimeout: 0,_readBuffer:,_listeners:[ Function ],_valueFd: 13,_risingEnabled: true,_fallingEnabled: true,_poller: Epoll { closed: false }}

EN

回答 1

Stack Overflow用户

发布于 2018-06-22 04:36:28

找遍所有地方后,我发现它一直就在我面前。

pushButton.readSync()确实给出了正确的高/低值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50975770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档