Build Your Own IoT Platform
Apress (Verlag)
978-1-4842-4497-5 (ISBN)
In this book, the author bursts the bubble and highlights how the core of an IoT platform looks like.
What You Will Learn:
· Learn how to architect an interconnected system.
Discover how every solution that is in some way related to the IoT needs a platform and how to create that platform. This book is about being agile and reducing your time to market without breaking the bank. It is about designing something that you can scale incrementally without a lot of 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 a step-by-step guidance on how to build your own IoT platform.
In this book, the author bursts the bubble and highlights how the core of an IoT platform looks like. There are always some must-haves and some nice-to-haves. This book will distinguish the two and focus on how to build the must-haves. Building your IoT platform is not only the biggest cost saver but can also be a satisfying learning experience. In this edition, we will undertake a sample project to further clarify the concepts we learn; additional chapters would show you the hardware interface.
What You Will Learn:
· Learn how to architect an interconnected system.
· Learn how to develop flexible architecture.
· Learn to prioritize system requirements with a bottom-up approach.
· Be able to create a redundant communications platform.
· Be able to create an end-to-end application using the guidelines in this book.
Who Is This Book For
IoT developers with basic-to-intermediate programming skills would benefit from this book.
As a versatile technologist, Anand has built several technology systems over the last two decades; small, medium, large, and everything in between. During this period he has garnered deep expertise in various technologies and domains, such as internet of things, machine learning, artificial intelligence, and data science. He is the founder of Knewron Technologies, Australia. With technology as a passion, Anand helps businesses increase efficiency and productivity by leveraging emerging technologies. Sane and sensible adoption of technology is his current area of focus.
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
· The Detailed Block Diagram of an IoT Platform
· 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 Communications 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 Accessing 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
· Choosing an Operating System Image
· Choosing the Size
· 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 alongwith IoT platform?
· Available hardware options
· Creating bespoke designs
· Choosing the best option for your project
· Connectivity options and suitability for project
· Various topologies and arrangements
§ The “why” behind each topology and arrangement
· Connecting our hardware to the platform
§ Two possible modes
o Using REST API
o Using MQTT
o Can you use both? Why and when?
§ Requirements for each mode
o Circuit specific
o Firmware specific
§ How to incorporate them in hardware
o Circuit specific
o Firmware specific
· Other considerations for connecting the hardware
· Summary
Chapter 13: Let's Build a Better Mousetrap
· Backstory of better mousetrap case study
§ How I got this opportunity
§ What does “better” mean?
§ How I decided to approach this problem
§ Importance of top-down approach
· System architecture
§ High level system design process
§ Block diagram and explanation
· Hardware selection
§ What are different scenarios
§ What are potential options
§ What is on our shortlist
· Connectivity choice
§ What are different scenarios
§ What are potential options
§ What is on our shortlist
· Front-end application
§ What are different scenarios
§ What are potential options
§ What is on our shortlist
· Hardware arrangement
§ Hardware construction (overview)
§ How it works
§ Testing the hardware
· Backend buildup on the platform
§ What additions we need on the platform side
§ How to build them (details)
§ Testing the backend
· Dashboard for visualization
§ Building a basic dashboard
§ How to pool the data
· Additional services I built in the mousetrap application
§ Workflow for CRM
§ Client alert mechanism
§ Operator Scheduling
§ Compliance reporting
§ Machine learning provision for intelligent pest management
§ Other business benefits
· Project takeaways – real life and for you (as a reader)
· Summary
Chapter 14: Unlimited Possibilities
· What do I mean by unlimited possibilities?
· Why is this platform so capable?
· Five ideas you can work on
§ One button – based on my 1btn project
o The concept
o Block diagram
o Key ideas and things to work on
o Potential applications
§ Smart street lamps
o The concept
o Block diagram
o Key ideas and things to work on
o Potential applications
§ Council garbage collection management
o The concept
o Block diagram
o Key ideas and things to work on
o Potential applications
§ Datacenter climate control
o The concept
o Block diagram
o Key ideas and things to work on
o Potential applications
§ People counter for Covid-19 gathering compliance in shops & stores
o The concept
o Block diagram
o Key ideas and things to work on
o Potential applications
· 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
Erscheinungsdatum | 13.05.2019 |
---|---|
Zusatzinfo | XX, 260 p. |
Verlagsort | Berkley |
Sprache | englisch |
Maße | 155 x 235 mm |
Gewicht | 454 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Web / Internet |
Informatik ► Weitere Themen ► Hardware | |
Schlagworte | devicemanagement • DIY • internetofthings • IOT • iotplatform • MQTT • Node-RED |
ISBN-10 | 1-4842-4497-4 / 1484244974 |
ISBN-13 | 978-1-4842-4497-5 / 9781484244975 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich