问题标签 [johnny-five]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

javascript - Refreshing the frame coming from the Leap Motion when in a while loop

I have just begun programming in JS for the Leap Motion. I am working on a project where I can control motors based on hand gestures that are being read from the Leap Motion. The frames are being parsed and then commands are being sent to the motors through an Arduino Uno using the johnny-five library. Here is the way I am grabbing the frames from the Leap Motion:

I take the frames from the Leap Motion and send the frame to a function that goes through the frame, reads the gestures, and then calls a new function that controls motors:

My problem is that I need a while loop to make the program wait for the first motor to end before running the next motor. The board.wait() doesn't seem to stop the program from continuing on to the next motor without waiting for the first motor to stop. I also need to be able to grab frames from the Leap Motion while running the motor in the while loop and waiting for it to end. This is because I want to be able to see if new gestures are occurring while the motor is running. However, whenever I try to grab a new frame using a controller.frame() call, I simply get the previous frame from the Leap Motion that started the while loop, not the frame that the Leap Motion is seeing at that second. Is there a way to see what the Leap Motion is seeing while stuck within the while loop? Or is there a better way for me to be stopping the program from moving onto the next motor without actually waiting?

0 投票
2 回答
3009 浏览

javascript - 使用 johnny-5 和 arduino 读取输入引脚

我正在使用 node.js 和 arduino 开发一个应用程序。

我正在使用 johnny-5 框架并将 StandardFirmata 草图上传到我的 arduino,它在引脚 2、3、4 和 5 上连接了一个街机控制器。

这是我的实现:

现在的问题是,当我将街机控制器向下或向上拉时,它会多次记录“向上”或“向下”.. 可能是 5 次,也可能是 10 次。我究竟做错了什么?

0 投票
1 回答
1311 浏览

node.js - Firmatajs,多个 Arduinos 超时(johnny-5,cylonjs)

我有两个使用标准 StandardFirmata 闪烁的 Arduino unos,我正在尝试使用一个简单的节点项目(johnny-5 npm 包)进行多板演示。当我分别尝试它们时,两个 arduino 都可以工作。使用以下代码:

尝试多板示例时,我得到:设备或固件错误连接到板时发生超时。请检查您是否使用正确的固件正确刷新了电路板。


更新#1:

出于好奇,我尝试切换 USB 电缆并得到一些不同的结果:

1)似乎只有一个arduino连接:

或 2) 我得到一个错误:


更新#2:

