Johnny-Five应用程序在不到1秒的时间内始终因RangeError而失败

时间:2013-12-10 09:54:38

标签: node.js firmata johnny-five

我的Johnny-Five应用程序在不到1秒后都失败了。我试过0.7.9和0.7.8。这是我看到的错误:

ytham:[master]~/js/deltarobot$ node .
1386668719984 Board Connecting... 
1386668719986 Board -> Serialport connected /dev/cu.usbmodem1421
1386668723299 Board <- Serialport connected /dev/cu.usbmodem1421
1386668723299 Repl Initialized 
>> 1386668723348 Board  

string_decoder.js:109
  charStr += buffer.toString(this.encoding, 0, end);
                    ^
RangeError: toString() radix argument must be between 2 and 36
    at Number.toString (native)
    at StringDecoder.write (string_decoder.js:109:21)
    at ReadStream.onData (readline.js:839:39)
    at ReadStream.EventEmitter.emit (events.js:95:17)
    at Board.<anonymous> (/Users/ytham/js/deltarobot/node_modules/johnny-five/lib/board.js:305:27)
    at Board.<anonymous> (/Users/ytham/js/deltarobot/node_modules/johnny-five/lib/board.js:124:18)
    at SerialPort.<anonymous> (/Users/ytham/js/deltarobot/node_modules/johnny-five/node_modules/firmata/lib/firmata.js:402:13)
    at SerialPort.EventEmitter.emit (events.js:95:17)
    at afterRead (/Users/ytham/js/deltarobot/node_modules/johnny-five/node_modules/serialport/serialport.js:303:18)
    at /Users/ytham/js/deltarobot/node_modules/johnny-five/node_modules/serialport/serialport.js:342:9

使用0.7.2它不会给我这个错误,但是我无法移动我的伺服器。我看到这个问题也出现在Johnny-Five自述文件中的所有Servo示例中。我也排除了硬件问题,因为它在3种不同的伺服系统上给了我同样的问题。此外,我只看到伺服插入5V而不是3.3V的问题,这很奇怪。 Node.js也是最新的(0.10.22)。

我已经尝试了2个不同的Arduino Uno主板和2个不同的笔记本电脑(都运行OSX 10.9),我在所有内容上都看到完全相同的问题。

1 个答案:

答案 0 :(得分:0)

很抱歉没有人回答这个问题,我甚至不知道存在这些问题:(

简单的答案是,如果没有外部电源,您无法将Servos直接连接到电路板上。您所看到的是USB端口本身崩溃,因为当前的绘制最大化并要求更多。

据我所知,没有优雅的方法来处理这些故障 - USB端口只是停止响应。