6 ms·
My understanding of Johnny Five is that it's a way to drive an external board from a "normal" computer. So you aren't putting any execution (or JavaScript) onto
by ianbicking 8y ago
My understanding of Johnny Five is that it's a way to drive an external board from a "normal" computer. So you aren't putting any execution (or JavaScript) onto the Arduino (or other embedded) controller. Instead you load their premade firmware onto the controller, hook that controller up to your computer via some serial connection, and then the Johnny Five library lets you control everything from the main computer.
It seemed kind of trivial when I first heard about it, but now that I've experimented some with these things it's not that trivial, and it's a reasonable approach. Especially for robotics – an Arduino board isn't a good way to drive a robot (too limited), but it's a good way to drive many (but not all) of the specific components you might want to control. Then the real brain can be a Raspberry Pi or some other proper computer.
- wiradikusuma 8y agothank you for the explanation. so in production, it must be paired with Pi/real computer? but why use this if Pi has support for sensors and stuff already? (other than, "because I've already bought Arduino")
- monocasa 8y agoThe software stack normally on a Pi isn't really amenable to real time requirements.
- ianbicking 8y agoMy sense is that "devices" you hook up to a computer are themselves entire computers with fancy high-level protocols to control them. Sure the Pi, unlike a normal computer, has its GPIO ports. You can use those to directly control hardware that is not smart (or is only a tiny bit smart). But still you run out of ports really quickly, managing those ports isn't easy, and if you are controlling things that need more power than the GPIO ports can provide then you'll need additional circuitry. You usually need additional circuitry. The obvious solution is to create higher-level hardware that the Pi can control without, say, pulsing on a regular interval, or without having to provide the full power requirements via GPIO. An Arduino board is a modular way to do exactly that. The Arduino then becomes the "device".
- rwaldron 8y agoThat's correct, but only half correct :) Johnny-Five programs can run on board any SBC that runs Linux and can support Node.js. For those platforms, GPIO and serial bus interfaces are interacted with directly; examples include Raspberry Pi, Intel Edison (+Galileo 1 & 2, Joule), Tessel 2, Linino and pcDuino
- jerrysievert 8y agoa little off-topic, but I haven't seen you in a while - how'd the strongman look end up?