Hot news

The Internet of things: do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black Download PDF

Download The Internet of things: do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black PDF
The Internet of things: do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black PDF
Picture Of The Book :
The Internet of things do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black
The Internet of things: do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black Download PDF
About Of The Book :

The Internet of Things: Do-It-Yourself Projects with Arduino, Raspberry Pi, and BeagleBone Black is a book that provides an introduction to the Internet of Things (IoT) and guides the reader through various DIY projects using microcontroller development boards such as the Arduino, Raspberry Pi, and BeagleBone Black. The book covers a wide range of topics, including sensors, wireless communication, and data visualization, and provides detailed instructions and code examples for building IoT projects such as a weather station, a home automation system, and a remote-controlled robot. The book is intended for makers, hobbyists, and anyone interested in learning about the IoT and building their own IoT projects.
In Chapter 1, I present a high-level view of what constitutes the IoT. I also introduce the Raspberry Pi (Pi) board, which is the first one of the three development platforms used in the book’s projects. The LAMP framework is also introduced, which allows you to create a comprehensive data acquisition system that can not only take sensor measurements, but allows them to be stored in a relational database and later makes that data available via a web interface. I show you how to build and remotely access a home temperature measurement system in Chapter 2. This system uses the LAMP framework, which was introduced in Chapter 1, as its basis. Analog-to-digital conversion appropriate for the Pi is also discussed and demonstrated. A program written with Python controls the system to help simplify this project. Again, all the temperature system data is available via a web page. As a computer science/information technology instructor, I have found that many of my beginning students really do not have a good understanding of the nature of OO and why they should even have to learn it. Chapter 3 contains an introduction to objectoriented (OO) programming using the Java language, which should help you understand the program presented in Chapter 4. This chapter’s content will also help you gain more insight into what makes up OO and how to properly use it. Chapter 4 explores the principles and concepts discussed in the previous chapter, and applies them in the construction and operation of a home weather station, which uses the Pi as a controller. The Pi also is programmed using the Java language, which was just recently “ported” over to the Pi by the software developers at Oracle. The latest software Linux Wheezy distributions, which run on the Pi, all contain a fully functional Java runtime. I also discuss how to program the general-purpose input/output (GPIO) pins to implement the weather station interface. Programming this interface is only made possible by the use of a very clever Java library named Pi4J. Chapter 5 covers three projects involving a webcam and the Pi camera. The purpose of these projects is to demonstrate how to implement remote video viewing using the Pi as a controller. The first project uses a generic USB webcam along with a comprehensive Linux software suite named Motion. The Motion software package provides for literally a plug-and-play situation where the webcam video can be viewed in real time via a standard web browser in a matter of a few minutes; no soldering or construction required. The second chapter project uses the Raspberry Pi camera accessory with its standard driver software to again implement a remote video viewer. The last project in this series again uses the Pi camera, but this time I use the Motion software in lieu of the standard driver software. This demonstrates Motion’s flexibility and capability to interface to a variety of video devices. The next chapter introduces the Arduino board, which is the next development platform used in this book. I briefly discuss the Arduino board features, as I realize that most of my readers are already very familiar with its operation and probably have one or two in their workshop. This chapter’s demonstration project is a garage door opener, which may be actuated via a web browser. I also show you how to use a smartphone to control the garage door. In addition, some security in the form of a password is added to this project as you probably don’t want strangers operating your garage door. Chapter 7 covers an Arduino-controlled home irrigation system. This system builds on some of the concepts discussed in Chapter 6 for the garage door opener and also shows you how to incorporate a wireless sensor into the overall control scheme. This system allows a homeowner to remotely activate a specific irrigation zone using only a web browser. It also further expands the homeowner’s options by reporting the current soil moisture content via a web page so that the user can make a decision on whether or not to turn on an irrigation zone. Chapter 8 focuses on both remote activation of lights or other similar devices and the capability of locating these controlled devices anywhere in the home without using wires. Arduino boards are used in multiple locations for this project. Some boards control wireless XBee nodes, which allow for the flexible placement of lights within the home. Another Arduino board implements the main controller, which connects to the Internet to enable remote light activation via a web page. There is also a four-channel key fob RF device used in this system that allows a homeowner to quickly and directly activate up to four lights without the need to use the Internet. I next introduce the BeagleBone Black (BBB) boards in Chapter 9. This is the third and last development platform used in the book projects. This chapter’s project is a simple demonstration that displays only a line of text on an LCD, which has been sent from a web browser. The chapter focus is to discuss the BBB and compare it to the Raspberry Pi, which seems to be its principal “competitor.” The BBB used in this project used the same Debian, Wheezy, Linux distribution as was used in earlier Pi projects. This demonstrates that at least these two boards are more similar than different. The BBB does incorporate some features such as analog-to-digital conversion (ADC), which are not present in the Pi and must be externally added if needed. In addition, the BBB’s standard clock rate is 1 GHz while the Pi’s normal clock is set at 700 MHz. The Pi may be overclocked to approximately 1 GHz, if desired, but that does increase power consumption and heat generation. The Pi does run cooler and consumes less power than the BBB, which are important considerations for portable, battery-operated applications. Connecting the BBB to a cloud service is the chief topic in Chapter 10. I used the same temperature monitoring system, which was shown with the Pi in Chapter 2. However, in this project, the data is streamed real-time to a cloud-based service named Xively. In the Pi project, the data was stored in a local MySQL database. The BBB sensor data is streamed to Xively for storage and later retrieval as desired. Xively also provides several web interfaces that make it easy for users to both examine and manipulate sensor data as needed. The Xively developer version is free with unlimited data storage, which should suffice for most experimenters and hobbyists. The final chapter deals with machine-to-machine (M2M) communications, which happens when two or more fully automated computer systems interchange data without any human involvement. This chapter’s project uses the same temperature measurement system used in previous projects. Transferring data also requires a protocol to be used, which will ensure that data is successfully sent and received. This project uses the opensource MQTT protocol, which is an excellent, lightweight data protocol currently used by Facebook and several national wireless carriers for sending alert messages. This demonstration project uses a single channel BBB temperature measurement system to indirectly send data to a Pi system. The Pi system accesses the data from any one of a number of MQTT broker websites, which are freely available to handle MQTT message traffic.

