What Is Johnny-Five?
You may wonder why we are using Johnny-Five and not running native C code on the device? There is nothing stopping you from doing this, but we believe that Johnny-Five-based development is more interesting.
- Running your code on a much more powerful controller system allows you to have access to more powerful capabilities. Do you want to expose your hardware via an Express-based REST service? You can do that by running your logic in Node.js. You have access to everything in the NPM ecosystem.
- Johnny-Five is an abstraction layer on top of what typical Arduino code looks like. Instead of setting and reading values from pins, the Johnny-Five components create an interface for reading and writing that resembles what you are trying to achieve. You don't need to translate your ideas to/from pin values.
- This is a great opportunity to learn Node.js if you don't already know it. If you do already know it, your experience will feel very familiar.