Wednesday, December 18, 2024
ExplainerInternet of ThingsIoT PlatformsIoT Software&ToolsProgrammingTech/Web

Johnny Five : The JavaScript Robotics & IoT Platform

What is Johnny Five ?

Johnny-Five is an Open Source, Firmata Protocol based, IoT and Robotics programming framework, developed at Bocoup in 2012, Johnny-Five  is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem. Johnny-Five programs can be written for Arduino (all models), Electric Imp, Beagle Bone, Intel Galileo & Edison, Linino One, Pinoccio, pcDuino3, Raspberry Pi, Particle/Spark Core & Photon, Tessel 2, TI Launchpad and more!

Just interested in learning and building awesome things? You might want to start with the official Johnny-Five website. The website combines content from this repo, the wiki, tutorials from the Bocoup blog and several third-party websites into a single, easily-discoverable source:

  • If you want to find the API documentation, that’s right here.
  • Need to figure out what platform to use for a project? We put that stuff here.
  • Need inspiration for your next NodeBot? Check out the examples.
  • Want to stay up-to-date with projects in the community? Check this out.

Johnny-Five does not attempt to provide “all the things”, but instead focuses on delivering robust, reality tested, highly composable APIs that behave consistently across all supported hardware platforms. Johnny-Five wants to be a baseline control kit for hardware projects, allowing you the freedom to build, grow and experiment with diverse JavaScript libraries of your own choice. Johnny-Five couples comfortably with:

How To Use | Setup and Assemble Arduino

  • Download Arduino IDE
  • Plug in your Arduino or Arduino compatible microcontroller via USB
  • Open the Arduino IDE, select: File > Examples > Firmata > StandardFirmataPlus
    • StandardFirmataPlus is available in Firmata v2.5.0 or greater
  • Click the “Upload” button.

If the upload was successful, the board is now prepared and you can close the Arduino IDE. For non-Arduino projects, each IO Plugin’s repo will provide its own platform specific setup instructions. Visit This Post : Using Node js and Arduino with LED Blinking Program

Installation :

Source Code:

git clone git://github.com/rwaldron/johnny-five.git && cd johnny-five

npm install

npm package:

Install the module with:

npm install johnny-five

A Sample Hello World! Program

var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {

  // Create a standard `led` component instance
  var led = new five.Led(13);

  // "blink" the led in 500ms
  // on-off phase periods
  led.blink(500);
});

Platform Support

Johnny-Five has been tested with a variety of Arduino-compatible Boards. For non-Arduino based projects, platform-specific IO Plugins are available. IO Plugins allow Johnny-Five code to communicate with any hardware in whatever language that platform speaks!

Visit This: http://johnny-five.io/platform-support/

I hope you like this post “Johnny Five : The JavaScript Robotics & IoT Platform”. Do you have any questions? Leave a comment down below!

Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.

You may like also:


Recommended:


ESP32/ESP8266 Tutorials


 

Harshvardhan Mishra

Hi, I'm Harshvardhan Mishra. Tech enthusiast and IT professional with a B.Tech in IT, PG Diploma in IoT from CDAC, and 6 years of industry experience. Founder of HVM Smart Solutions, blending technology for real-world solutions. As a passionate technical author, I simplify complex concepts for diverse audiences. Let's connect and explore the tech world together! If you want to help support me on my journey, consider sharing my articles, or Buy me a Coffee! Thank you for reading my blog! Happy learning! Linkedin

One thought on “Johnny Five : The JavaScript Robotics & IoT Platform

Leave a Reply

Your email address will not be published. Required fields are marked *