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 (13 chapters)
12
Index

Setting up the software


This time, we monitor (and possibly control) a very slow system (a growing plant). So, using a simple Bash script is more than appropriate, while the web interface can be implemented by using two little HTML (with JavaScript) and PHP scripts. The real difficulty, apart from getting access to the peripherals, is using the Facebook API in order to get access to an account.

Apropos the monitoring loop and the web interface, there is a major issue, that is, the Inter Process Communication (IPC) system to use in order to exchange data between them. In Chapter 1, Dangerous Gas Sensors, we mainly used a MySQL server to store the system's data and configuration settings. But we also used it to exchange data between the different tasks composing the system! However, this time, we have very few data to store and using a database may be very expensive. So, I decided to use a simple way to solve the problem: I'm going to use a file! Yes, by using a normal file with a well-defined...