问题标签 [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.
javascript - 节点中的 ReferenceError 使用 readline 进行用户输入
我一直在玩Raspberry Pi和Node以获得乐趣。我想进行一个简单的实验,如果我抓住一些用户输入来打开和关闭 LED 会怎样。
它可以工作,但是我得到了 2 个奇怪的错误。在下面的控制台输出中,您会看到它提示我输入...我输入我的输入,然后它以扭曲的文本字符串重复我的输入(参见示例 1)。ReferenceError: on is not defined
然后在输出我的验证消息后(知道了!您的答案是:“on”)即使 LED 完美点亮,我也会遇到(示例 2)。
我认为这与其说是 Raspberry Pi/Johnny-5 的事情,而且只是一个普通的旧 JavaScript 或 Node 问题。
有任何想法吗?
serial-port - 节点红色中的串行端口关闭问题
我正在使用 johnny-5,问题是如何关闭已经打开的串口?问题是当我重新部署红色节点中的代码时,它会引发错误,如下所示:
javascript - 将命令行参数传递给在 Tessel 上运行的脚本
我正在尝试为 Tessel 传递命令参数运行一个简单的脚本,并希望它们在 中可用process.argv
,但只获取其中的前两个。
通过 Logging process.argv 运行脚本t2 run index.js myparam
我得到了[ '/usr/bin/node', '/tmp/remote-script/index.js' ]
,但没有得到myparam
第三个参数。
任何帮助将不胜感激。
arduino - 通过 johnny-5 连接到 nodemcu 的问题
我真的很难连接到我的 ESP8266。我已经用这个设置工作了很长时间,而且我不需要刷我的电路板。现在,在不得不使用不同的 wifi 之后,我需要刷新电路板。执行以下操作后
- 更新到最新的 ConfigurableFirmata
- 使用 FirmataBuilder 下载拟合firmata
- 将固件上传到 ESP8266
我无法再通过 Johnny-Five 连接(出现通常的超时错误)。我无法缩小它的确切范围(我一直在尝试一整天),但这些是我注意到的(直接使用 ConfigurableFirmata 以及使用 Firmatabuilder 和 StandardWifiFirmata,都具有相同的行为)
- 即使我处于客户端模式,也会创建一个开放的热点
- 扫描端口时,我确实找到了连接到我的 Wifi 的模块(调试中的串行监视器也告诉我同样的情况)但没有找到打开的端口,即使它在固件中指定。
我只是无法缩小原因。我希望你们可以。
reactjs - 使用 Express JS 服务器和 Johnny-Five 控制 Arduino
我想从 Web 界面控制我的 Arduino,所以我在 ReactJS 中创建了客户端,在 ExpressJS 中创建了服务器端(包括 Johnny-Five)。
我只想根据用户输入实时更新闪烁 LED 的间隔。这是我的服务器代码:
该代码似乎只适用于一开始的几个请求。这样做的正确方法是什么?
javascript - 约翰尼五到 arduino >>> 串行通信
我是 johnny-five.js 框架(javascript-iot)的新手这就是错误..
/home/botkiller/javascript/samplej5/node_modules/bindings/bindings.js:96 抛出错误 ^
错误:找不到绑定文件。尝试过: → /home/botkiller/javascript/samplej5/node_modules/serialport/build/serialport.node → /home/botkiller/javascript/samplej5/node_modules/serialport/build/Debug/serialport.node → /home/botkiller/javascript/ samplej5/node_modules/serialport/build/Release/serialport.node → /home/botkiller/javascript/samplej5/node_modules/serialport/out/Debug/serialport.node → /home/botkiller/javascript/samplej5/node_modules/serialport/Debug/ serialport.node → /home/botkiller/javascript/samplej5/node_modules/serialport/out/Release/serialport.node → /home/botkiller/javascript/samplej5/node_modules/serialport/Release/serialport.node → /home/botkiller/javascript /samplej5/node_modules/serialport/build/default/serialport. 节点→ /home/botkiller/javascript/samplej5/node_modules/serialport/compiled/10.0.0/linux/x64/serialport.node 在绑定(/home/botkiller/javascript/samplej5/node_modules/bindings/bindings.js:93: 9) 在对象处。(/home/botkiller/javascript/samplej5/node_modules/serialport/lib/bindings/linux.js:2:36) 在 Object.Module 的 Module._compile (internal/modules/cjs/loader.js:678:30)。 _extensions..js (internal/modules/cjs/loader.js:689:10) at Module.load (internal/modules/cjs/loader.js:589:32) at tryModuleLoad (internal/modules/cjs/loader.js :528:12) 在 Function.Module._load (internal/modules/cjs/loader.js:520:3) 在 Module.require (internal/modules/cjs/loader.js:626:17) 在 require (internal/ modules/cjs/helpers.js:20:18) 在对象。
我在我的板上上传了标准固件并安装了所有依赖项以使用 johnny-5 到 arduino ......
这是我的代码:
npm - npm 未检测到 johnny-5 库
我尝试按照网站中的说明安装 Johnny-5 库。在运行代码时安装后我收到如下错误,请帮助。
在安装 Johnny-5 包时,我收到一条消息,例如 package-lock.json 需要提交,是否会产生任何问题?
johnny-five - 找不到模块 './accelerometer'
尝试在我的 tessel 2 上运行 johnny-5 时出现以下错误:
我已经尝试安装模块,但仍然出现错误。
请任何指点将不胜感激。
javascript - 强尼五号无法连接到 Arduino
Windows 10,Arduino 微型。我最初使用的是标准的“Blink.js”教程,但 Johnny-Five 一直连接到错误的串行端口。我硬编码了我的 COM 端口(在这种情况下为端口 8),并克服了最初的错误,但一个新的错误阻止了我的死亡。我的输出如下所示:
我已经完成了他们推荐的所有明显的事情:重新刷新固件,烧录引导程序,重新安装节点和 npm,逐步完成了 Arduino 的安装说明,尽管我不得不推送标准的FirmataPlus .ino 通过 GUI 而不是命令行,因为 Windows 本身不包含用于 Arduino 的命令行工具。我的代码,如果有什么不同的话,看起来像这样:
多年来,我一直在努力从使用 Johnny-Five 的 Arduino 获得任何反应,任何帮助将不胜感激。
loops - 试图找到一种使用 johnny-five.io 以不同速度控制伺服系统的好方法
我目前正在尝试使用托管在 RPi 上的 Nodebot johnny-five.io 来控制连接到 Arduinos 的伺服系统的配置。我的主要目标是从头开始制作六足动物;我不喜欢套件的想法,因为它是你拼凑起来的所有千篇一律的代码和零件,它或多或少是一辆你没有学到任何东西的遥控汽车。
我刚刚学习了伺服系统的基础知识(我选择伺服系统而不是步进电机)。不幸的是,默认情况下,伺服速度不能通过 PWM 控制,只能通过位置控制。所以解决这个问题的方法是创建一个循环,每次增加伺服 1 度(或更多),循环中有 X ms 延迟,直到伺服到达所需位置。现在,这很好,如果您一次只控制一个伺服器或一次控制 X 个伺服器以移动到另一个设定位置。但我在这里拍摄的是流畅的动作;我希望一条腿在另一条腿停止之前开始移动。真正的运动流动性,为了实现这一点,我需要一个无限循环来检查由 API 接收的控制命令设置的输入状态。
这里的问题是while循环不是异步的。所以,我需要找到一种方法来启动一个循环,将不同的伺服系统设置在不同的速度范围和不同的位置,并在循环结束时检查新的输入状态更新。我需要在不造成内存泄漏的情况下做到这一点。
一种方法是为每个伺服系统创建一组异步工作的依赖脚本(每条腿 3 个伺服器,6 条腿,18 个伺服器,因此有 18 个迷你依赖项),但我不确定这是否会产生太多开销或给 RPi 带来了很大的压力。
这是我想太多了吗?