我用 cylon.js 进行了上述测试,得到了相同的结果。仍然不知道如何解决这个问题:(一个arduino工作正常,多个什么都不做。(也许是一个与osx相关的问题?)

更新#3:

我在 johnny-5 代码中添加了一些日志,这绝对是连接问题(我认为!?)。第二个 Arduino 从不响应。我切换了 arduino 的顺序并得到了相同的结果(第一个连接,另一个没有响应)。连接是异步的,所以它可能在某处被阻塞。两个 arduino 上的灯肯定表明正在进行一些操作。

0 投票
2 回答
5962 浏览

javascript - 如何使用 Node.js 和 Johnny-Five 解决“找不到模块 'serialport'”?

主要目标:使用 Johnny-5 和 node.js 为我的 Arduino 运行脚本,使用 LeapMotion Controls

我有一个文件夹

1:“robotarm.js”脚本

2.Leapjs 'lib' 文件夹

  1. jumpjs 中的“node_modules”文件夹,其中包含下划线、glmatrix 和 ws。

我已经在 Arduino 板上上传了标准固件,我正在尝试运行我的脚本来启动程序。但是,当我进入终端时,进入我的 proj 文件夹并输入 node robots.js,会发生以下情况:

0 投票
1 回答
1215 浏览

node.js - 将外部 C++ 库与 Johnny Five 一起用于基于 Arduino 的项目

我需要在Johnny Five项目中使用 RFID-RC522 模块(它是一个 NFC 阅读器)。

有一个 arduino 库可以很容易地与之交互:https ://github.com/miguelbalboa/rfid

我可以通过 Johnny-Five 使用这个库吗?如果是,如何?

0 投票
0 回答
442 浏览

node.js - Twitter Streaming api 显示多个重复的推文

每次有新推文时,我都会眨眼。直到昨天,我的脚本都运行良好。今天,当我运行我的脚本时,它向我展示了这样的重复推文。

Twitter Streaming api 显示重复的推文

我正在使用 node.js、twitter api 和 johnny-5

这是我的脚本

在这个脚本中,三个 LED 声明为红色,一个表示目前没有推文,每次有新推文时黄色 LED 闪烁,而绿色的 LED 只是坐在那里无所事事(我打算在我的脚本中添加更多逻辑带绿色 LED)。

我注意到的另一件事是,重复的推文出现在#f8 等热门话题标签中。我使用了不流行的主题标签,而且我工作得很好。

0 投票
3 回答
1826 浏览

node.js - Firmata、Arduino和Node js的关系

这是一个基本的理解问题。我正在尝试遵循这个解释http://www.barryvandam.com/node-js-communicating-with-arduino/但对我来说听起来有点不对劲。

据我之前了解,我只需要将标准的 Firmata 代码推送到 Arduino 中,并通过 Node.js 进行代码调用即可从 Arduino 中调用操作和信息。但是在这个链接中,他们指出我需要将代码上传到 Arduino,这显然会删除现在存在的 Firmata 代码。这不会导致与 Arduino 失去联系吗?

它是如何工作的?

非常感谢!

0 投票
1 回答
149 浏览

linux - 对象 <#BeagleBone> 没有尝试使用 Beaglebone-IO 运行 MPU6050 的方法“i2cConfig”

尝试将 MPU6050 连接到在 Beaglebone-IO 下运行 Debian、Node.js 和 Johnny-5 的 Beaglebone Black。

使用 Johnny-5 示例初始化 MPU6050:

每次发生错误时:

我想这与 i2c 配置有关,因为我无法使用 npm install i2c 安装 i2c,它总是输出:

请帮忙!

0 投票
2 回答
576 浏览

javascript - 如何在 Ubuntu 15.04 上运行 johnny-5?

我已经在 Ubuntu 上安装了 node 和 johnny-5 并连接了 Arduino Nano。但它抛出了上述错误。

0 投票
1 回答
460 浏览

arduino - Johnny-Five 多个 Arduino 连接,但未发出“就绪”

我对 johnny-5 (Multiple Boards) 有点困难;任何人都可以为我解释一下吗?

我连接了 2 个 Arduino,我可以使用“var board = new Five.Board()”单独访问它们。

我可以通过 Cylon.js 成功连接和使用它们。

但是,当我尝试使用“new Five.Boards()”时,它似乎永远不会发出“就绪”事件,因此我可以开始编写我的逻辑。

使用(稍作修改)johnny-5/eg/boards-multi.js

我的控制台显示:

......我永远等待,它永远不会发出“准备好”......

注1:我已经在他们两个上重新上传了几次最新的“StandardFirmata”;他们自己工作得很好。

注意 2:我在 3 个不同的系统(一个 ubuntu linux,一个在 Windows 和一个 Raspberry PI 2B)上尝试了完全相同的设置,所有系统都存在相同的问题......

我不确定我是否在这里遗漏了一些愚蠢的东西;但是,无论我尝试什么,johnny-5 都不允许我继续。正如我上面提到的,它似乎与 Cylon 完美配合 - 但是,我宁愿使用 j5,因为我已经有相当多的代码我不想移植到 Cylon 只是为了连接多个Arduino到我的系统。

任何帮助将不胜感激!

更新#1:

我越来越近了我现在可以处理每个 Arduino 板了。然而; 我仍然对如何正确捕捉“就绪”事件感到困惑。

这最终得到以下控制台输出:

....此时,我可以执行以下操作来处理板(当然在 setTimeout() 内):

仍在试图确定为什么我无法捕捉到难以捉摸的“准备就绪”。

更新#2:

看来我想通了。它实际上已经准备好了,但是我没有正确使用 API。

工作代码:

更新#3:

我想我在库中发现了一个错误。

似乎以下文件:

node_modules/johnny-5/lib/board.js

线路:1109

如果你改变:

它似乎发出“就绪”事件。