DEPRECATED. See lumiere-api
and lumiere-client-web
projects.
Lumière are colored lights all around the world (well, soon hopefully) that anyone can change through a web interface, texts/SMS, and possibly more. Technically speaking it is an internet connected lighting system.
There are over 1,500 color words and sets. Color words are a combination of Chroma.js, Name that Color, and some custom ones. Feel free to suggest some more.
Live server at lumiere.lighting. Watch a video of an example deployment.
Inspiration taken from textmas.
- A Meteor application is run that keeps track of what color(s) the lights should be.
- Provides a web interface for choosing colors and basic representation of current colors.
- Provides basic API for retrieving colors as well as setting colors with other services like Twilio or Twitter.
See the node projects to get started making your own nodes.
The application is a Meteor application.
- Install Meteor:
curl https://install.meteor.com | /bin/sh
- Get the code:
git clone https://github.com/lumiere-lighting/lumiere-server.git
- If you plan on running your own server (as opposed to helping to develop the existing one), remove the Meteor ID file first. A new one will be created when you run
meteor
and you should check this into your new repo.rm .meteor/.id
- To run locally, run the following from inside the code directory:
meteor
- Depending on your integration and settings below, you will probably want to run:
meteor --settings=your-settings.json
- Depending on your integration and settings below, you will probably want to run:
These instructions are for using Twilio, but it would not be too hard to change things around for another SMS service.
- Create an account at Twilio.
- Obtain a phone number or use an existing one if you already have one set up.
- Under the settings for that phone number, set the Messaging POST value to
http://<YOUR URL>/api/colors/twilio
.
Deprecated; Yo changed how their API works, and it doesn't look like Yo is actively worked on.
Make a Yo account and set up the Yo API to post to http://<YOUR URL>/api/colors/yo
. If you want the account to Yo back then make sure to add your Yo API key in the settings (see below) in the yoAuth
value.
Setup a Twitter application; it's actually good to have two (one for dev) as Twitter will disconnect the streaming API if it thinks there are multiple connections going on. Generate an access token set for your application, and then update the relevant values in the settings (see below).
Use the twitterFilter
value in the settings to filter what keywords will trigger Lumiere to look at tweets for colors.
For config and sensitive data like authentication tokens or to override some of the configuration by, use a Meteor settings file, which can be an arbitrary JSON file, or set as the METEOR_SETTINGS
environment variable. The options are the following; only a couple are provided by default
{
// Note that anything in public will be available on the client
"public": {
// Name of application, provided by default
"name": "Lumière",
// Number of lights to display in the web interface, provided by
// default
"lights": 10,
// Phone to use for Twilio integration, this is just for output,
// integration will still be available without this
"phone": "+1 651 400 1501",
// Array of keywords to listen to from Twitter (optional), this and
// twitter auth are needed for twitter integration
"twitterFilter": [ "lumierebot" ]
},
// Twitter auth keys (optional)
"twitterAuth": {
"consumer_key": "xxx",
"consumer_secret": "xxx",
"access_token_key": "xxx",
"access_token_secret": "xxx"
}
}
Make sure to use meteor --settings=settings.json
and meteor deploy --settings=settings.json
respectively.
You can deploy to Meteors architecture, Galaxy, which is $0.04/hr for its base
- Deploy to Meteor.com:
meteor deploy <YOUR_APP_NAME>.meteor.com
- Or if you have your settings file:
meteor deploy --settings=settings.json <YOUR_APP_NAME>.meteor.com
- Or if you have your settings file:
You can run this application on Heroku, which has a free tier that is limited. This article how to deploy on Heroku, but here are a few key steps:
- Create your application:
heroku apps:create <YOUR-APP-NAME>
- The key to getting Heroku to build the Meteor app is to use a custom buildpack:
heroku buildpacks:set https://github.com/AdmitHub/meteor-buildpack-horse.git
- You'll need mongo:
heroku addons:create mongolab:sandbox
- Settings:
- Meteor needs a
MONGO_URL
setting, but Mongo URL is set asMONGODB_URI
; useheroku config
to see the value and set like:heroku config:set MONGO_URL=<MONGO_URI value>
- Meteor needs to know about where this is hosted:
heroku config:set ROOT_URL=https://foobar.herokuapp.com
- And finally, to be able to tell Meteor about your settings, you need to set the
METEOR_SETTINGS
config to the whole JSON used for your settings:heroku config:set METEOR_SETTINGS='{ "thing": 1 }'
- Meteor needs a