Book Image

Hands-On Internet of Things with MQTT

By : Tim Pulver
Book Image

Hands-On Internet of Things with MQTT

By: Tim Pulver

Overview of this book

MQ Telemetry Transport (MQTT) is a lightweight messaging protocol for smart devices that can be used to build exciting, highly scalable Internet of Things (IoT) projects. This book will get you started with a quick introduction to the concepts of IoT and MQTT and explain how the latter can help you build your own internet-connected prototypes. As you advance, you’ll gain insights into how microcontrollers communicate, and you'll get to grips with the different messaging protocols and techniques involved. Once you are well-versed with the essential concepts, you’ll be able to put what you’ve learned into practice by building three projects from scratch, including an automatic pet food dispenser and a smart e-ink to-do display. You’ll also discover how to present your own prototypes professionally. In addition to this, you'll learn how to use technologies from third-party web service providers, along with other rapid prototyping technologies, such as laser cutting, 3D printing, and PCB production. By the end of this book, you’ll have gained hands-on experience in using MQTT to build your own IoT prototypes.
Table of Contents (16 chapters)
Title Page

Chapter 6: Building a Smart E-Ink To-Do List

  1. QoS stands for quality of service. It was introduced in Chapter 3, Getting Started with MQTT.
  2. QoS 1 is a good compromise for our use case between reliability and performance. With QoS 1, we can be sure messages are delivered (if the other end also uses QoS 1 or 2).
  3. MQTT is an open protocol, so there are libraries for every programming language, more or less. There are also a lot of pre-made third-party applications for Android, iOS, macOS, Windows, Linux, and the web, which you can use. All you have to do is specify the login credentials of the MQTT server you are using (in our case, https://shiftr.io/).
  4. A client ID is basically the name of the MQTT client, as seen in the network. The MQTT server stores messages to be sent, as well as subscriptions for each client ID. Don't confuse this with the MQTT username and password: these are just for authentication.
  5. There can be only one loop and one setup function for each Arduino sketch. If you combine various examples into one, you need to make sure that you integrate the code accordingly. Having two functions with the same name will result in a compile-time error.
  6. There are many examples given in Chapter 3Getting Started with MQTT, for MQTT apps on various platforms. You are missing out on all of the fun if you do not try them out. Third-party MQTT apps allow you to build your own user interfaces to control your smart devices without having to learn another programming language.
  7. When using your own login on https://shiftr.io/, you can activate private namespaces, so other MQTT clients cannot see what you send and cannot interfere with your namespace.