Johnny Five应用程序总是在1秒内以RangeError失败



我的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)

我也试过两个不同的Arduino Uno板和两台不同的笔记本电脑(都运行OSX 10.9),我在所有方面都看到了完全相同的问题。

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

简单的答案是,如果没有外部电源,你就无法将Servos直接连接到主板上。你看到的是USB端口本身崩溃,因为电流消耗达到最大值,需要更多。

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

最新更新