Book Image

Raspberry Pi and MQTT Essentials

By : Dhairya Parikh
Book Image

Raspberry Pi and MQTT Essentials

By: Dhairya Parikh

Overview of this book

The future of IoT has the potential to be limitless. Wouldn’t it be great if you could add it to your own technological stacks? But where to start? With the basics, of course. In this book, you will start by learning about the most popular hardware and communication protocol, Raspberry Pi and MQTT. You will see how to use them together by setting up your own MQTT server on Raspberry Pi and understand how it works. This book explores MQTT in detail, including the clients and devices that you can connect to your server. You will discover two very popular IoT development boards among project developers: the ESP8266 and ESP32 development boards. Then, you will learn how to build interactive dashboards on your Pi and monitor your client devices. The book also shows you how to build a dashboard using another popular software – Node-RED. You will be able to put your skills to the test by creating two full-scale projects. That’s not all: you will also learn how to host your own MQTT server on a virtual cloud service. Finally, you will be guided on how to move forward from here, what technologies to learn, and some project recommendations to polish or test your knowledge. By the end of this book, you will be able to build meaningful projects using Raspberry Pi and MQTT and create dashboards for your projects on Node-RED.
Table of Contents (14 chapters)
1
Part 1:Covering the Basics
6
Part 2: Practical Implementation – Building Two Full-Scale Projects
9
Part 3: How to Take Things Further – What Next?

ESP8266-based NodeMCU development board

NodeMCU is an open source development board that is designed to prototype IoT applications. The development board equips the ESP-12E module, which contains an ESP8266 chip. This chip has a Tensilica Xtensa® 32-bit LX106 RISC microprocessor that operates at an 80 to 160 MHz-adjustable clock frequency and supports RTOS.

The board can be programmed using two languages, as follows:

  • Embedded C (using the popular Arduino IDE)
  • Lua Programming Language

We will learn how to program NodeMCU through the Arduino IDE later in this chapter.

First, let’s look at the actual development board. The following is a diagram of the NodeMCU board with the important peripherals of the board labeled accordingly:

Figure 3.1 – A NodeMCU development board

Next, we will look at the technical specifications for this development board.

Technical specifications

The development kit that’s based...