Book Image

Artificial Intelligence for IoT Cookbook

By : Michael Roshak
Book Image

Artificial Intelligence for IoT Cookbook

By: Michael Roshak

Overview of this book

Artificial intelligence (AI) is rapidly finding practical applications across a wide variety of industry verticals, and the Internet of Things (IoT) is one of them. Developers are looking for ways to make IoT devices smarter and to make users’ lives easier. With this AI cookbook, you’ll be able to implement smart analytics using IoT data to gain insights, predict outcomes, and make informed decisions, along with covering advanced AI techniques that facilitate analytics and learning in various IoT applications. Using a recipe-based approach, the book will take you through essential processes such as data collection, data analysis, modeling, statistics and monitoring, and deployment. You’ll use real-life datasets from smart homes, industrial IoT, and smart devices to train and evaluate simple to complex models and make predictions using trained models. Later chapters will take you through the key challenges faced while implementing machine learning, deep learning, and other AI techniques, such as natural language processing (NLP), computer vision, and embedded machine learning for building smart IoT systems. In addition to this, you’ll learn how to deploy models and improve their performance with ease. By the end of this book, you’ll be able to package and deploy end-to-end AI apps and apply best practice solutions to common IoT problems.
Table of Contents (11 chapters)

OTA updating MCUs

OTA updates are essential for deploying security updates, new functionality, and updating models. There are two different techniques for OTA updates. The first is building a custom program that, ideally, runs on its own program or thread that is different than the main program you are trying to update. This software downloads the new firmware to the flash memory and registers and starts the new firmware. If the new firmware fails to start, the custom software can then start up the working version of the software. This usually involves saving half of the flash memory available for OTA updates.

The second way is to use a system such as Azure IoT Edge to update the Docker containers on the device. This requires a device that is running a full operating system, such as Raspbian, Ubuntu, or Windows. The majority of IoT devices do not have the compute needed to support IoT Edge. In this recipe, we will talk about OTA updates on MCUs, while in the next, we will discuss...