Node.js 约翰尼五号:董事会还没准备好

Node.js 约翰尼五号:董事会还没准备好,node.js,arduino,johnny-five,Node.js,Arduino,Johnny Five,我以前让我的Arduino套件与Breakout在同一个硬件上工作,但我想切换到。我的硬件与来自的简单单LED布局相连,但运行基本LED选通演示无法按预期工作: var five = require("johnny-five"), board, led; board = new five.Board(); board.on("ready", function() { console.log('ready'); led = new five.Led(13); led.str

我以前让我的Arduino套件与Breakout在同一个硬件上工作,但我想切换到。我的硬件与来自的简单单LED布局相连,但运行基本LED选通演示无法按预期工作:

var five = require("johnny-five"),
    board, led;

board = new five.Board();

board.on("ready", function() {
  console.log('ready');
  led = new five.Led(13);
  led.strobe(100);
});
返回:

1341154189666 Board Connecting... 
1341154189697 Serial Found possible serial port cu.usbmodem621
1341154189699 Board -> Serialport connected cu.usbmodem621
1341154191570 Repl Successfully Connected 
我直接进入Firmata REPL,没有LED闪烁,
board.ready
false


关于board.ready回调为什么不会被触发,有什么建议吗?

我和强尼五号在Arduino Uno R3上遇到了同样的问题。为了修复它,我必须更新StandardFirmata

  • 下载最新版本(在编写1.0.2时)
  • 安装并打开Arduino应用程序
  • 将Arduino连接到计算机(通过USB)
  • 在菜单中,选择文件>示例>固件数据>标准固件数据
  • 按下上传按钮

  • 完成后,我可以使用firmata连接到板,并按预期触发ready事件。我必须对所有的Arduinos执行相同的过程才能让它们工作。

    在Windows上,有时您必须指定哪个COM端口。我在刷新firmata时收到以下错误:

    avrdude: stk500_getsync(): not in sync: resp=0x00
    
  • 将Arduino UI更改为指向另一个COM端口(在我的示例中为COM4)

    工具->串行端口->COM4

  • 将此添加到您的johnny five启动代码中:

    var-five=require(“强尼五号”);
    板=新的五块板({
    端口:“COM4”
    });
    董事会成员(“准备就绪,…)


  • 我知道很晚了,但可能会有帮助。您的设置似乎正确。我的直觉是你的LED插错了。例如,要么插错了引脚,要么阳极/阴极颠倒了。你确定了吗?