Автор: Frederic Desbiens
Издательство: Apress
Год: 2023
Страниц: 376
Язык: английский
Формат: pdf, epub
Размер: 11.0 MB
Build IoT solutions for the enterprise using open-source building blocks from the Eclipse IoT Working Group at the Eclipse Foundation. This book introduces you to key protocols and their implementations, such as CoAP (Eclipse Californium), DDS (Eclipse Cyclone DDS), LwM2M (Eclipse Leshan), and MQTT (Eclipse Paho, Eclipse Mosquitto, and Eclipse Amlen).
You will learn about Edge Computing platforms (Eclipse ioFog, Eclipse Kanto), IoT gateways (Eclipse Kura, Eclipse Kapua), and next-generation edge native protocols (Eclipse zenoh).The book also covers production-ready platforms for digital twins (Eclipse Ditto), energy management (Eclipse VOLTTRON), contactless payments (Eclipse Keyple), and much more.
Although the book discusses hardware matters, its focus is on software and relevant open standards. The book helps you understand the pros and cons of the technologies available from Eclipse IoT and how they have been used in actual deployments. The examples provided cover a variety of use cases, such as industrial automation, smart agriculture, digital buildings, robotics, and others.
The book's contents follow a reference architecture encompassing constrained devices (things), edge devices (gateways, servers), and IoT Cloud platforms. For each of those three pillars, you will learn about relevant open-source components. Usage of code libraries and frameworks is explained through code samples. You will also learn how to deploy and configure platform-type components and how to leverage them. Special attention will be paid to security and edge computing throughout the book.
The core Zenoh library is implemented in Rust. Consequently, the team publishes binaries for the main platforms supported by the language: Linux, macOS, and Windows. At the time of writing, the C and Python language bindings are supported on every platform where the target language and Rust are supported. This section will focus on Python code examples.
Python offers a comprehensive standard library and an enormous ecosystem of third-party packages. It is a de facto standard in data science, and there are well-maintained implementations of all the IoT protocols mentioned in this book. The Python version of Eclipse Paho is even in the top 1% of most downloaded packages. Consequently, Python is well worth your attention as a runtime for IoT applications. However, the Python Package Index (PyPI) suffers from the same issues as NPM in the Node.js ecosystem: packages of dubious origins or lacking maintenance abound, and licensing or other IP issues are also frequent.
Contrarily to the other languages mentioned in this section, Rust does not offer a runtime in the conventional sense. Parts of the Rust standard library, which is comprehensive, provide features usually associated with a runtime, such as a heap, backtraces, unwinding, and stack guards. The standard library (or crate, in Rust parlance) assumes the application will be deployed on a desktop-class or server-class operating system such as Linux. In addition, the Rust standard library also links to the C standard library. For applications deployed on bare metal microcontrollers, it is also possible to eschew the standard crate and link to the core crate instead. Rust was included in this section due to its growing popularity in IoT and edge computing circles. Projects such as Drogue IoT show Rust’s suitability to write applications for constrained devices, the Edge, or the Cloud. In Rust, packages of code are referred to as crates. Since Python and jаvascript have been around for much longer, their respective library ecosystem dwarfs Rust. However, there are well-maintained implementations for most IoT protocols. As a reminder, the core implementation of the Eclipse Foundation’s own zenoh protocol is written in Rust.
What You Will Learn:
Describe in your own words the main software components required in an IoT architecture
Select the appropriate IoT protocols, components, frameworks, and platforms for a specific project
Evaluate the connectivity options at your disposal and select the most appropriate ones
Explain the value of business models focused on open-source components and deploy such models in your organization
Determine if edge computing is relevant to a project and deploy the relevant components on an edge computing platform
Build Enterprise IoT solutions leveraging an array of open-source components and platforms using popular languages such as C, Java, and Rust
Who This Book Is For:
Developers new to enterprise IoT who want to learn about fundamental technologies for that market segment and seek an introduction to relevant, open-source building blocks; experienced IoT developers who seek alternatives to the proprietary platforms they are currently using; software architects designing IoT solutions who want to understand open-source technology options.
Скачать Building Enterprise IoT Solutions with Eclipse IoT Technologies: An Open Source Approach to Edge Computing