董事会“准备好”

时间:2016-07-24 11:54:35

标签: node.js raspberry-pi2 angular-fullstack johnny-five

我正在尝试控制插入我的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

问题:

有没有人知道服务器停止的原因?

1 个答案:

答案 0 :(得分:0)

如果有人遇到此问题,请尝试:

 const board = new five.Board({
        repl: false,
        port: 'COM3'
    });