Coder Social home page Coder Social logo

hsec's Introduction

Description

Home security project. Raspberry Pi using MCP23017 and GPIO with interrupts. Currently re-writing from Python into Clojure.

The vision is to have an easy to maintain, home security system with no service fees. Maybe not super practical, but a fun exercise. Also, super-useful when done.

The Hardware (humble beginnings...)

Overview

Here's an overview shot in an amazing cardboard case... Raspberry Pi with MCP21017

Port Expander sub-module

Schematic and board exports for just the port expander module. There's a connector for 3.3V, GND, I2C and interrupt wires. These will connect to the appropriate RPi pins. Port Expander Schematic

I drew the blue "bottom" traces with the intent that I would use the through-hole, bare-wire leads to make those connections. The red "top" traces will be on the bottom too but with insulated wire to cross the bare, blue wires. J1 through J4 have extra room around them so that you can use any screw terminals. JP1 is a shrouded and keyed connector to prevent misconfiguration, but I left pin 10 free in case it got plugged in backwards somehow (don't want power applied to an unsuspecting pin).

Port Expander Board

Installed

Now installed in a case with sensors fed to the port expander. Installed

Technology

  • Raspberry Pi because it's small, low power, and runs linux so I don't have to re-invent the wheel on a microcontroller.
  • Clojure because it's more expressive
  • MCP23017 because it's a cheap port expander and there are examples
  • i2c bus for IC to IC communication because there are examples
  • smbus standard over i2c because there are examples

Components

  • sensor - notice sensor events and send to state
  • state - receive sensor and control events (e.g. "arm the system"), update state and send changes to alert
  • alert - route state changes through all the appropriate channels (e.g. iCloud, house klaxon)
  • webui - web app for control (e.g. arm/disarm)

How To Use

coming soon...

hsec's People

Contributors

dareno avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.