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

MQTT - an IoT PubSub protocol


The Message Queuing Telemetry Transport (MQTT) protocol (often pronounced mosquitto) is a protocol designed for low-bandwidth, high-latency environments, which makes it a great fit for IoT projects, especially ones running on limited hardware. It is not solely used for communication between machines: some projects use it to send data for storage purposes.

Let's take a look at how MQTT works and how it implements a PubSub setup for our projects.

The basics of MQTT

Let's go over a few terms, then link them together to define MQTT as a concept:

  • MQTT message: An MQTT message consists of a topic and a message. The topic is what clients subscribe to, and they usually read the messages for data.
  • MQTT client: An MQTT client connects to an MQTT broker and can subscribe to and publish on topics once connected to the broker. 
  • MQTT broker: An MQTT broker handles client connection and passes messages along to all clients subscribed to a topic when a client publishes a message...