Marvin is a character for your home that enhances your life.
Go JavaScript CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
actions
activity
ambientlight
conf
daylights
hue
images
js
less
lightstates
motion
nightlights
nog
nouns
persist
presence
schedule
templates
.gitignore
.travis.yml
Gruntfile.js
LICENSE
README.md
bower.json
marvin.go
package.json
web.go

README.md

Marvin

Marvin is a character for your home that enhances your life. Marvin is software that runs on a beaglebone along with a cape that contains a number of added sensors (available upon request).

This github repository contains Marvin's software. Marvin currently has the following abilities:

  • to interact via a web interface
  • to control hue light bulbs
  • to detect motion via its motion sensor
    • turn on nightlights upon sensing motion when in sleep mode
    • track history of motion
  • to detect ambient light levels via its light sensor
    • turn on lights when it gets dark if in awake mode
  • to track and key off of activity
    • sleeping causes Marvin to turn off ligths and turn on motion triggered nightlights
    • waking causes Marvin to slowly fade on lights (AKA sunrise)
  • to schedule lighting or activity transitions for different times of the day and week
  • to turn on and off various behaviours
    • nightlights switch for turning off motion triggered nightlights
    • schedule switch for turning off schedule
  • to detect presence

Components

  • marvin - program containing the server daemon
  • marvin/nog - package containing the message center

Install Build Status node dev deps

get ubuntu

If you are installing Marvin on your BeagleBone we are using 13.10 via rcn-ee.net.

install from package

sudo apt-add-repository http://nogiushi.com/ubuntu
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8FDDF7F3B7904A2A

sudo apt-get update
sudo apt-get install marvin

install build tools

sudo apt-get install gcc g++ make mercurial

install latest golang

Marvin is written in Go so you will need a Go environment to build and install it. You will probably want to put the GOPATH and GOROOT environment variables in your ~/.profile.

hg clone -u release https://code.google.com/p/go
sudo mv go /opt/go
cd /opt/go
./all.bash
export GOPATH=$HOME
export GOROOT=/opt/go

install latest nodejs

Marvin's needs a nodejs environment for managing external javascript and css dependencies using Bower.

wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz
tar xvfz node-v0.10.33.tar.gz
cd node-v0.10.33
./configure --without-snapshot
sudo make install

install grunt and bower

sudo npm install -g grunt-cli
sudo npm install -g bower

install marvin

go get -v -u github.com/nogiushi/marvin
cd `go list -f '{{.Dir}}' github.com/nogiushi/marvin`
npm install
bower install
grunt
sudo cp -r ./dest/* /
sudo start marvin
# point browser at http://{your-hostname}/

Other Marvin channels

Marvin Magazine

Marvin