1

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

ボード準備完了!
開発モード
KO で 9000 をリッスンする Express サーバー: (デバッグ ログ) repl.js で検出された終了信号 (johnny-five)
1469358904063ボード クローズ.
Express サーバーを停止してい
ます

次に、ボードの「ready」イベントがトリガーされていることがわかります。問題ないように見えます。しかし、その後、ボードが閉じ、サーバーも閉じます。その理由はわかりません。できるだけ多くのログを追加しましたが、「終了」イベントがトリガーされた場所を確認できませんでした。ここで立ち往生しています(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で機能しないことに気付きました(ready関数で使用した場合)...

バージョンとインストール:

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
npm ERR! notsup お使いのオペレーティング システムまたはアーキテクチャと互換性がありません: fsevents@1.0.14
npm ERR! notsup 有効な OS: darwin
npm ERR! notsup 有効なアーチ: 任意の
npm ERR! notsup 実際の OS: linux
npm ERR! notsup 実際のアーチ: 腕

質問:

サーバーが停止する理由を知っている人はいますか?

4

1 に答える 1