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

IoT device communications


As we saw in Chapter 9, Getting the Information You Need, our Pi can ask for information from the internet using HTTP requests. But what if we want regular data sent to the Pi in real-time? What if we want a swarm of devices chatting with each other, data sent back and forth as necessary? Let's take a look at a few ways this can be accomplished with web technologies.

Long polling

Long polling involves asking for information via HTTP requests at certain intervals. If this sounds familiar, it's because that's precisely what we did in our weather dashboard project in Chapter 9, Getting the information you need; we poll the OpenWeather API every 60 seconds. This approach is best when there aren't other options; some REST APIs do not have a way to hold a connection open or establish two-way communication, and long polling is the way to go in these situations.

But there are newer ways of establishing two-way connections that can be left open, including the Websocket.

Websockets...