Contents Of the Book :

1 Introduction to the Internet of Things
Raspberry Pi Platform
Raspberry Pi GPIO
Establishing a Raspberry Pi Development Station
Standalone Setup
Headless Setup
Setting Up the Raspberry Pi Software
Setting Up the Raspberry Pi OS Using an Image File
Updating and Upgrading the Raspbian Image
Headless Configuration
Headless Operation with Graphics
The LAMP Project
Apache Web Server and the PHP Scripting Language
MySQL Database Installation
Adding a New User to a MySQL Database
2 Home Temperature Monitoring System
Temperature Sensor Network
TMP36 Temperature Sensor
Analog to Digital Conversion
Serial Peripheral Interface
Connecting and Testing the MCP3008 with the Raspberry Pi
Initial Test
Multiple Sensor System
Multiple Sensor Software
Temperature Database
Python Database Connection
Inserting Data into a MySQL Database Using a Program
Database Access Using a Web Browser
Narrowing the Database Reports
3 Introduction to Object Orientation Programming (OOP) with Java
Java Software Development Kit (SDK)
The Sensor Abstract Class
Child Classes
Real-World Controls
Java Database Connector
Using the Java Connector in a Program
4 Home Weather Station
Java and GPIO
GPIO Pin Labeling
GPIO Pin Expansion
Pi4J Library
LED Blink Program
Weather Station Sensors
Sensor Wiring Connections
Weather Station Software
Java Software
Sensor Classes
Thermostatic Application
Setting the Thermostat Remotely
Database Classes
Remote Access to the HWS Database
5 Webcam and Raspberry Pi Camera Projects
Conventional Webcam
Motion Software Package
Motion Features
Motion Setup
Webcam Viewing
Raspberry Pi Camera
Raspberry Pi Camera Software
Using Python with the Raspberry Pi Camera
Remote Raspberry Pi Camera Viewing
Raspberry Pi Camera with Motion Software
6 Internet-Enabled, Arduino Powered Garage Door Opener
Arduino Hardware
Arduino Uno Development Board
Ethernet Shield Board
Arduino Uno Software
Testing the Ethernet Connection
Simplified Garage Door Opener
Actual Garage Door Opener
Modified LED Program to Open Garage Door
Visual Studio 2012 IDE
VS2012 LED Blink Program
Enhanced Garage Door Project
Testing the Enhanced Garage Door Opener
7 Arduino Irrigation Control System
Irrigation System Design
Irrigation Control Program
Irrigation System Physical Installation
Operating the New Irrigation System
Moisture Sensing Subsystem
XBee Technology
Soil Moisture Sensor
Actual System Operation
8 Arduino Lighting Controller
System Design
Controller Node
Ethernet Shield
Controller Node Case and Mounting Arrangement
XBee Receiver Node
PowerSwitch Tail II
System Software
Controller Node Program
XBee Receiver Node 1 Program
XBee Receiver Node 2 Program
Operational Test
9 BeagleBone Black Message Controller
Beagle Boards
BeagleBone Black
Connect to and Operate the BBB
Downloading, Installing, and Booting a New Linux Distribution
Setting Up the LCD Display
LCD Operational Test
Message Controller Software
Download and Install the Flask Package
Main Application
Test Results
10 BeagleBone Black with Cloud Service
Temperature Sensor
Adafruit_BBIO Library
Initial Test Program
Xively Cloud Service
Xively Developer’s Account
BBB to Xively Python Program
Xively Website with an Active Datastream
Adding Additional Data Channels
Additional TMP36 Sensors
Expanded xively-temp Program
Configuring Angstrom to Auto Start the Application
System Case
11 Machine-to-Machine (M2M) Communications
Paho and Eclipse.org
Quality of Service (QoS)
BBB MQTT Publisher Client
Adding MQTT Features to the Application
MQTT Brokers
MQTT Dashboard
Raspberry Pi Subscriber Client
MQTT Two-Phase Thermostat
Information Of The Book :

Title: The Internet of things: do-it-yourself projects with Arduino, Raspberry Pi, and BeagleBone Black Download PDF
Size: 22 Mb
Pages: 582
Year : 2015
Format: PDF
Language : English