Preface
The Internet of Things (IoT) is a technology that enables the connection of numerous physical devices and smart sensors. These devices are equipped with embedded processing capabilities and software. It is projected that by 2025, there will be more than 40 billion IoT devices, generating an enormous amount of data, estimated to be around 80 zettabytes (ZB).
An IoT platform serves as an intermediary, linking the data network and smart devices, and playing a crucial role in managing data. It allows developers to easily expand applications and facilitates communication between various smart devices that support different protocols and a central database. This, in turn, empowers organizations to analyze the events generated by these devices, leading to more informed decision-making.
In recent years, numerous IoT platforms with diverse capabilities have been developed. This book begins by introducing the key components of an IoT platform and subsequently delves into the essential attributes of well-known platforms. Additionally, it provides guidance on selecting or creating a customized platform by highlighting important features to consider.
To initiate the exploration, the focus lies on the ThingsBoard (TB) platform due to its cost-effective subscription fees, open-source availability, and user-friendly features. The book provides an overview of TB’s subscription plans and tiers, including the option to create a free TB account for one month. This allows developers to become acquainted with the platform’s various features, such as device and dashboard creation. Demonstrating the use of Python programming language, the book showcases the development of a virtual client that emulates the publishing of sample telemetry data using the MQTT protocol. Moreover, it explores the visualization of the published telemetry data through the platform’s built-in widgets.
The final chapter of the book culminates in the development of an end-to-end IoT solution using the TB platform. It explains the process of connecting a device to the platform and sending real or synthetic data to it. Additionally, the book covers the hardware utilized for IoT applications, with a specific focus on three well-known Single-Board Computers (SBC) – Arduino, ESP32, and Raspberry Pi. It briefly evaluates the distinct features and capabilities of each SBC, ultimately selecting Raspberry Pi due to its comprehensive features, ease of use, support for Python programming, and compatibility with the TB platform. Readers will learn how to set up an MQTT client on Raspberry Pi and publish telemetry data from this client to the platform. By studying this book, readers will gain the knowledge and skills necessary to conceptualize and implement various IoT projects using the TB platform.