Ideas - dsebastien/openSourceAlarm GitHub Wiki

Kixounet's ideas

Links to check

  • Projet open source interessant pour puiser des idées : http://jeedom.fr (Merci à Jean B...) pour ces conseils

Almex's ideas

Low-cost security camera

Power Over Ethernet

  • Via a PoE splitter : simple but not well integrated example1
  • Via a homemade board : cheap but not well integrated example1
  • Via a dedicated board : expensive but well integrated Xtronix Adapter PCB +/-70€ NoName +/- 60€

NovoSIP

Seb's ideas

General idea

Either a system focused on security or a general purpose home automation system. Depending on the chosen architecture, both might not be incompatible.

Architecture

  • central system
    • manage all controllers (see below)
    • manage the configuration of the whole system
    • manage the orchestration & automation (i.e., the smart stuff :p)
    • run a Web server
    • expose its features through a Restful API
      • expose all system features
      • allow development of different clients (e.g., Web, Android, ...)
    • expose its features through a Web-based UI
  • stand-alone controllers (wired or wireless)
    • announces itself to the central system on startup
      • for example: state version, supported features, list connected sensors/actuators, state battery status, ...
    • monitor/control 1-n sensors/actuators
    • alert the central system (e.g., state change, low battery, ...)
    • respond to the central system requests (e.g., current state, battery state, ...)
  • stand-alone gateway
    • act as.. gateway between the central system and the stand-alone controllers
    • bonds the wireless & wired (IP) networks together
    • should cost as little as possible given the limited role in the overall system
    • Example: Arduino with an ethernet shield or something cheaper like http://www.ebay.com/itm/360821023697
  • plugin system
    • extend the capabilities of the central system (e.g., gsm module)
  • configurable notification system
    • different types: mail, sms, ...

General (high level) features

  • tag controllers and sensors/actuators (e.g., Front Door controller)
  • group controllers in zones and tag groups
  • define rules/actions/action sets for controllers, zones, groups of zones, ...
  • log history (events, gathered data, ...)

Hardware

Central system

Controllers

Software Back-end

For the main back-end, we could rely on OpenHAB: http://www.openhab.org/features.html

Communications

Gathering sensors/detectors state could be done using radio communications:

Zigbee (too much $$$)

RFM69HW

nRF24L01

Example data flow:

Uses MQTT and Mosquitto

To process the MQTT messages

Why NodeJS?

Why Java?

  • used to it
  • higher level
  • type safety
  • integration with OpenHab would be easier

Web UI to manage the system's configuration

  • initial system setup
  • secret code(s) update
  • sensors/actuators configuration (e.g., zones, detector names, ...)
  • alerts configuration (e.g., alert if ..)
  • timing (e.g., trigger alarm after x)
  • notifications per alert
  • restart the system
  • perform a system check (e.g., batteries status ...)
  • open/close the garage door
  • HTTPS

Parts list

Sites:

To buy by Seb:

Bought by Seb:

Central system

  • ...

Controller

Other

Controller identification

Each controller could be identified using a guid or serial number:

  • if no identifier is defined: request one from the central system
    • save it to the EEPROM when received
  • if an identifier is set, it is sent along with any data transmitted to the central system

The identifier can be stored in the EEPROM (at a predefined location) using the following API:

We should decouple a controller identifier from its controlled sensors/actuators; one being its identity and the other being the set of "devices" it controls.

Security

Wireless home automation & security systems are usually very weak security-wise. Often, no authentication/authorization is implemented, most of the security is just security by obscurity and, at best, there is a rolling code protecting the system.

Since IoT gaining more and more traction, protection systems are being studied. The idea of a home RF firewall seems interesting: http://www.jamesbrown.me.uk/publications/content/brown13b.pdf

We could imagine having a protection module, responsible for protecting the home network from outsiders :)

Documentation

Links to check

Laurent's ideas

Concernant la plateforme, moi ce que je ferais, c’est partir sur une board qui intègre à la fois un système linux embarqué et un arduino ou compatible à coté. Ca permet d’utiliser l’arduino pour interfacer l’alarme avec le monde extérieur (nombre de « zones » minimales à définir) via des entrées optocouplées évidemment…

La partie linux embarqué serait alors responsable de la communication au niveau IP, avec pourquoi pas une interface web, envoyer un mail etc.. bref de programmer une intelligence un peu plus complexe que ce que permettra l’arduino… Reste à définir si l’éventuel modem GSM/GPRS et/ou la sirène est geré par l’arduino ou pas.

La seule chose qui manque donc c’est un shield qui contiendra des borniers à vis pour faciliter le raccordement au capteurs et/ou sorties style alarme et des optocoupleurs pour protéger l’alarme contre les surtensions, les court jus, … En bref l’impitoyable monde extérieur ;-)

Sinon premier step, définir les features minimales et celles « ce serait vraiment cool d’avoir ça ».

Exemple de plateformes :

http://www.seeedstudio.com/depot/Intel-Edison-for-Arduino-Preorder-p-2149.html?cPath=6_7 http://www.seeedstudio.com/depot/86Duino-One-an-embedded-platform-based-on-Vortex86EX-SoC-p-1846.html?cPath=6_7

Celui là est vraiment pas mal : http://www.seeedstudio.com/depot/86Duino-EduCake-an-allinone-embedded-platform-based-on-Vortex86EX-SoC-p-1845.html?cPath=6_7