我正在尝试控制插入我的 raspberry-pi2 的 3 个 LED,我安装了 johnny-5 来做到这一点。
我不认为这与问题有关,但在安装 johnny-5 时出现了一个小错误,如帖子末尾所述。
我有一个由 angular-fullstack 生成的简单代码,它在启用 johnny-5 之前工作(我可以按按钮调用服务器端,我在客户端得到答案,一切都很好)
然后我像这样添加 johnny-5 ():
'use strict'
var Raspi = require("raspi-io");
var five = require("johnny-five");
var raspi_io = new Raspi();
var board = new five.Board({
io: raspi_io // if I comment this line, server won't stop, but then I can't access my led, which is the goal of raspi-io...
});
board.on("ready", () => {
console.log("Board ready !");
});
当我运行时,我会得到这些日志sudo grunt serve
:
板子准备好了!
Express 服务器在 9000 上侦听,处于开发模式
KO:(调试日志)repl.js (johnny-five) 中检测到退出信号
1469358904063 Board Closing。
停止 Express 服务器
等待完成!
然后,我可以看到板子“就绪”事件已被触发,所以看起来不错。但是随后,董事会关闭了,服务器也关闭了,我不明白为什么。我添加了尽可能多的日志,但看不到“退出”事件的触发位置。我被困在这里(在 johnny-5 的 repl.js 中):
this.cmd = cmd;
this.context = cmd.context;
cmd.on("exit", function() {
// this is the triggered event, can't find where the cmd.exit is triggered...
state.board.emit("exit");
state.board.warn("Board", "Closing.");
process.nextTick(process.reallyExit);
});
另外,我注意到“闪烁”在 LED 上不起作用(如果我在准备功能中使用它们),无论我设置什么参数......
版本和安装:
npm -v
3.8.6
nodejs -v
5.11.1
并以这种方式安装了 johnny-5:
sudo npm install johnny-five raspi-io --save
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup 与您的操作系统或架构不兼容:fsevents@1.0.14 npm WARN karma-phantomjs-launcher@1.0 .0 需要 phantomjs-prebuilt@>=1.9 的对等体,但没有安装。
当我尝试安装 fsevents(或 phantomjs-prebuilt)时:
sudo npm install fsevents --save
npm ERR!notsup 与您的操作系统或架构不兼容:fsevents@1.0.14
npm ERR!notsup 有效操作系统:darwin
npm ERR!notsup 有效拱门:任何
npm 错误!notsup 实际操作系统:linux
npm ERR!notsup 实际拱门:arm
问题:
有谁知道服务器为什么停止?