About the Book
Programming the Internet of Things (O’Reilly Media) introduces you to the basics of building an integrated, end-to-end IoT solution – from device to cloud. Originally written to support my Connected Devices course at Northeastern University, Programming the IoT will help developers and technology executives alike better understand the technical complexities of a typical IoT ecosystem.
Awards and Accolades
Structure and Organization
How is the Book Organized?
The Preface is designed to level-set on what the IoT is, how the book is structured, and what you can expect as you work through each chapter.
- Part I focuses on setting up your development environment and building two simple applications.
- Part II digs into connecting things to the world via the generation and formatting of telemetry – the time-series data that you’ll use throughout the rest of the book (both simulated and emulated).
- Part III is where things really start to get interesting, as you’ll learn about some of the more common IoT messaging protocols used to connect your devices, enabling them to ‘talk’ with one another.
- Part IV brings everything together and helps you connect into the cloud. I’ll walk through some of the basics of connecting into cloud services and discuss some use cases you can tackle as a hobby, or as part of your Semester Project (if taking my Connected Devices course).
Each Part has a bunch of exercises that you can work through to build your own IoT solution. These exercises build upon each other from chapter to chapter, and are presented as requirements that you can use to inform your own agile board to track your learning journey.
What Else Should I Know?
As mentioned in the book, the Kanban Board and GitHub Repositories will contain the most up-to-date content. That said, I’m continuously looking for ways to improve this material and may make updates to the exercises and/or instructions in an effort to clarify (or correct) the exercises and suggested solutions.
1st Edition – Errata and Clarifications
I maintain a separate page on errata, clarifications, and diagrams that I hope will help clear up any confusion (or just fix errors on the prose and diagrams). Please be sure to check it out if you’re reading through and would like further explanations on any of the content.
1st Edition – For Instructors
The book and its associated content is designed as a self-contained course that introduces programming concepts and approaches for the IoT. If you’re an instructor and interested in leveraging the book for your own course, please check out my dedicated page for instructors.
And feel free to comment! I’ll do my best to keep the page maintained and add new content as appropriate.
Sounds Great! How Do I Start Programming the IoT?
If you’re interested in working through the IoT exercises I’ve developed or are currently taking my Connected Devices course, I’d suggest the following:
- Get the book!
- Read through the following sections and review the related videos:
- Part I Intro
- Part II Intro
- Part III Intro
- Part IV Intro
- YouTube walk-through of the Lab Module Road Map (I’ll post this soon)
- Clone the GitHub repositories listed below (described in Chapter 1):
- Doc templates and checklists: book-exercise-docs
- Constrained Device Application (Python 3.7+): python-components
- Gateway Device Application (Java 11+): java-components
- Start working through the exercises by reading each chapter and following along with the Kanban Board Lab Module exercises:
Want to Join the Mailing List?
Milestone No. 1: February 2020. Programming the Internet of Things project proposed and green-lit.
Milestone No. 2: 16 March 2020. Received O’Reilly Media contract to write Programming the Internet of Things.
Milestone No. 3: August 2020. First version of Early Release content published online at O’Reilly Media.
Milestone No. 4: 28 February 2021 @ 8:30 pm EST. Completed full draft of Programming the Internet of Things.
Milestone No. 5: 09 April 2021 @ 4:00 pm EST. Manuscript sent to production.
Milestone No. 6: May 2021. Final Quality Control (QC) edits and reviews.
Milestone No. 7: 10 June 2021. 1st ed complete and off to the printer!
Milestone No. 8: Summer 2021. Available in print and e-book (see links above).