/hueper

Primary LanguageJavaScriptOtherNOASSERTION

hueper

This software is part of a study project done by fairylands and kryops at DHBW Stuttgart in 2013/14.

It provides a Node.JS + MongoDB backend and a real-time cross-platform mobile web frontend for extended control and automation of the Philips Hue lights, intended for usage on a Raspberry Pi together with an Arduino. Its features include:

  • Most of the existing functions of the Hue Bridge (control of lights, groups, user administration, firmware update)
  • Save Favorite color settings
  • Scenes
  • Flexible scheduling and automation framework
  • Environment sensors provided by the Arduino
  • Control through RFID/NFC tags
  • Network device recognition
  • Speech recognition (online with Google Speech API or offline with Julius)
  • Party mode for time- and sound-controlled light changes
  • All functions controllable via Socket.IO or a REST API, real-time synchronization between clients

Licensed under the Apache License. The complete documentation is available in the docs folder (German only!).

Installation

Complete hardware list in docs/planung/hardware.md (German)

Dependencies

Linux

sudo apt-get install git python build-essential nodejs mongodb arduino sox nmap julius
sudo usermod -aG dialout $USER

Windows

Project setup

(in Windows you may have to switch between the Git bash and the NodeJS command line!)

git clone https://github.com/SBejga/hueper.git
cd hueper/nodejs
npm install

Get Google API Key for speech recognition

In order to use the Google speech recognition engine you have to generate a key with a Google account. Please follow the steps provided here: http://www.chromium.org/developers/how-tos/api-keys

  • In the Google Developers Console / APIs activate Speech API
  • In Credentials / Public API access create a Server Key
  • Save it in the application settings

Arduino setup

Hardware needed:

  • Arduino UNO
  • Adafruit PN532 RFID/NFC Shield + Stackable Header Kit
  • Seeedstudio Grove Base Shield
  • Seeedstudio Grove Light Sensor (A0), PIR Motion Sensor (D8) and Sound Sensor (A2)

Installation:

Deploying on a Raspberry Pi

Hardware needed: External USB sound card with microphone (in /etc/modprobe.d/alsa-base.conf set options snd-usb-audio index=0)

  • Flash your Raspberry Pi with Raspbian
  • Connect it to the internet, make sure all packages are up to date
  • Copy raspberry/setup.sh to /home/pi
  • Make it executable and execute it (as root)
  • wait :)
  • reboot

Known Issues

  • After restarting the service on the Raspberry Pi the Julius speech recognition doesn't work any more
  • Android Browser sometimes fails to establish a Socket.IO connection. This may possibly be solved by upgrading to Socket.IO 1.0

Bitdeli Badge