Book Image

Mastering Internet of Things

By : Peter Waher
Book Image

Mastering Internet of Things

By: Peter Waher

Overview of this book

The Internet of Things (IoT) is the fastest growing technology market. Industries are embracing IoT technologies to improve operational expenses, product life, and people's well-being. Mastering Internet of Things starts by presenting IoT fundamentals and the smart city. You will learn the important technologies and protocols that are used for the Internet of Things, their features, corresponding security implications, and practical examples on how to use them. This book focuses on creating applications and services for the Internet of Things. Further, you will learn to create applications and services for the Internet of Things. You will be discover various interesting projects and understand how to publish sensor data, control devices, and react to asynchronous events using the XMPP protocol. The book also introduces chat, to interact with your devices. You will learn how to automate your tasks by using Internet of Things Service Platforms as the base for an application. You will understand the subject of privacy, requirements they should be familiar with, and how to avoid violating any of the important new regulations being introduced. At the end of the book, you will have mastered creating open, interoperable and secure networks of things, protecting the privacy and integrity of your users and their information.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
Packt Upsell

Getting what you need

For the purposes of this chapter, you will need the following:

  • A Raspberry Pi 2 or 3 (you'll need three in total, throughout the book)
  • A micro SD memory card (16 GB or greater) for each Raspberry Pi
  • A shielded box, to avoid electrostatic damage to your device
  • A laptop or PC running Windows 10, where you can insert the memory card
  • An Ethernet network cable, if you use Raspberry Pi 2 or lack Wi-Fi
  • An internet connection

The Raspberry Pi 2 or 3 will allow us to run .NET applications and control peripherals using digital input and output easily. It's also a great platform for creating connected distributed services. One of its weaknesses, however, is its lack of simple out-of-the-box analog interfaces. To do analog input and output, you must connect additional chips or equipment using either synchronous or asynchronous serial communication interfaces that converts analog signals to digital ones. To simplify this task, you can also use an Arduino board that you connect to the Raspberry Pi via USB. This has the added benefit of allowing you to use a wide range of standard Arduino peripherals and devices in your Raspberry Pi projects. So, you need to add to your list:

  • Arduino shield for Raspberry Pi B+/2B/3B
  • Short serial USB cable to connect the Arduino board to the Raspberry Pi
  • Analog Arduino-compatible light sensor
  • Digital motion detection PIR sensor
  • Digital relay module

Most of the above equipment (and more) can be obtained in so-called Starter Kits. Such starter kits make for great fun, since they often include a wide variety of sensors and actuators for you to play with. For examples, refer to


You can use the Arduino Uno board as well. The advantage of the Arduino shield for Raspberry Pi is that it mounts easier on top of the Raspberry Pi.

Downloading the IoT Dashboard

Installing Windows 10 on a Raspberry Pi is both free and very easy. Microsoft has developed a tool for this purpose: the IoT Dashboard. Apart from allowing you to download and install Windows 10 on your devices, it also helps you manage your devices in the network. It's a very handy tool, and does not require you to learn any command-line syntax:


Download and install the IoT Dashboard from the following link:

The IoT Dashboard is a Windows 10 app. Once running, you can choose to right-click on its icon and select Pin to taskbar, so that you can find it easier later.

If you don't want to use Windows 10, and want to use Linux instead, you can do so with the following modifications:


You can run .NET Core on Linux as well. For more information, see:

Installing Windows 10 on your Raspberry Pi

When you've installed and run the IoT Dashboard, a window appears:

  1. Select Set up a new device in the left-hand menu. This will open a simple form. Select your device (Raspberry Pi 2 & 3) and the OS you want to download and install (Windows 10 IoT Core).
  1. Also, insert the memory card into the computer and select the Drive letter it is assigned to. Other relevant information you need to provide include the Device name and an Administrator password:

Setting up a new device


Remember the password!

  1. If you have access to Wi-Fi (2.4 GHz), and are programming a device with access to Wi-Fi, make sure the correct Wi-Fi Network Connection is also assigned:

Configuring Wi-Fi connectivity

  1. Finally, accept the license agreement, and press the Download and install button:

Installing Windows 10

You need to confirm you really want to format the memory card, and install Windows 10 on it. All previous data on the card will be lost. The IoT Dashboard then goes on to download the operating system and preparing the memory chip for you, including configuring the device, according to the settings you provided. This process includes performing some command-line tasks, so you will see a terminal window appear temporarily.