1

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

问题:

有谁知道服务器为什么停止?

4

1 回答 1

0

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

 const board = new five.Board({
        repl: false,
        port: 'COM3'
    });
于 2019-08-06T09:11:26.700 回答