Build Your Own IoT Platform: Develop a Flexible and Scalable Internet of Things Platform, 2nd Edition
- Length: 234 pages
- Edition: 2
- Language: English
- Publisher: Apress
- Publication Date: 2022-04-10
- ISBN-10: 1484280725
- ISBN-13: 9781484280720
- Sales Rank: #0 (See Top 100 Books)
Every solution that is in some way related to the IoT needs a platform; learn how to create that platform with us. This book is about being agile and reducing your time to market without breaking the bank. It is about designing something that can scale incrementally without rework and potentially disrupting the current work.
So, the key questions are: What does it take? How long does it take? And, how much does it take to build your own IoT platform? This book answers these questions and provides you with step-by-step guide to building your own IoT platform.
In this book, the author highlights what the core of an IoT platform looks like. There are always some must-haves and some nice-to-haves. This book distinguishes the two and focuses on building the must-haves. Building your IoT platform is not only the most significant cost-saver but can also be a satisfying learning experience. This edition will extend your work with a sample project to clarify the concepts and show you the possibilities. Additional chapters will also shed some light on the hardware interface and considerations.
What You Will Learn
- Master how to architect an interconnected system and develop a flexible platform architecture
- Understand how to prioritize system requirements with a bottom-up approach
- Design and build a robust IoT communications platform
- Create an end-to-end application using guidelines in this book
Who Is This Book For
IoT developers with basic-to-intermediate programming skills, small business owners, as well as entrepreneurs and startup founders would benefit from this book
Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: So… You Want to Build Your Own! The Background of IoT and Our Focus How Many Platforms Are Out There? Platforms Supporting Network Servicing Platforms Sitting Between Networks and Applications Application Layer Development Platforms What Should a Good IoT Platform Have? Why Should You Build Your Own IoT Platform? Summary Chapter 2: The Building Blocks of an IoT Solution The Functional Blocks of an IoT Solution Detailed Block Diagram of an IoT Platform Edge Interface, Message Broker, and Message Bus Message Router and Communication Management Time-Series Storage and Data Management Rule Engine The REST API Interface Microservices Device Manager Application and User Management Is Everything from This Block Architecture Mandatory? What Is the Proposed Approach? Summary Chapter 3: The Essentials for Building Your Own Platform Deciding Cloud Instance Specifics Additional Specifications Where Do We Get This Cloud Instance? What About Our Own Machine? Expanding on the IoT Platform Block Diagram Edge Interface, Message Broker, and Message Bus Message Router and Communication Management Time-Series Storage and Data Management REST API Interface Microservices Rule Engine Device Manager and Application Manager Our Own IoT Platform Block Diagram Summary Chapter 4: Let’s Create Our Platform Wish List Connecting with the Platform in Real Time Using MQTT As the Message Broker How Do We Want to Store the Data? Data Storage Schema Accessing Platform Resources Through APIs Data Access APIs Elementary Microservices and Utilities Routing and Filtering Data and Messages Updated Block Diagram of Our IoT Platform Summary Chapter 5: Here We Go! Initializing the Cloud Instance Register and Create Selecting an Operating System Image Choose a Plan Choosing a Datacenter Region Finalizing and Creating the Instance Connecting to Our Cloud Instance Installing Basic Software Stacks Installing Apache Installing MySQL Installing PHP Securing the Instance and Software It’s Easier with a Domain Name Add Virtual Hosts to Our Web Server Installing SSL Certificates Installing Node.js and Node-RED Modifying Node-RED Settings Securing Our Node-RED Editor Summary Chapter 6: The Message Broker What Is MQTT? Publish and Subscribe Paradigm Other Features of a Message Broker and MQTT Quality of Service Keep Alive Period Last Will and Testament The Retained Message The Best Part: WebSocket Are We Using the Best Message Broker Option? When to Utilize a Message Broker and When Not To Installing a Message Broker Securing a Message Broker Summary Chapter 7: Building the Critical Components Creating a Time-Series Core Database Installing Required Nodes in Node-RED Creating First Flow for Our Platform Adding MQTT Publish Capability REST API Message Publisher Creating the Database Listener REST API Message Retriever Verifying That Everything Is Working As Expected Running Node-RED in the Background Continuously Summary Chapter 8: Configuring the Message Broker The Difference Between WebSocket and Normal MQTT Why Is WebSocket Important? Adding WebSocket to Our MQTT Configuration Testing WebSocket Let’s Add User Access Controls Let’s Check If This Is Working Using the Forever Tool with the Message Broker Summary Chapter 9: Creating a REST Interface Data Access APIs Adding Time-Based Filters Data Deletion APIs Removing Data Records Completely Adding Microservices to the Platform Getting the Current Timestamp Random Code Generator Adding New Modules to Node-RED UUID Generator Email and Text Message Microservice APIs Configuration of Nodes SMS Sending Utility Email-Sending Utility Summary Chapter 10: Rule Engine and Authentication Start with the Rule Engine Logic Creating a Database Building the Flow Sequence Testing the Rule Engine Rule Management APIs Enable and Disable a Specific Rule Enable and Disable All Rules Create a New Rule Building Another Rule Engine with Node-RED Adding Authentication to the Data API What Are Our Options? What Is the Plan? Adding Authentication Middleware Enable and Test Authentication Our Core Platform Is Ready Now Summary Chapter 11: Documentation and Testing Preparing a Valid OpenAPI Specification Document Platform API Specification File Explained Preparing Distribution Package for Final Upload Upload API Docs and Make It Live Authorize and Test API Summary Chapter 12: Connecting Your Hardware Why Learn Hardware? Available Hardware Options Importance of Bespoke Designs How Do You Choose? Connectivity Considerations Topologies and Arrangements A Few Options to Consider Communication Protocols Using the REST API Using MQTT Finding the Golden Mean Connecting to the Platform Summary Chapter 13: Let’s Build a Better Mousetrap How It All Started What Does “Better” Mean? The Approach System Architecture Hardware Selection Key Components Connectivity Choice Front-End Application Cloud Application Back End Additional Services Project Takeaways Summary Chapter 14: Unlimited Possibilities Why Unlimited The Three Ideas 1. The 1btn (a.k.a. One Button) 2. Smart Streetlamps 3. Garbage Collection Management Other Ideas and Possibilities Summary Chapter 15: What We Built and the Takeaways Increasing Security for the Cloud Instance What About SQL Injection Through APIs? Should We Have Used MongoDB Instead of MySQL? Some Experts Might Still Try to Talk You Out of This How Is Our Platform Different from AWS, Google, and Azure? There Is a New Version of MQTT My Platform Is Ready. Now What? The Next Big Thing If You Need to Find More Resources Finally… Index
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/Apress
2. In the Find a repository… box, search the book title: Build Your Own IoT Platform: Develop a Flexible and Scalable Internet of Things Platform, 2nd Edition
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.