Book Description
The world of home automation is an exciting ield that has exploded over the past few years with many new technologies in both the commercial and open source worlds. This book provides a gateway for those interested in learning more about the topic and building their own projects.
With the introduction of the Raspberry Pi computer in 2012, a small and powerful tool is now available to the home automation enthusiast, programmer, and electronic hobbyist that allows them to augment their home with sensors and software.
Combining the Raspberry Pi with the power of the open source Arduino platform, this book will walk you through several projects for building electronic sensors and introduce you to software that will record this data for later use.
What this book covers
Chapter 1, An Introduction to the Raspberry Pi, Arduino, and Home Automation, introduces you to the technologies used in this book and provides a background to the world of home automation.
Chapter 2,
Getting Started Part 1 – Setting up Your Raspberry Pi, teaches you about the Raspberry Pi and how to set it up, ready to use on your projects.
Chapter 3,
Getting Started Part 2 – Setting up Your Raspberry Pi to Arduino Bridge Shield, provides you with a guide to setting up your Raspberry Pi to Arduino bridge shield and downloading the necessary libraries.
Chapter 4, Our First Project – A Basic Thermometer, helps you to build a thermometer and introduces you to a variety of electronic components.
Chapter 5,
From Thermometer to Thermostat – Building upon Our First Project, expands upon our Thermometer project, turning it into a working thermostat that can switch relays on and off.
Chapter 6, Temperature Storage – Setting up a Database to Store Your Results, explores storing data output from your Thermostat, and then accessing it via a web browser.
Chapter 7, Curtain Automation – Open and Close the Curtains Based on the Ambient Light, teaches you how to integrate motors into your projects for opening and closing blinds and curtains, using the skills learned in previous chapters.
Chapter 8, Wrapping up, provides an overview of other technologies you can use in your project and a look towards the future of home automation.
Appendix, References, lists a collection of links pointing you towards the resources used in this book and other interesting information.
About the Author
Andrew K. Dennis is an R&D software developer at Prometheus Research. Prometheus Research is a leading provider of integrated data management for research and is the home of HTSQL, an open source navigational query language for RDMS.
Andrew has a Diploma in Computing, a BS in Software Engineering, and is currently studying for a second BS in Creative Computing in his spare time.
He has over 10 years experience working in the software industry in the UK, Canada, and the USA. This experience includes e-learning courseware development, custom CMS and LMS development, SCORM consultancy, web development in a variety of languages, open source application development, blogging about the integration of web technologies with electronics for home automation, and punching lots of Cat5 cables.
His interests include web development, e-learning, 3D printing, Linux, the Raspberry Pi and Arduino, open source projects, home automation and the use of web technology in this sphere, amateur electronics, home networking, and software engineering.
Download Link for Free E-Book:
Raspberry Pi Home Automation with Arduino Free E-book
Table of Contents
Chapter 1: An Introduction to the Raspberry Pi, Arduino, and Home Automation
What we will explore in this book
History and background of the Raspberry Pi
Raspberry Pi hardware speciications
Dimensions
3.5mm analog audio jack
Composite RCA port
Two USB 2.0 ports plus one micro USB
HDMI port
SD card port
256 MB/512 MB SDRAM shared with GPU
CPU
GPU
Ethernet port
GPIO pins
History and background of Arduino
Raspberry Pi to Arduino shield connection bridge
Shield speciications
XBee socket
Power source selector
UART 14 Digital GPIO pins
Serial Peripheral Interface (SPI) pins
In Circuit Serial Programmer (ICSP) connector
Power pins
Analog inputs
Raspberry Pi GPIO connector
Soldering
Writing software for the Arduino
What home automation is
A history of home automation
X10 – a standard is born
The dot.com boom and open source – a new set of technologies
Commercial products
Arrival of the Raspberry Pi
Summary
[divide style=”3″]
Chapter 2: Getting Started Part 1 – Setting up Your Raspberry Pi
The SD card – our Raspberry Pi's storage device
Pre-installed SD card versus a blank one
Setting up the SD card
Formatting our card
Formatting instructions for Windows 7
Formatting instructions for Mac OS X
Formatting instructions for Linux
BerryBoot – our tool for installing an operating system
Downloading the BerryBoot zip
Windows
Mac
Linux
Hooking up the Raspberry Pi
Downloading the right operating system
Installing Raspbian
Installation complete
Windows users
Mac and Linux users
Summary
[divide style=”3″]
Chapter 3: Getting Started Part 2 – Setting up Your Raspberry Pi to Arduino Bridge Shield
Raspberry Pi to Arduino bridge shield
Checking which version of the Raspberry Pi we have
Setting up the Raspberry Pi to Arduino shield and LED
Installing the software
The Arduino IDE
A quick look at the language
arduPi – a library for our Raspberry Pi and Arduino shield
Installing arduPi
Leafpad – a text editor
Blinking LED application
A guide to the code
Compiling and running our application
Summary
[divide style=”3″]
Chapter 4: Our First Project – A Basic Thermometer
Building a thermometer
Setting up our hardware
An introduction to resistors
Thermistor
10K Ohm resistor
Wires
Breadboard
Connecting our components
Software for our thermometer
Geany IDE
Installing the IDE
An introduction to Makeiles
Thermometer code
Writing our application
Compiling and testing
What if it doesn't work
Up and running
Summary
[divide style=”3″]
Chapter 5: From Thermometer to Thermostat – Building upon Our First Project
Safety first
Introducing the thermostat
Setting up our hardware
Relays
Connecting the relay
Setting up our software
A program to test the relay
Installing screen
cURL
Thermostat code
Testing our thermostat and fan
Attaching the fan
Starting your thermostat application
Debugging problems
Summary
[divide style=”3″]
Chapter 6: Temperature Storage – Setting up a Database to Store Your Results
SQLite
Installing SQLite Version 3.x
Creating a database
A table to record our temperature
A table to record our rooms
Writing some SQL
Apache web server
Setting up a basic web server
WSGI
Setting up WSGI
Creating a Python application to write to our database
Conclusion
HTSQL
Download HTSQL
Coniguring HTSQL
Testing our Arduino shield with our database
Summary
[divide style=”3″]
Chapter 7: Curtain Automation – Open and Close the Curtains Based on the Ambient Light
Photoresistors
Motor shield and motors
Setting up the photoresistor
Wiring up the components
Testing the photoresistor with software
Debug
Setting up the motor shield
Wiring up the components
Curtain control application
Pulse Width Modulation
Threads
Writing our code
Debugging problems
Connecting to your blinds/curtains
Setting the timing
Attaching the hardware
Debugging problems
Summary
[divide style=”3″]
Chapter 8: Wrapping up
A brief review of what we have learned
Next steps
Prototyping Pi Plate
The wiringPi library
The Gertboard
Introduction to the Gertboard components
GPIO PCB expansion board
GPIO Pins
Motor controller
Open collector driver
Buffered I/O
Atmel ATmeg chip microcontroller
Convertors – analog to digital and digital to analog
Writing software for the Gertboard
Ideas for next step projects
Expanding the curtain automation tool to include temperature sensing
Changing the motor on the curtain automation project to a stepper motor
Switching lights on with a photoresistor
Holiday lights from LEDs
The future of home automation
3D printing
RFID chips
EEG headsets
Summary
[divide style=”3″]
Appendix: References
Raspberry Pi
Raspberry Pi to Arduino bridge shield
Linux
Python
C/C++
Arduino
SQL
HTSQL
Apache
Electronics
Packt Publishing titles
Home automation technology
3D printing
EEG headsets
Miscellaneous resources
Index