Hardware Reference
In-Depth Information
Minerva
Minerva is a complete, easy-to-use home automation suite. Using Minerva you can make your home easier and
cheaper to run and can make it more secure. With Minerva you can switch on your lights from anywhere using a
mobile phone or PC, e-mail your video, check your security CCTV footage, control your central heating, and do much
more. It is the epitome of the modular design goals outlined in the introduction, and it's an example of how you can
bring all the technologies you've learned so far into a single unified whole.
Minerva runs on GNU/Linux (including the Raspberry Pi) but exists in its own mini-ecosystem, with its own list of
users, set of scripts, and functionality. It relies on native command-line tools to perform its many tasks and can therefore
be run from virtually any platform (smartphone, PDA, laptop, or remote PC) with identical functionality. It also relies
on the security model outlined earlier, where only a few users have access to the machine directly, expecting them to go
through alternate interfaces so that their user credentials can be controlled on a case-by-case basis.
There is a guide to the basic structure in Figure 7-1 .
Minerva Basic Control Diagram
Output conduits
Input conduits
Node0 - Conduit
Services
SMS
SMS
Node0 - Processing Services
Marple
Determine
which
machine
should
process the
command
Minerva Bearskin
(Command
abstraction layer)
Email
Email
Voice input
Twitter
Monexec
Web page
Infra-red
Logging services
Output software
X10 (e.g. SS13, HR10)
X10 (through CM11)
CD Player
Raspberry Pi
MP3 Playback
IR commands to TV
Mini ITX
Figure 7-1. Minerva Block Diagram
Overview
The Minerva system isn't really a collection of software. It's more akin to a bundle of protocols, each giving a unified
interface to other programs and scripts in the system. This allows each script to abstract the tools underneath it so
that if, for example, heyu becomes unable to support the necessary features or needs to be replaced, then only the
X10 control script needs to be replaced—and none of the code that uses it. Similarly, as it is possible to replace, or
supplement, X10 with the other systems outlined in Chapter 1 there is a further layer of abstraction so that alternate
methods can be used, should the need arise.
Search WWH ::




Custom Search