Building a Home Security System with Raspberry Pi
()
About this ebook
About This Book
- This book guides you through building a complete home security system with Raspberry Pi and helps you remotely access it from a mobile device over the Internet
- It covers the fundamentals of interfacing sensors and cameras with the Raspberry Pi so that you can connect it to the outside world
- It follows a modular approach so that you can choose the modules and features you want for your customized home security system
Who This Book Is For
This book is for anyone who is interested in building a modular home security system from scratch using a Raspberry Pi board, basic electronics, sensors, and simple scripts. This book is ideal for enthusiastic novice programmers, electronics hobbyists, and engineering professionals. It would be great if you have some basic soldering skills in order to build some of the interface modules.
What You Will Learn
- Understand the concepts behind alarm systems and intrusion detection devices
- Connect sensors and devices to the on-board digital GPIO ports safely
- Monitor and control connected devices easily using Bash shell scripting
- Build an I/O port expander using the I2C bus and connect sensors and anti-tamper circuits
- Capture and store images using motion detectors and cameras
- Access and manage your system remotely from your mobile phone
- Receive intrusion alerts and images through your e-mail
- Build a sophisticated multi-zone alarm system
In Detail
The Raspberry Pi is a powerful low-cost credit-card-sized computer, which lends itself perfectly as the controller for a sophisticated home security system. Using the on-board interfaces available, the Raspberry Pi can be expanded to allow the connection of a virtually infinite number of security sensors and devices. The Raspberry Pi has the processing power and interfaces available to build a sophisticated home security system but at a fraction of the cost of commercially available systems.
Building a Home Security System with Raspberry Pi starts off by showing you the Raspberry Pi and how to set up the Linux-based operating system. It then guides you through connecting switch sensors and LEDs to the native GPIO connector safely, and how to access them using simple Bash scripts. As you dive further in, you’ll learn how to build an input/output expansion board using the I2C interface and power supply, allowing the connection of the large number of sensors needed for a typical home security setup.
In the later chapters of the book, we'll look at more sophisticated topics such as adding cameras, remotely accessing the system using your mobile phone, receiving intrusion alerts and images by e-mail, and more.
By the end of the book, you will be well-versed with the use of Raspberry Pi to power a home-based security system that sends message alerts whenever it is triggered and will be able to build a truly sophisticated and modular home security system. You will also gain a good understanding of Raspberry Pi's ecosystem and be able to write the functions required for a security system.
Style and approach
This easy-to-follow guide comprises a series of projects, where every chapter introduces a new concept and at the end of the book, all these concepts are brought together to create an entire home security system. This book features clear diagrams and code every step of the way.
Matthew Poole
Matthew Poole (1624-79), author of the famous Synopsis Criticorum Biblicum, was a seventeenth century ecclesiastical leader, nonconformist, apologist and minister in England. Poole is best remembered for his Synopsis in the scholarly Latin tongue, and his English language Annotations upon the Holy Bible.
Read more from Matthew Poole
Raspberry Pi for Secret Agents - Third Edition Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Amazing Projects from Scratch Rating: 0 out of 5 stars0 ratingsA Seasonable Apology for the Christian Religion Rating: 0 out of 5 stars0 ratings
Related to Building a Home Security System with Raspberry Pi
Related ebooks
Raspberry Pi Android Projects Rating: 0 out of 5 stars0 ratingsLearning Raspberry Pi Rating: 0 out of 5 stars0 ratingsRaspberry Pi Server Essentials Rating: 0 out of 5 stars0 ratingsLearning Raspbian Rating: 5 out of 5 stars5/5Getting Started with Raspberry Pi Zero Rating: 5 out of 5 stars5/5Raspberry Pi By Example Rating: 0 out of 5 stars0 ratingsRaspberry Pi Home Automation with Arduino - Second Edition Rating: 0 out of 5 stars0 ratingsBeagleBone Home Automation Blueprints Rating: 0 out of 5 stars0 ratingsBuilding Wireless Sensor Networks Using Arduino Rating: 4 out of 5 stars4/5Building Smart Homes with Raspberry Pi Zero Rating: 0 out of 5 stars0 ratingsRaspberry Pi Super Cluster Rating: 0 out of 5 stars0 ratingsNmap: Network Exploration and Security Auditing Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsKali Linux Wireless Penetration Testing Essentials Rating: 5 out of 5 stars5/5Arduino for Secret Agents Rating: 4 out of 5 stars4/5Applied Network Security Rating: 0 out of 5 stars0 ratingsRaspberry Pi LED Blueprints Rating: 0 out of 5 stars0 ratingsRaspberry Pi Cookbook for Python Programmers Rating: 0 out of 5 stars0 ratingsArduino Electronics Blueprints Rating: 4 out of 5 stars4/5Arduino Essentials Rating: 5 out of 5 stars5/5Arduino by Example Rating: 4 out of 5 stars4/5Raspberry Pi Robotic Blueprints Rating: 2 out of 5 stars2/5Learning BeagleBone Python Programming Rating: 0 out of 5 stars0 ratingsInternet of Things with Python Rating: 0 out of 5 stars0 ratingsArduino Networking Rating: 4 out of 5 stars4/5Kali Linux Network Scanning Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsRaspberry Pi Blueprints Rating: 0 out of 5 stars0 ratingsRaspberry Pi | 101 Rating: 0 out of 5 stars0 ratingsArduino Home Automation Projects Rating: 3 out of 5 stars3/5
Security For You
Tor and the Dark Art of Anonymity Rating: 5 out of 5 stars5/5Hacking For Dummies Rating: 4 out of 5 stars4/5Destination CISSP Rating: 3 out of 5 stars3/5CompTIA Security+ Study Guide: Exam SY0-601 Rating: 5 out of 5 stars5/5Practical Lock Picking: A Physical Penetration Tester's Training Guide Rating: 5 out of 5 stars5/5Cybersecurity All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsCybersecurity For Dummies Rating: 4 out of 5 stars4/5Cybersecurity: The Beginner's Guide: A comprehensive guide to getting started in cybersecurity Rating: 5 out of 5 stars5/5Wireless Hacking 101 Rating: 4 out of 5 stars4/5Ethical Hacking 101 - How to conduct professional pentestings in 21 days or less!: How to hack, #1 Rating: 5 out of 5 stars5/5Mike Meyers CompTIA Security+ Certification Passport, Sixth Edition (Exam SY0-601) Rating: 5 out of 5 stars5/5Hacking : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Ethical Hacking Rating: 5 out of 5 stars5/5Codes and Ciphers - A History of Cryptography Rating: 4 out of 5 stars4/5Make Your Smartphone 007 Smart Rating: 4 out of 5 stars4/5Remote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5How to Hack Like a Pornstar Rating: 5 out of 5 stars5/5Amazon Web Services (AWS) Interview Questions and Answers Rating: 5 out of 5 stars5/5Network+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5Handbook of Digital Forensics and Investigation Rating: 4 out of 5 stars4/5Mike Meyers' CompTIA Security+ Certification Guide, Third Edition (Exam SY0-601) Rating: 5 out of 5 stars5/5Ultimate Guide for Being Anonymous: Hacking the Planet, #4 Rating: 5 out of 5 stars5/5The Hacker Crackdown: Law and Disorder on the Electronic Frontier Rating: 4 out of 5 stars4/5The Art of Intrusion: The Real Stories Behind the Exploits of Hackers, Intruders and Deceivers Rating: 4 out of 5 stars4/5The Cyber Attack Survival Manual: Tools for Surviving Everything from Identity Theft to the Digital Apocalypse Rating: 0 out of 5 stars0 ratingsHow to Become Anonymous, Secure and Free Online Rating: 5 out of 5 stars5/5
Reviews for Building a Home Security System with Raspberry Pi
0 ratings0 reviews
Book preview
Building a Home Security System with Raspberry Pi - Matthew Poole
Table of Contents
Building a Home Security System with Raspberry Pi
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Setting Up Your Raspberry Pi
Which flavor of Pi?
Raspberry Pi Model A
Raspberry Pi Model B
Raspberry Pi Model B+ and Model 2
Model comparison table
So which one?
Preparing the SD card
Downloading the Raspbian image
Using Microsoft Windows
Using Linux
Booting your Pi
Expanding the file system
Using the raspi-config utility
Setting up your Pi
Getting up to date
Getting the right time
fake-hwclock
ntp
Talking of security…
What is this sudo thing anyway?
Connecting via Wi-Fi
Summary
2. Connecting Things to Your Pi with GPIO
Prerequisites
Say hello to the GPIO
Digital I/O pins
The I2C bus
The SPI bus
The UART serial bus
USB ports
Power connections
Getting acquainted with the GPIO
Let there be light
Getting flashy…
Adding a switch
Pulling yourself together
The detection script
The most elaborate light switch in the world
The illuminating script
Summary
3. Extending Your Pi to Connect More Things
Prerequisites
The I2C bus
Just 2 wires
What's your address?
There is a parallel universe
Serial-to-parallel conversion
Give me power
Building an I2C expander
The I2C port expander circuit
Let's walk through the circuit
Building your expansion board
Using ready-made expansion boards
Hobbytronics MCP23017 expander port kit
PiFace Digital I/O expansion board
Gertboard
Summary
4. Adding a Magnetic Contact Sensor
Prerequisites
The working of magnetic contact sensors
Setting up the I2C port expander
Enabling the I2C Bus
Installing the I2C tools package
Finding our devices
Setting up the port expander
Connecting our magnetic contact sensor
Monitoring the sensor
Anti-tamper circuits
Getting into the zone
Summary
5. Adding a Passive Infrared Motion Sensor
Prerequisites
Passive infrared sensors explained
Setting up your PIR sensor
Give me power (again)
Connecting our PIR motion sensor
12V alarm zone circuits
Alarm circuit protection
How it works
Wireless PIR motion sensors
433-MHz wireless alarm systems
Connecting a 433-MHz receiver
The alternative approach (because we have no choice)
The receiver wiring diagram
Logging detection data
Summary
6. Adding Cameras to Our Security System
Prerequisites
The Raspberry Pi camera module
Connecting the camera module
Setting up the camera module
Testing the camera module
Be a video star
Caught on camera
You have new mail
Setting up the e-mail sender client
Sending attachments
Where was that taken?
Night vision
An illuminating experience
The Elaborate light switch re-visited
Is that a badger?
Using USB cameras
Installing the webcam
Taking a snap
Snap snap snap
The multicamera setup
The Slave driver
Summary
7. Building a Web-Based Control Panel
Installing the web server
Testing the PHP5 installation
Being in control
Arming yourself
The master configuration file
Creating the web page
The control panel HTML template
Giving it some style
Making it dynamic
Getting a bit of help first
The main PHP code
I'm someone else
Remote access to our control panel
Setting up a dynamic DNS account
The Raspberry Pi dynamic DNS client
Setting up a static IP on your Raspberry Pi
Port-forwarding
Summary
8. A Miscellany of Things
Arming and disarming the system
Driving inductive loads
Beyond intrusion
A simple water detector
How it works
A simple temperature sensor
How it works
A carbon monoxide detector
Remote administration for our Raspberry Pi
Getting Webmin
Updating the repository sources
Importing the signing key
Accessing Webmin locally
Remotely accessing Webmin
Summary
9. Putting It All Together
Alarm system diagram
Overview of the system elements
A +12V power supply
A +3.3V power supply
The opto-isolator input module
The port expander
An arm/disarm switch
Alarm outputs
Designing the control scripts
Building the control script
Exploring the script code
Declarations
Updating config settings
Setting up the GPIO
Setting up the I2C port expander
Decoding the zone inputs status
Initialization
The system monitoring loop
Arming the system
Monitoring the zones
Entry delay
Sounding the main alarm
Disarming and resetting the system
We're done (almost)…
Automatically starting the system
Preserving the SD card
Creating a RAM-based file system
Conclusion
Tips for building systems
Summary
Index
Building a Home Security System with Raspberry Pi
Building a Home Security System with Raspberry Pi
Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2015
Production reference: 1161215
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78217-527-8
www.packtpub.com
Credits
Author
Matthew Poole
Reviewers
Lihang Li
Cédric Verstraeten
Commissioning Editor
Edward Bowkett
Acquisition Editors
Vivek Anantharaman
Vinay Argekar
Content Development Editor
Sumeet Sawant
Technical Editor
Namrata Patil
Copy Editor
Angad Singh
Project Coordinator
Shweta H. Birwatkar
Proofreader
Safis Editing
Indexer
Rekha Nair
Production Coordinator
Manu Joseph
Cover Work
Manu Joseph
About the Author
Matthew Poole is a systems engineer based near Southampton on the south coast of England with over 20 years of industry experience. After graduating in electronics and communications engineering, he went on to train as and to become an air traffic engineer for the UK Civil Aviation Authority, working on microprocessor-based control and communications systems.
Later, he became a software architect and mobile technology specialist, and worked for several consultancies and global organizations. He is now a partner at UK Mobile Media, a boutique systems consultancy focused on designing Bluetooth and other wireless systems, taking ideas from concept to prototype. He is also the director of technology for Mobile Onboard, a leading UK-based transport technology company that specializes in on-bus connectivity and mobile ticketing.
About the Reviewers
Lihang Li received his MS degree in computer vision from National Laboratory of Pattern Recognition(NLPR) at Institute of Automation of the Chinese Academy of Sciences (CAS). His interests include Linux, open source, cloud computing, virtualization, computer vision algorithms, machine learning and data mining, and a variety of programming languages.
You can find him at his personal website at http://hustcalm.me.
It has been a great opportunity being a part of this book. I have always been a fan of embedded devices and systems. Thanks go to our author and coordinator. Hope the readers will find this book helpful.
Cédric Verstraeten has an MSc in engineering and is primarily active in the C++ community. He works as a software engineer and is a huge open source enthusiast. He spends most of his time on side projects. He's the founder of Kerberos.io, an open source video surveillance system built for the Raspberry Pi, and is the organizer of the Raspberry Pi Belgium meetup group.
I would like to thank Packt Publishing for making me a reviewer of this book. I really think their books can give people an in-depth overview of a particular topic.
www.PacktPub.com
Support files, eBooks, discount offers, and more
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
Preface
The Raspberry Pi is a powerful, low-cost, credit-card sized computer, which lends itself perfectly as the controller of a sophisticated home security system. Using the available on-board interfaces, the Raspberry Pi can be expanded to allow the connection of a virtually infinite number of security sensors and devices. The Raspberry Pi has the processing power and interfaces available to build a sophisticated home security system but at a fraction of the cost of commercially available systems.
Building a Home Security System with Raspberry Pi starts off by showing you the Raspberry Pi and how to set up the Linux-based operating system. The book then guides you through connecting switch sensors and LEDs to the native GPIO connector safely, and it also shows you how to access these using simple Bash scripts. As you dive further in, you'll learn how to build an input/output expansion board using the I2C interface and power supply, allowing the connection of the large number of sensors needed for a typical home security setup.
The book features clear diagrams and code listing every step of the way to allow you to build a truly sophisticated and modular home security system.
What this book covers
Chapter 1, Setting Up Your Raspberry Pi, starts out by taking our Raspberry Pi out of its box and preparing it for being the centerpiece of our home security system. Along the way, we will install and set up the operating system, connect our Pi to the network, and access it remotely. We'll also secure our Pi and make sure it can keep the right time.
Chapter 2, Connecting Things to Your Pi with GPIO, explores the GPIO port and the various interfaces it features. We'll look at the various things we can connect to the Raspberry Pi using the GPIO including switches and sensors as we start to build our home security system.
Chapter 3, Extending Your Pi to Connect More Things, looks at ways of expanding the number of things we can connect to our Raspberry Pi, overcoming the limitation of having just the eight digital pins available to us on the GPIO by tapping into other interfaces on the GPIO and building our own input/output expansion board.
Chapter 4, Adding a Magnetic Contact Sensor, starts to actually connect things to our home security system, such as magnetic sensors and other types of contact devices. You will learn how to program our I2C expansion port using Bash scripts so that we can read the state of our sensors and switch on warning LEDs. We'll also start to develop the control scripts for our system that will allow us to arm and disarm the system and add delay timers.
Chapter 5, Adding a Passive Infrared Motion Sensor, looks at passive infra-red motion detectors, how they work, and how