Description
This book provides practical projects that you can construct and then experiment with, utilizing the Internet to either receive data from or issue control commands to devices. The term "Internet of Things" (IoT) was coined by Kevin Ashton in 1999 when he was working at MIT's Media Center. Ashton intended it to describe the idea of computers and machines equipped with sensors that connect to the Internet to report their status and accept control commands. In reality, IoT has been in existence for quite some time, although it was previously unnamed. Machine-to-machine (M2M) communication has been around for many decades, frequently employing dedicated networks that eventually converged onto the Internet. IoT is also known by other names such as Ubiquitous Computing and the Internet of Everything. Regardless of the label, IoT is here to stay and is gradually influencing more individuals in their daily lives as time passes. In Chapter 2 of the book, the author explains how to build and access a home temperature measurement system remotely, using the LAMP framework and analog-to-digital conversion appropriate for the Pi. The system is controlled by a Python program and the data is accessible through a web page. Chapter 3 provides an introduction to object-oriented programming using Java, which helps understand the program presented in Chapter 4. Chapter 4 applies the principles and concepts discussed in Chapter 3 and constructs a home weather station using the Pi as a controller. Chapter 5 covers three projects that demonstrate how to implement remote video viewing using a webcam and the Pi camera. Chapter 6 introduces the Arduino board, and its features are briefly discussed. The demonstration project in this chapter is a garage door opener, which may be controlled via a web browser or smartphone. Chapter 7 covers an Arduino-controlled home irrigation system, and Chapter 8 focuses on the remote activation of lights or other devices. Chapter 9 introduces the BeagleBone Black (BBB) boards, compares them to the Raspberry Pi, and demonstrates a simple project that displays a line of text on an LCD sent from a web browser. Chapter 10 explains how to connect the BBB to a cloud service, streaming real-time data to a cloud-based service named Xively.