我正在尝试控制插入我的raspberry-pi2的3个LED,我安装了johnny-five来做到这一点。
我不认为它与问题有关,但在安装johnny-five时出现了轻微错误,在帖子末尾有描述。
我有一个由angular-fullstack生成的简单代码,它在启用johnny-five之前工作(我可以按下按钮来调用服务器端,我在客户端得到答案,一切都很好)
然后我像这样添加johnny-five():
'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
时收到这些日志:
董事会准备好了!
在开发模式下,快速服务器在9000上监听 KO :(调试日志)在repl.js(johnny-five)中检测到的退出信号 1469358904063 董事会闭幕。
停止Express服务器
完成等待!
然后,我可以看到电路板“就绪”事件已被触发,所以它看起来很好。但随后,董事会关闭了,服务器也关闭了,我无法理解为什么。我尽可能多地添加了日志,但无法看到触发“退出”事件的位置。我被困在这里(来自johnny-five的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-five:
sudo npm install johnny-five raspi-io --save
npm WARN可选跳过失败的可选依赖项/ 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
错误的ERR! notsup与您的操作系统或体系结构不兼容:fsevents@1.0.14
错误的ERR! notsup有效的OS:darwin
错误的ERR! notsup有效拱:任何
错误的ERR! notsup实际操作系统:linux
错误的ERR! notsup Actual Arch:arm
有没有人知道服务器停止的原因?
答案 0 :(得分:0)
如果有人遇到此问题,请尝试:
const board = new five.Board({
repl: false,
port: 'COM3'
});