O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Home Automation with Intel Galileo

Book Description

Create thrilling and intricate home automation projects using Intel Galileo

In Detail

This book provides you with a rapid introduction to Intel Galileo and home automation. You will start by setting up the Intel Galileo Board and its software development environment and learning cross-platform software programming using C and Linux. It then walks you through the home automation concept and provides insights about existing sensors and devices to use with Intel Galileo and explains how to use them in your own home. You will also create applications for energy management with electrical and environmental sensors and safeguard your homes using monitoring and surveillance concepts. Finally, you will learn to add advanced features to your home automation applications such as web interfaces to control devices, connecting with smartphones, and adding a microphone to add voice control features.

All in all, this book is a practical guide to learn about Intel Galileo and experience the joy of building full-fledged projects for home automation.

What You Will Learn

  • Set up a software development environment for cross-platform software programming
  • Employ Yocto Project basics to create custom Linux images for Intel Galileo Development Board
  • Develop applications on the Eclipse IDE and deploy them on the Linux operating system
  • Construct applications with external devices and sensors on Linux and Intel Galileo using standard and third-party Linux libraries
  • Explore home automation concepts, energy management and security, and related protocols and open source projects.
  • Familiarize yourself with inter-process communication by using Linux network sockets and named pipes
  • Design and build applications to serve data with Intel Galileo to turn Intel Galileo into a home gateway or hub with help from Node.js

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Home Automation with Intel Galileo
    1. Table of Contents
    2. Home Automation with Intel Galileo
    3. Credits
    4. About the Author
    5. Acknowledgements
    6. About the Reviewers
    7. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    9. 1. Getting Started with Intel Galileo
      1. Introducing Intel Galileo
      2. Using Intel Galileo for home automation
      3. Intel Galileo – hardware specifications
      4. Intel Galileo – software specifications
      5. Connecting and booting Intel Galileo
        1. Connecting to Intel Galileo via Telnet
      6. Building a Linux image for Intel Galileo with the Yocto Project
        1. Building Linux filesystems for Intel Galileo
        2. Preparing the SD card to boot
          1. Upgrading firmware on Intel Galileo
        3. Building the Intel Galileo SDK
      7. Setting up a development environment for Intel Galileo
        1. Setting up a development environment for Linux
          1. Building applications on the Linux Terminal
        2. Setting up an environment to work with the Eclipse IDE
          1. Configuring the Eclipse IDE for the Yocto Project
          2. Installing the Yocto Project's Eclipse plugin
          3. Configuring the Yocto Project's plugin for cross compilation
          4. Configuring the Eclipse IDE for remote debugging
          5. Creating a sample C project in the Eclipse IDE
      8. Summary
    10. 2. Getting Started with Home Automation Applications
      1. Introducing home automation
      2. An overview of home automation technologies
        1. Delving into home automation protocols
          1. X10
          2. Insteon
          3. EnOcean
          4. Z-Wave
          5. ZigBee
        2. Introducing a home automation software ecosystem
          1. LinuxMCE
          2. OpenRemote
          3. OpenZWave
          4. Other software projects
        3. Home automation devices, sensors, and controllers
      3. Designing a home automation project with Intel Galileo
      4. Summary
    11. 3. Energy Management with Environmental and Electrical Sensors
      1. Delving into energy management
      2. Developing sensor-based applications with Intel Galileo
        1. Understanding the working of a sensor from the datasheet
        2. Connecting our sensor to Intel Galileo
        3. Starting application development with C
      3. Energy management with remote switches
        1. Building kernel modules for Intel Galileo
        2. Serial communication on Linux
        3. Controlling a remote wall plug from Intel Galileo
      4. Summary
    12. 4. Energy Management with Light Sensors and Extending Use Cases
      1. Using light sensors
      2. Smart light bulbs
        1. Using Philips Hue with Intel Galileo
      3. Extending a home automation system with lighting control
        1. Continuing to home automation application development
        2. Understanding Z-Wave commands
        3. Handling Z-Wave messages from Intel Galileo
        4. Reading the status of remote devices from Intel Galileo
        5. Switching the lamp holder on/off with Intel Galileo
        6. Handling incoming messages
      4. Summary
    13. 5. Home Monitoring with Common Security Sensors
      1. Security sensors with Intel Galileo
        1. PIR motion sensors
        2. Magnetic sensors
        3. Gas sensors
        4. Using gas sensors with Intel Galileo
      2. Security devices for home automation
        1. Motion, window, and door lock sensors
        2. Smoke and flood detectors
      3. Adding security features to the Smart Home application
        1. Motion detection
        2. Door/window sensor detection
        3. Flood detection
      4. Wrapping up the message parsing system
      5. Summary
    14. 6. Home Surveillance and Extending Security Use Cases
      1. Introducing network cameras
      2. Using cameras with Intel Galileo
        1. Building OpenCV and V4L2 for Intel Galileo
        2. Introducing OpenCV
          1. highgui – high-level GUI and media I/O
        3. Capturing images from a camera with Intel Galileo
        4. Saving a video from a camera with Intel Galileo
        5. Streaming a video from Intel Galileo
      3. Adding new use cases
        1. Adding new rules
      4. Summary
    15. 7. Building Applications and Customizing Linux for Home Automation
      1. Customizing Linux with the Yocto Project
        1. Adding a new application to Yocto Project
      2. Adding new features to the application
        1. Using named pipes
          1. Using named pipes in the application
        2. Network sockets
      3. Summary
    16. 8. Extending Use Cases
      1. Introducing Node.js
        1. Using Node.js with Intel Galileo
        2. Developing a home automation server
        3. Use cases with Node.js
      2. Introducing Android
        1. Developing an Android application for home automation
        2. There's more in Android
      3. Adding voice control to home automation
        1. Voice control with Android
        2. Voice recognition with Intel Galileo
      4. Summary
    17. Index