An Introduction to Building Integrated, Device-to-Cloud IoT Solutions

#Internet_of_Things
#Cloud
#IoT
#JSON
#MQTT
#CoAP
#Python
#Java
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 looking to better understand the nuances of IoT technology stacks, or a programmer building your own smart house solution, this practical book will help you get started.
The Internet of Things (IoT) is a complex, interconnected system-of-systems composed of different hardware devices, software applications, data standards, communications paradigms, and cloud services. Knowing where to start with your own IoT project can be a bit daunting. Programming the Internet of Things is designed to get you started on your IoT development journey and shows you, the developer, how to make the IoT work.
If you decide to stay with me through this book, you’ll learn how to write, test, and deploy the software needed to build your own basic, end-to-end IoT capability.
Who Is This Book For?
Programming the Internet of Things is, at its core, a book about building IoT solutions—from device to cloud.
This book was primarily written as a teaching guide for my Connected Devices course at Northeastern University, and for any students interested in learning how to program IoT solutions. While it’s structurally focused on assisting students and practitioners, it can also be helpful for those interesting in learning more about IoT concepts and principles.
Throughout the book, you will find step-by-step guidelines for building your own end-to-end IoT capability, with exercises within each chapter that build on one another to help you cement your knowledge of the IoT. If you’re more interested in the concepts, however, that’s perfectly fine! You can learn about the what and why but move quickly through the how and skip the exercises, if you’d prefer.
As an educator and a consultant, I’ve structured the content so it can be used as a road map for teaching introductory IoT programming courses, with the intent of stepping through key concepts and gradually building a base of knowledge in this important area. Whether you’re a college-level instructor or a student looking to develop your skills in the IoT, I hope you’ll find this book helpful in building your course and knowledge.
Lastly, I leave most of the specific instructions and details to the existing specifications and open source APIs. While some parts of the book might serve as a high-level reference, a majority of the content here focuses on helping you leverage such information to build the solution you need. We’re fortunate to have access to well-written protocol specifications and a vibrant open source community, and I’m grateful to those who have championed these efforts.
What Do I Need To Know?
Although the exercises in this book assume that you have some experience as a programmer, most do not require sophisticated programming skills or a formal computer science background. However, if you intend to complete the exercises at the end of most chapters, you’ll need to possess a basic level of comfort working with both Python and Java as coding languages to build simple applications; working in an integrated development environment (IDE); reading, writing, and executing unit tests; and configuring Linux-based systems via a shell-based command line.
All exercises are preceded by a target state design diagram for the specific task at hand that details how any new logical components you build should work with the existing components you’ve already developed. Most are simple block diagrams that show the basic relationships among the components of the application.
"One of the best Internet of Things books of all time" - BookAuthority
Andy King is a seasoned computer scientist, educator, and technology executive with over two decades of software engineering and leadership experience. His career has largely been focused on designing and building network management tools, telematics systems, sensor networks, and -- of course -- Internet of Things ecosystems.
Andy advises clients across North America and the globe on a wide range of IoT initiatives, from strategy to implementation, and has led numerous advanced research initiatives focused on the design of telematics and edge computing systems. In addition to his consulting activities, he is an Adjunct Faculty member at Northeastern University in the College of Engineering, where he teaches the Connected Devices graduate course in the Cyber Physical Systems program.









