Home Tags The internet of things do-it-yourself projects with arduino raspberry pi and beaglebone black

Tag: the internet of things do-it-yourself projects with arduino raspberry pi and beaglebone black


Book Details :
Language English
Pages 582
Format PDF
Size 21.5 MB

The Internet of Things do-it-yourself Projects by Donald Norris

The Internet of Things do-it-yourself Projects with Arduino, Raspberry Pi, and Beaglebone Black by Donald Norris PDF Free Download

Author of The Internet of Things do-it-yourself Projects


Donald Norris has a degree in electrical engineering and an MBA with a specialization in production management. He is currently teaching both undergraduate and graduates IT courses at Southern New Hampshire University.

He has also created and taught several robotics courses there. He has over 30 years of teaching experience as an adjunct professor at a variety of colleges and universities.

Mr. Norris retired from civilian government service with the U.S. Navy, where he specialized in acoustics related to nuclear submarines and associated advanced digital signal processing.

Since then, he has spent more than 20 years as a professional software developer using C, C#, C++, Python, and Java, as well as 5 years as a certified IT security consultant.

The Internet of Things Contents

  • Introduction to the Internet of Things
  • Home Temperature Monitoring System
  • Introduction to Object Orientation Programming (OOP) with Java
  • Home Weather Station
  • Webcam and Raspberry Pi Camera Projects
  • Internet-Enabled, Arduino Powered Garage Door Opener
  • Arduino Irrigation Control System
  • Arduino Lighting Controller
  • BeagleBone Black Message Controller
  • BeagleBone Black with Cloud Service
  • Machine-to-Machine (M2M) Communications

Introduction to The Internet of Things do-it-yourself Projects

I suppose the genesis of this book was from a long-term interest in connecting computers to the Internet. Back in the early 1990s, I experimented with a variety of single-board computers that would connect, in a fashion, to the Internet and serve up relatively simple web pages.

They didn’t have the sophistication or capabilities of today’s single-board systems exemplified by the Raspberry Pi or the BeagleBone Blackboards.

But they worked and provided useful platforms to experiment using simple computing devices in lieu of full-scale PC-based servers or desktop clients.

Roll forward almost twenty years and there are now quite a few highly capable and functional systems, which can easily fulfill the promise of the “Internet of Things,” or IoT for short.

I describe the IoT in the first chapter in yet another attempt at defining a somewhat nebulous phrase, which truly means different things to different people.

I also took a somewhat different approach with this IoT book in that I used three separate platforms to implement the various demonstration projects.

My initial thought was to demonstrate how one platform could have strengths in one area while another would be better suited to another area. However, what I found was that the platforms had much more in common than they were different.

In fact, the Raspberry Pi and the BeagleBone Blackboards are just about identical from a software perspective. Let me now present a glimpse into what awaits you in this book. 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 object-oriented (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 activations 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.

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’s 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.

I hope these ten chapters open your desire to experiment and further explore this exciting and ever-expanding area.

BOOK CONTENT:
Introduction to the Internet of Things
Home Temperature Monitoring System
Introduction to Object Orientation Programming (OOP) with Java
Home Weather Station
Webcam and Raspberry Pi Camera Projects
Internet-Enabled, Arduino Powered Garage Door Opener
Arduino Irrigation Control System
Arduino Lighting Controller
BeagleBone Black Message Controller
BeagleBone Black with Cloud Service
Machine-to-Machine (M2M) Communications

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

Author(s): Norris, Donald

Publisher: McGraw-Hill Education TAB, Year: 2015

ISBN: 0-07-183520-2

Download The Internet of Things do-it-yourself Projects by Donald Norris PDF Free


Download