Book Description

Learn how to program the Internet of Things with this hands-on guide. By breaking down IoT programming complexities in step-by-step, building-block fashion, author and educator Andy King shows you how to design and build your own full stack, end-to-end IoT solution—from device to cloud. This practical book walks you through tooling, development environment setup, solution design, and implementation.

You’ll learn how a typical IoT ecosystem works, as well as how to tackle integration challenges that crop up when implementing your own IoT solution. Whether you’re an engineering student learning the basics of the IoT, a tech-savvy executive with a company embarking on an IoT journey, or a programmer building your own smart house solution, this practical book will help you get started.

  • Design an end-to-end solution that implements an IoT use case
  • Set up an IoT-centric development and testing environment
  • Organize your software design by creating abstractions in Python and Java
  • Use MQTT, CoAP, and other protocols to connect IoT devices and services
  • Create a custom JSON-based data format that’s consumable across a range of platforms and services
  • Use cloud services to support your IoT ecosystem and provide business value for stakeholders

Table of Contents

  1. Preface
    1. Who Is This Book For?
      1. To the Programmer
      2. To the Instructor
      3. To the Technology Manager and Executive
    2. What Do I Need To Know?
    3. How Is This Book Arranged?
      1. Part I – Getting Started
      2. Part II – Connecting to the Physical World
      3. Part III – Connecting to Other Things
      4. Part IV – Connecting to the Cloud
    4. Some Background on the IoT
    5. Complexity Redefined
    6. Living on the Edge
      1. Conventions Used in This Book
      2. Using Code Examples
      3. O’Reilly Online Learning
      4. How to Contact Us
  2. I. Getting Started
  3. 1. Setting Up Your Environment
    1. What you’ll learn in this chapter
    2. Designing Your System
      1. Breaking Down The Problem
      2. Defining Relevant Outcomes
      3. Architecting a Solution
    3. Building, Testing and Deploying Software for the IoT
      1. Step I: Prepare Your Development Environment
      2. Configuring an Integrated Development Environment (IDE)
      3. Setup Your GDA Project
      4. Setup Your CDA Project
      5. Step II: Define Your Testing Strategy
    4. Unit, Integration, and Performance Testing
      1. Testing Tips for the Exercises in this Book
      2. Step III: Managing Your Workflow - Requirements, Source Code, and CI/CD
      3. Managing Requirements
      4. Setting up a Cloud Project and Repositories
      5. Source Code Control Using Git Remotes and Branching
      6. Automated CI/CD in the Cloud
      7. Automated CI/CD in your Local Development Environment
      8. A Few Thoughts on Containerization
    5. Conclusion
  4. 2. Building Two Simple IoT Monitoring Applications
    1. What you’ll learn in this chapter
    2. Designing Your IoT Applications
      1. The CDA
      2. CDA Implementation Details
      3. Create the CDA application module
      4. The GDA
    3. Additional Exercises