New book: Programming for the Internet of Things: Using Windows 10 IoT Core and Azure IoT Suite

We’re happy to announce the availability of Programming for the Internet of Things: Using Windows 10 IoT Core and Azure IoT Suite (ISBN 9781509302062), by Dawid Borycki.

Purchase from these online retailers:

Microsoft Press Store
Amazon
Barnes & Noble
Independent booksellers – Shop local

Overview

Rapidly implement Internet of Things solutions

Creating programs for the Internet of Things offers you an opportunity to build and program custom devices whose functionality is limited only by your imagination. This book teaches you to do exactly that, with solutions presented in a step-by-step format. When you read this book, you not only learn the fundamentals of device programming, you will also be ready to write code for revolutionizing devices and robots.

You don’t need to be an expert in low-level programming to benefit from this book. It explains basic concepts and programming techniques before diving into the more complicated topics. Each of the book’s chapters and appendices contains a suitable level of detail to help you quickly master device programming.

MCP Dawid Borycki shows you how to:

  • Build Universal Windows Platform (UWP) applications that target interconnected embedded devices
  • Design and implement background apps for seamless integration with hardware components
  • Use intrinsic UWP functionality to detect and track human faces
  • Build artificial auditory, visual, and learning systems
  • Process audio signals to blink LEDs to the rhythm of music
  • Use OpenCV to develop custom image-processing algorithms
  • Communicate with external devices by using serial, USB, Wi-Fi, and AllJoyn connectivity
  • Design and implement applications to control DC, stepper, and servo motors for robotics
  • Use Microsoft Cognitive Services to detect human emotions
  • Build predictive analysis and preventive maintenance systems by using the Azure IoT Suite

About This Book

  • For C# and .NET developers who want to start building custom IoT solutions
  • For embedded software developers, engineers, researchers, and enthusiasts who want to program custom devices whose functionality is limited only by their imagination

Introduction

Lately, the Internet of Things (IoT), big data, machine learning, and artificial intelligence have become very hot topics. IoT is defined as the global network of interconnected devices. These devices can be as small as implantable continuous glucose monitors or wearables, or as big as credit card–sized computers, like the Raspberry Pi. As the number of such devices continues to grow, the amount of data they generate will rapidly increase—and new technological challenges will appear.

The first of these challenges relates to storage. Small devices have physical constraints that do not allow them to store big datasets. Second, big data exceeds the computational capabilities of traditional algorithms and requires different, statistical-based approaches. These are provided by machine learning, a branch of artificial intelligence. Hence, IoT, big data, machine learning, and artificial intelligence are tightly related concepts. Typically, devices are end-points, which send data over the network to the cloud, where data is stored and processed to get new, previously unavailable insights. These insights may help to understand and optimize processes monitored by smart devices.

While this description may sound fascinating, the number of new technologies you need to learn to start implementing custom IoT solutions might seem daunting. Fortunately, Microsoft created Windows 10 IoT Core and Azure IoT Suite, which enable you to program custom IoT solutions fairly quickly. Their functionality is limited only by your imagination. In this book, you will find numerous projects presented in a step-by-step manner. By completing them, you not only obtain the fundamentals of device programming, but you will also be ready to write code to revolutionize devices and robots, which can do the work for you!

This book helps you to master IoT programming in three main parts. Each contains a suitable level of detail and explains how to prepare your development environment, read data from sensors, communicate with other accessories, build artificial vision, build motors, build hearing systems, and incorporate machine learning and artificial intelligence into your device. This book also shows you how to set up remote telemetry and predictive maintenance like Azure IoT solutions and to build custom IoT solutions from scratch.

Audience and expected skills

This book is devoted to students, programmers, engineers, enthusiasts, designers, scientists and researchers who would like to use their existing programming skills to start developing software for custom devices and sensors and also use the cloud to store, process, and visualize remote sensor readings.

I assume the reader knows fundamental aspects of C# programming and is experienced in Windows programming. Therefore, no special discussion is devoted to C# or to programming fundamentals. I do not assume any previous knowledge of audio and image processing, machine learning, or Azure. These topics are explained in detail.

Tools and required hardware

Throughout this book, I use Windows 10 and Visual Studio 2015/2017 as the development environment. Most of the hardware components I use are from the Microsoft IoT Pack for Raspberry Pi, provided by Adafruit Industries. Any additional hardware elements like cameras, add-on boards for Raspberry Pi, communication adapters, or motors will be described in chapters dealing with the particular topic.

About the Author

Dawid Borycki is a software engineer and biomedical researcher who is experienced in Microsoft technologies. He has completed a broad range of challenging projects involving the development of software for device prototypes (mostly medical equipment), embedded device interfacing, and desktop and mobile programming.