Blaize Stewart Architecting IoT Solutions on Azure Conquering Complexity for Scalable Device and Data Management
DATA “Blaize distills years of hands-on experience designing and implementing IoT solutions at a global scale into a fantastic guide for beginners and a reference manual for practitioners. This is the one book you must read if you’re architecting IoT solutions!” —Ken Muse Four-time Microsoft MVP and Senior DevOps Architect, GitHub Architecting IoT Solutions on Azure Twitter: @oreillymedia linkedin.com/company/oreilly-media youtube.com/oreillymedia How can you make sense of the complex IoT landscape? With dozens of components ranging from devices to metadata about the devices, it’s easy to get lost among the possibilities. But it’s not impossible if you have the right guide to help you navigate all the complexities. This practical book shows developers, architects, and IT managers how to build IoT solutions on Azure. Author Blaize Stewart presents a comprehensive view of the IoT landscape. You’ll learn about devices, device management at scale, and the tools Azure provides for building globally distributed systems. You’ll also explore ways to organize data by choosing the appropriate dataflow and data storage technologies. The final chapters examine data consumption and solutions for delivering data to consumers with Azure. Get the architectural guidance you need to create holistic solutions with devices, data, and everything in between. This book helps you: • Meet the demands of an IoT solution with Azure-provided functionality • Use Azure to create complete scalable and secure IoT systems • Understand how to articulate IoT architecture and solutions • Guide conversations around common problems that IoT applications solve • Select the appropriate technologies in the Azure space to build IoT applications Blaize Stewart is a Microsoft Azure MVP with 20 years of development and infrastructure experience who’s architected and implemented numerous small to enterprise-grade applications —everything from embedded systems, handheld devices, desktop apps, and web apps to scalable systems in the cloud with global scale. 9 7 8 1 0 9 8 1 4 2 8 6 5 5 6 5 9 9 US $65.99 CAN $82.99 ISBN: 978-1-098-14286-5
Blaize Stewart Architecting IoT Solutions on Azure Conquering Complexity for Scalable Device and Data Management Boston Farnham Sebastopol TokyoBeijing
978-1-098-14286-5 [LSI] Architecting IoT Solutions on Azure by Blaize Stewart Copyright © 2024 Blaize Stewart. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com. Acquisitions Editor: Aaron Black Development Editor: Rita Fernando Production Editor: Clare Laylock Copyeditor: Charles Roumeliotis Proofreader: Piper Editorial Consulting, LLC Indexer: Potomac Indexing, LLC Interior Designer: David Futato Cover Designer: Karen Montgomery Illustrator: Kate Dullea January 2024: First Edition Revision History of the First Edition 2024-01-09: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781098142865 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Architecting IoT Solutions on Azure, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. The views expressed in this work are those of the author and do not represent the publisher’s views. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.
Table of Contents Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1. The IoT Landscape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Off Azure 2 IoT Devices 2 Edge Computing 3 Azure 4 IoT Messaging and Management 4 Data Processing 5 Data Persistence 8 Data Presentation Layer 10 Data Consumers 10 Monitoring, Logging, and Security 11 Conclusion 12 2. Azure-Centric IoT Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 IoT Devices as the Nexus of Three Domains 14 Hardware 15 Software 16 Cloud 16 IoT Devices and Microsoft 17 Microsoft the Software Company 17 Microsoft as a Hardware Company 18 Microsoft as a Cloud Company 19 IoT on Azure: Microsoft’s Combination of Software, Hardware, and Cloud 19 Azure Sphere 20 Azure Sphere Hardware 20 Azure Sphere Software 20 iii
Azure Sphere Cloud Services 21 What’s It For? 21 What Makes It Unique? 22 Azure MXChip 22 MXChip Hardware 22 MXChip Software 23 MXChip Cloud Services 24 What’s It For? 24 What Makes It Unique? 24 Kinect 25 Kinect Hardware 25 Kinect Software 25 Kinect Cloud Services 26 What’s It For? 26 What Makes It Unique? 26 Windows for IoT 26 Windows IoT Software 27 Windows for IoT Hardware 28 Windows for IoT Cloud Services 29 What’s It For? 29 What Makes It Unique? 29 Azure IoT Device SDKs 29 Supported Languages and Platforms 31 Real-Time Operating System (RTOS) 31 When All Else Fails, Use the APIs 32 Summary 32 3. How to Try Before You Buy, IoT Edition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Thinking Through Your Software 35 The User Experience 36 Collecting Data 36 Data Collected from User Inputs 37 Data Collected from the Environment 37 Data About the Device 37 Data About the Software on the Device 37 Device Simulators 38 Accelerate Development 38 Enable Feature Development Independent of Device Development 38 Enable Automated Testing 39 Device Simulator Best Practices 40 A Word About Device Simulator Services 41 Experiment Using Virtualization 41 iv | Table of Contents
Hardware Without Dev Boards 45 Creating a Device for the Examples 45 Setting Up the Sample Device or the Device Simulator 46 Dependencies 46 Cloning the Repository 47 Explore the Code 48 Committing to a Dev Board 50 Summary 51 4. The Device Lifecycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Device Lifecycle Management 54 Research and Design 55 Three Phases of R&D 56 Hardware 57 Software 62 Manufacturing 66 Shipping 67 Claiming and Provisioning 67 Provision Devices with an IoT Hub through the Device Provisioning Service 69 Main Sequence 71 Communication 72 Twinning 72 Device Twinning with IoT Hub 73 Updates 76 Deprovisioning 81 Summary 82 5. Device Messaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Synchronous Versus Asynchronous Messaging 84 Real-Time Versus Store-and-Forward Messaging 85 Bidirectional Versus Unidirectional Communication 85 Message Formatting 86 Properties 86 Body 88 Common Protocols 91 MQ Telemetry Transport (MQTT) 92 Advanced Message Queuing Protocol (AMQP) 92 Hypertext Transfer Protocol (HTTP) 93 Device-to-Cloud (D2C) Messaging 94 Telemetry 94 Events 95 Table of Contents | v
File Uploads 95 Message Routing 96 Message Enrichments 101 Cloud-to-Device (C2D) Messaging 102 Commands (Direct Methods) 102 General Messages 104 Custom Solutions 105 Security 105 Device Management 106 Message Routing 106 Scaling 107 Integrations with Azure 107 Summary 108 6. Life on the Edge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Why Use Edge Computing? 110 Better Response Time to Events on Premises 111 Reliable Connectivity for Critical Services 111 Access to Critical Services Without Bandwidth Constraints 111 Aggregations and Filtering Data to Reduce Network Traffic 111 Compute Offloading to Save Network Bandwidth 112 Data Localization When Dealing with Data Sovereignty and Security Issues 112 A Disconnected Cloud That Performs with No Network Connection 112 Container Basics 113 Azure IoT Edge 114 IoT Edge Modules 115 Message Brokering 115 Data 116 Storage 116 Bringing the Cloud Closer with AI 116 Extensibility (Bring Your Own Code) 117 Creating an IoT Edge Device and Deploying a Module 117 Install Azure IoT Edge 118 Deploy a Module on IoT Edge 118 Azure Arc and Kubernetes 120 IoT Edge or Arc with Kubernetes? 122 Setting Up Arc with MicroK8S 122 Set Up MicroK8S 123 Connect MicroK8S to Azure Arc 124 Install the Device Simulator to MicroK8S Using the Azure Portal 126 Azure Data Box Gateway 128 Azure Stack 128 vi | Table of Contents
Azure Stack Hub 128 Azure Stack HCI 129 Azure Stack Edge 129 Summary 130 7. Scalable Data Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 General Principles for Data Storage 132 Partition Your Data Appropriately 132 Storage Is Cheap, Compute Is Expensive 133 Prefer Eventual Consistency over Strong Consistency 135 Separate Reads and Writes 137 Treat Writes as Idempotent 137 Store Data in an Optimized Form for Its Intended Use 138 Create Retention Policies 139 Landing Your Data 139 Azure Blob Storage 140 Azure Data Lake 141 General-Purpose Blob Storage Versus Data Lake 141 Set Up Azure Blob Storage to Land Data 142 What About File Shares or File Sharing Services? 143 Online Transaction Processor (OLTP) Versus Online Analytics Processor (OLAP) 144 OLTP Solutions on Azure 145 Cosmos DB 145 Azure Data Explorer (ADX) 147 Azure SQL 147 Open Source Databases 149 OLAP Solutions on Azure 149 Azure Synapse Analytics 150 HDInsight 151 Data Lakes Versus Data Warehouses 152 Lakehouse 153 Hybrid Transaction Analytics Processor (HTAP) 154 OLTP as OLAP 154 Creating an HTAP with Cosmos DB and Azure Synapse Analytics 155 Summary 160 8. Data Processing Architectures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Data Storage (Again) 164 Data Processing Cycle 164 Data Collection 165 Data Preparation 165 Table of Contents | vii
Data Input 165 Data Processing 165 Output 167 Storage 167 Data Movement 167 Hot Path 168 Cold Path 171 Warm Path 174 Which Type of Data Path Should You Use? 175 Data Architectures 176 Lambda Architecture 177 Kappa Architecture 178 Delta Architecture 181 Which Style of Architecture Should You Use? 182 Summary 183 9. Hot Path Data Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Messaging Platforms 186 Hot Paths 186 Azure Stream Analytics 187 Azure Functions 191 Azure Logic Apps 195 Azure Service Bus 198 Queues and Topics 198 Auto-Forwarders and Subscription Filtering 198 Topic Actions 199 Performance Considerations 199 Create a Service Bus with a Topic and Subscriptions 200 Create a New Route on IoT Hub 201 Create Some Functions Save Data 202 Summary 204 10. Cold Path Data Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Azure Data Explorer 208 Batch Processing on Azure 210 Azure Batch 211 Create a Batch Account 213 Set Up the Batch Job 213 Azure Data Factory 215 Create a Data Factory to Move Data 216 Create a Source Dataset from Your Storage Account 216 Create a Data Sink for Cosmos DB 217 viii | Table of Contents
Create a Data Flow to Move Data 218 Create a Pipeline to Move Data 218 Start the Data Flow 219 Summary 220 11. The Servicing Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Datasets 222 Data Formats for Datasets 223 Push-Style Delivery 225 Cold Path Push 225 Hot Path Push 226 Pull-Style Delivery 232 Azure Data Share 233 HTTP APIs 234 Hybrid approaches 238 Summary 239 12. Data Consumers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Reporting Tools 242 Business Intelligence Tools 242 Power BI 244 Connecting Power BI to Data 245 Applications 247 External Systems Integrations 248 Raw Data Consumers 250 Security and Privacy 250 Security 251 Data Privacy 251 Summary 253 13. Monitoring and Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Setting Goals with Service Level Agreements 255 Monitoring Your Solution 257 Azure Monitor 260 Data Collection 260 Azure Data Explorer (Log Analytics) 261 Kusto Query Language (KQL) 261 Monitoring and Alerting 262 Azure Application Insights 263 Instrumentation 264 Application Logging 264 User Analytics 265 Table of Contents | ix
Azure Security Center 265 Security Assessments 265 Security Monitoring 266 Incident Response 266 Azure Sentinel 267 Summary 268 14. IoT Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Software Vulnerabilities 270 Malware 271 Botnets 271 Ransomware 272 Data Leaks 273 DoS 274 Insecure Communications 274 Device Spoofing 275 Insecure Data 275 Lax Access Controls 276 Physical Threats 277 Lax Network Security 277 DNS Threats 278 Man-in-the-Middle 279 Social Engineering 279 Advanced Persistent Threats 280 Managing Threats with Microsoft Defender for IoT 280 Summary 281 15. Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Devices 283 Edge and Containers 286 Containers and GitOps 286 Kubernetes on the Edge 287 Azure IoT Edge 288 IoT Management 288 Data Architecture 288 Conclusion 290 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 x | Table of Contents
Preface At a Gartner conference in sunny San Diego around 2012, I first encountered the term “IoT Architecture.” At first glance, it seemed a simple idea: the nexus of internet-connected devices. Just as the mobile wave was cresting and cloud comput‐ ing was gaining traction, the challenge of efficiently managing IoT workloads emerged as a resonant topic among technologists and device makers everywhere. As I delved deeper, this seemingly straightforward realm revealed myriad nuances. As it turns out, the Internet of Things (IoT) isn’t merely a web of gadgets that flicker to life at the touch of a button. It’s a sophisticated network of interconnected devices, auton‐ omously collecting, transmitting, and receiving vast amounts of data. As I ventured further into this domain, even more pressing questions surfaced: How does one seamlessly update all those devices? What measures ensure their tamper-resistance? And perhaps most dauntingly, how can one effectively process and analyze the deluge of data they produce? In response to these questions, Microsoft has unveiled a vast IoT ecosystem on Azure, encompassing a range of Microsoft-managed cloud services, state-of-the-art edge components, and SDKs. Each component plays a pivotal role in the lifecycle of an IoT solution. Navigating this expansive realm requires methodical organization. I’ve found mapping out domains, creating a taxonomy, to be an invaluable strategy in clarifying the otherwise overwhelming world of IoT. Each domain, while self- contained, intertwines with others, forming a comprehensive picture I’ve come to describe as the IoT Landscape. In this book, I segment this intricate topic into smaller domains. My aim is to provide readers with both a panoramic view and deep dives into its many aspects. My goal extends beyond mere knowledge dissemination; I strive to empower you, the reader, to navigate the Azure IoT ecosystem with ease and design IoT solutions tailored to your distinct needs and budget. xi
Who Should Read This Book If you’re looking for a book that speaks to holistic IoT solutions on Azure, you’re in the right place. This book has a little something for everyone in IT, including man‐ agement, architects, engineers, and administrators. For folks in the C-suite and IT managers, this book will help inform your business decisions when implementing an IoT solution on Azure. You’ll learn why something is done a particular way, and why Azure is a versatile platform for solutions. Defi‐ nitely start with Chapter 1 to build your foundational knowledge of what goes into an IoT solution. For those in architect roles, there will be plenty for you to feast on in this book. I’ll serve up the nitty-gritty details of each domain so you can enrich your understanding of IoT solutions on Azure. Whether you’re a new architect or a battle-tested one, you’ll find something of interest in this book. For engineers who may be responsible for implementing many of these solutions, the domain-specific chapters in particular, such as those on data engineering or cloud mes‐ saging, will give you what you need to know to implement an Azure-based solution. Finally, for administrators and those managing cloud infrastructure, you’ll be particu‐ larly interested in the chapters dedicated to monitoring, security, and governance. In essence, no matter your role in IT and IoT, there’s something here for you! Navigating This Book Chapter 1 introduces you to the Azure IoT Landscape and gives an overview of how all the domains I discuss in this book fit together into an IoT solution. Chapter 2 marks the beginning of your journey through the Azure IoT Landscape. Chapters 2 through 6 focus on dealing with devices at scale. These discussions pro‐ vide theory and practice around building devices interacting with Azure IoT offerings and managing those devices through a device’s lifecycle. Although the book discusses a few devices from Microsoft oriented toward Azure, the primary takeaway is how to think about those devices in the context of Azure under the guiding principles out‐ lined in the architecture. Chapters 7 through 12 shift the focus to what one does once the devices have done their job and have sent data to the cloud. These chapters are driven by architecture and show how to understand data architectures and implement them practically using Azure solutions. As before, it would be impossible to cover every permutation, and there are many different practical solutions for problems. Still, they can generally fit under a typical reference architecture that guides the decision making about and integration of those services. xii | Preface
Chapter 13 highlights the need to watch over not just the information from IoT devi‐ ces but also the overall well-being of the whole IoT system. It talks about setting clear goals, measuring them with KPIs, and using tools like Azure Monitor and Azure Security Center. These tools help gather records, solve problems, and boost security, which Chapter 14 digs deeper into. Chapter 14 is all about making sure IoT systems are safe. It gives tips on protecting software, stopping malware, keeping data safe, and much, much more. Lastly, Chapter 15 gives you more resources to learn about topics like creating devi‐ ces, managing data, and working with edge solutions, which are all things talked about in this book. Throughout this book, you’ll encounter hands-on examples that will show you how the technology all works together. Some of the examples have many parts and build on examples from previous chapters. There’s no way I can do an example for every‐ thing, but what I have chosen exemplifies the concepts and patterns. That’s the important part. At the end of the day, whatever your IoT solution looks like, I hope that you will use this book as a resource to help inform the decisions you make along the way. There is nothing simple about IoT, but investing the time to read and consider architecture up front can save tons of time and money down the road. Conventions Used in This Book The following typographical conventions are used in this book: Italic Indicates new terms, URLs, email addresses, filenames, and file extensions. Constant width Used for program listings, as well as within paragraphs to refer to program ele‐ ments such as variable or function names, databases, data types, environment variables, statements, and keywords. Constant width bold Shows commands or other text that should be typed literally by the user. Constant width italic Shows text that should be replaced with user-supplied values or by values deter‐ mined by context. Preface | xiii
Using Code Examples Supplemental material (code examples, exercises, etc.) is available for download at https://oreil.ly/supp-AIoT. If you have a technical question or a problem using the code examples, please send email to support@oreilly.com. This book is here to help you get your job done. In general, if example code is offered with this book, you may use it in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission. We appreciate, but generally do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Architecting IoT Solu‐ tions on Azure by Blaize Stewart (O’Reilly). Copyright 2024 Blaize Stewart, 978-1-098-14286-5.” If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at permissions@oreilly.com. O’Reilly Online Learning For more than 40 years, O’Reilly Media has provided technol‐ ogy and business training, knowledge, and insight to help companies succeed. Our unique network of experts and innovators share their knowledge and expertise through books, articles, and our online learning platform. O’Reilly’s online learning platform gives you on-demand access to live training courses, in-depth learning paths, interactive coding environments, and a vast collection of text and video from O’Reilly and 200+ other publishers. For more information, visit https://oreilly.com. xiv | Preface
How to Contact Us Please address comments and questions concerning this book to the publisher: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 800-889-8969 (in the United States or Canada) 707-829-7019 (international or local) 707-829-0104 (fax) support@oreilly.com https://www.oreilly.com/about/contact.html We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at https://oreil.ly/ArchitectingIoT. For news and information about our books and courses, visit https://oreilly.com. Find us on LinkedIn: https://linkedin.com/company/oreilly-media. Follow us on Twitter: https://twitter.com/oreillymedia. Watch us on YouTube: https://youtube.com/oreillymedia. Acknowledgments First, I would like to thank all of my reviewers, Marvin Garcia, Ken Muse, and Robert Stackowiak. These amazing people have deep knowledge and experience in IoT and data; they helped fill in a lot of the places I was missing and even pointed out things that were probably less than ideal. I’d also like to thank my outstanding editor, Rita Fernando, who helped keep things on track and offered valuable feedback on making the book better all the way around. And I’d like to thank Aaron Black and Jon Hassell at O’Reilly for helping this project get started. I’d like to thank my loving wife who put up with me during the many long hours of writing this book. It’s no simple task, yet she helped me through it. And lastly, I’d like to thank Dad, Blaize Stewart I (I’m Blaize II) who got me into com‐ puting at a young age. Who knew that the plunky Commodore 64 would set the tra‐ jectory of my career? Preface | xv
(This page has no text content)
CHAPTER 1 The IoT Landscape When contemplating the Internet of Things (IoT), you might initially envision the countless devices seamlessly interwoven into our modern landscape. IoT has perme‐ ated practically every part of our lives, from the simplest light bulb to orchestrations on a monumental scale within the contours of smart cities. These devices are aptly dubbed the “things” in the IoT realm. To fathom the entirety of this intricate tapestry, one must not simply ascend to the metaphorical 40,000-foot vantage from an air‐ plane. This perspective reveals the devices and the elaborate symphony of parts, all orchestrated in harmonious collaboration. It’s the IoT Landscape—a panoramic view that captures the collective essence of every element and orchestration that conspires to set these IoT devices into remarkable motion. It gives a taxonomy to each individ‐ ual part, assigning purpose and place within the grand design. In this book, I’ll take you through the IoT Landscape that is specific to Azure, which offers a plethora of Microsoft-managed cloud services, edge components, and software development kits (SDKs) to choose from. So, without further ado, take your first look at the Azure IoT Landscape shown in Figure 1-1. 1
Figure 1-1. The IoT Landscape for Azure This book explores each facet within this landscape, delving into the interplay of each part within the framework of a comprehensive IoT solution. Envision this as a voy‐ age—an expedition starting from the leftward side (with devices) that generally moves to the right. In navigating this trajectory, you’ll traverse significant junctures, including edge computing, IoT management and messaging, data pathways, data persistence, data servicing, and the expansive sphere of data consumers. However, to acclimate you to this voyage, let us embark with an overview of each point on the journey. This strate‐ gic prelude will chart your course, starting with devices. Off Azure The first section of the Azure IoT Landscape is, oddly enough, the things that exist outside of Azure: devices and edge computing. IoT Devices It’s hard to define an IoT device exactly because it’s not as simple as one might think. A textbook definition for the “Internet of Things” would be a network of intercon‐ nected devices that can collect, transmit, and receive data without direct human intervention. Sure, some things are pretty obvious. A smart light bulb or connected appliance is an IoT device, but that line gets a little blurry with things like televisions or media players. Quite the opposite might be true with some devices. They may be purpose-built to work with humans, like an excavator or smart toothbrushes. Notice what I said: they are purpose-built, like moving dirt or cleaning your teeth. The device has a specialized purpose rather than having a general purpose like a laptop or smartphone. 2 | Chapter 1: The IoT Landscape
Comments 0
Loading comments...
Reply to Comment
Edit Comment