Johnny Five关于蓝牙连接问题

时间:2016-12-02 02:47:34

标签: node.js bluetooth arduino arduino-uno johnny-five

我想通过无线方式使用JS / Johnny-Five从我的计算机向Arduino运行命令。 我有一个Uno和一个HC-05。我按照说明in this URL设置了HC-05。我可以将计算机与它配对,我已将StandardFirmata上传到Uno。 但是当我尝试与之沟通时似乎超时了。

当我输入时,通过NodeJS命令行

> var five = require("johnny-five");
> var board = new five.Board({repl: false, port:'/dev/cu.ailaGduino-DevB'})

我明白了:

1480635008609 Connected /dev/cu.ailaGduino-DevB  
undefined
> 1480635018633 Device or Firmware Error A timeout occurred while connecting to the Board. 

Please check that you've properly flashed the board with the correct firmware.
See: https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting

后来提到Timer.listOnTimeout是错误调用堆栈的一部分。

Arduino IDE在配对时会列出该特定设备,我想这就是为什么它说“已连接”。

当我再次尝试相同的命令时,我得到了

> var board = new five.Board({port:'/dev/cu.ailaGduino-DevB'})
1480635041136 Connected /dev/cu.ailaGduino-DevB  
undefined
> 1480635041138 Error Error Resource temporarily unavailable Cannot lock port  

通过USB很好。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为这是错误的,因为您寻址的是本地连接的设备而不是wifi连接的设备。

var board = new five.Board({port:'/dev/cu.ailaGduino-DevB'})

This tut建议您以不同的方式连接到板。

var EtherPortClient = require("etherport-client").EtherPortClient;
var board = new five.Board({
port: new EtherPortClient({
   host: "xxx.xxx.xxx.xxx",  // IP ESP8266
   port: 3030                
}),
timeout: 10000,
repl: false
});