Book Image

Hands-On Robotics with JavaScript

By : Kassandra Perch
Book Image

Hands-On Robotics with JavaScript

By: Kassandra Perch

Overview of this book

JavaScript has an effective set of frameworks and libraries that provide support for embedded device programming and the robotics ecosystem. You’ll be able to put your JavaScript knowledge to work with this practical robotics guide. The book starts by guiding you in setting up an environment to program robots with JavaScript and Rasberry Pi 3. You will build beginner-level projects, such as a line-following robot, and then upgrade your robotics skills with a series of projects that help you get to grips with the Johnny-Five library. As you progress, you’ll learn how you can improve your projects by enabling advanced hardware components and programming concepts. You’ll even build an advanced AI-enabled robot, connect its NodeBots to the internet, create a NodeBots Swarm, and explore Message Queuing Telemetry Transport (MQTT). By the end of this book, you will have enhanced your robot programming skills by building a range of simple to complex projects.
Table of Contents (19 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Why connect your NodeBots to the internet?


While sensors can provide local data, sometimes you want to display data from far away or data from sensors attached to other devices. This is where we can really leverage Node.js and npm packages in our favor for our Raspberry Pi projects.

Using the power of npm modules

Back in Chapter 2, Creating Your First Johnny-Five Project, we used the color npm module to manage colors for us. We've used the barcli module to get our sensor data into bar graphs. Now it's time to use the request npm module to retrieve data from websites for us! This allows us to simplify development over microcontrollers that use C by not having to create HTTP requests by hand each time, and being able to use asynchronous calls.

For those unfamiliar with the request module, we'll use it to make HTTP GET requests like so:

const request = require('request')

request.get(url, (err, response, body) => {
  console.log(body)
})

We give the request.get() call a URL and a callback that...