Book Image

BeagleBone Home Automation Blueprints

By : Rodolfo Giometti
Book Image

BeagleBone Home Automation Blueprints

By: Rodolfo Giometti

Overview of this book

BeagleBone is a microboard PC that runs Linux. It can connect to the Internet and can run OSes such as Android and Ubuntu. BeagleBone is used for a variety of different purposes and projects, from simple projects such as building a thermostat to more advanced ones such as home security systems. Packed with real-world examples, this book will provide you with examples of how to connect several sensors and an actuator to the BeagleBone Black. You’ll learn how to give access to them, in order to realize simple-to-complex monitoring and controlling systems that will help you take control of the house. You will also find software examples of implementing web interfaces using the classical PHP/HTML pair with JavaScript, using complex APIs to interact with a Google Docs account, WhatsApp, or Facebook. This guide is an invaluable tutorial if you are planning to use a BeagleBone Black in a home automation project.
Table of Contents (18 chapters)
BeagleBone Home Automation Blueprints
About the Author
About the Reviewers

Setting up the software

In this project, the software is really simple, since we just need a procedure that periodically reads the distance and then turn on and off the LEDs accordingly; however, some issues must be pointed out, especially about how to manage the LEDs and the differences between the two setups of the ultrasonic sensor.

Managing the LEDs

Despite of what was presented in the previous chapter about the GPIO's management, it's important to point out that the Linux kernel has several kinds of devices, each one dedicated to a well-defined usage, and one of these special devices are the led devices, which is a particular type of devices that can be used to manage an LED with different triggers. A trigger is a sort of manager of the LED that can be programmed to work in a specific manner. Ok, it's better doing an example instead of trying to explain it!

First of all, we have to define the led devices by using a dedicated device tree as reported in the chapter_02/BB-LEDS-C2-00A0.dts...