ThingSpeak Server
Go to file
Alan Bradburne 4f0354303f Improve channel, user and api_key models with basic scopes, correct references and protect attributes.
Simplify channels & user controllers and models, moving code to the models.
Remove catch-all route and ensure all actions are specified, fixing url paths.
Change clone to dup in feed_controller as using clone seems to affect the cloned object (problem only in ruby 1.9.3?)
2012-02-09 23:42:16 +00:00
app Improve channel, user and api_key models with basic scopes, correct references and protect attributes. 2012-02-09 23:42:16 +00:00
config Improve channel, user and api_key models with basic scopes, correct references and protect attributes. 2012-02-09 23:42:16 +00:00
db fixing database tables 2011-03-29 19:13:14 -04:00
lib Improve channel, user and api_key models with basic scopes, correct references and protect attributes. 2012-02-09 23:42:16 +00:00
public Upgrade to Rails 3.2 and move some of the assets to the asset pipeline directories 2012-02-09 23:26:47 +00:00
script initial checkin of full application 2011-03-27 16:56:15 -04:00
spec initial checkin of full application 2011-03-27 16:56:15 -04:00
test initial checkin of full application 2011-03-27 16:56:15 -04:00
vendor/plugins initial checkin of full application 2011-03-27 16:56:15 -04:00
.gitignore Upgrade to Rails 3.2 and move some of the assets to the asset pipeline directories 2012-02-09 23:26:47 +00:00
config.ru initial checkin of full application 2011-03-27 16:56:15 -04:00
Gemfile Upgrade to Rails 3.2 and move some of the assets to the asset pipeline directories 2012-02-09 23:26:47 +00:00
Gemfile.lock Upgrade to Rails 3.2 and move some of the assets to the asset pipeline directories 2012-02-09 23:26:47 +00:00
LICENSE Edited LICENSE via GitHub 2011-03-27 16:14:07 -07:00
Rakefile initial checkin of full application 2011-03-27 16:56:15 -04:00
README.textile Update README.textile 2011-11-25 07:15:46 -05:00

h1. ThingSpeak

"ThingSpeak":http://www.thingspeak.com is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network. With ThingSpeak, you can create sensor logging applications, location tracking applications, and a social network of things with status updates.

In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows for numeric data processing such as timescaling, averaging, median, summing, and rounding. Each ThingSpeak Channel supports data entries of up to 8 data fields, latitude, longitude, elevation, and status. The channel feeds support JSON, XML, and CSV formats for integration into applications.

The ThingSpeak application also features time zone management, read/write API key management and JavaScript-based charts from Highslide Software / Torstein Hønsi.

Support for ThingSpeak is available on the "ThingSpeak Community":http://community.thingspeak.com/ site which features a "Blog":http://community.thingspeak.com/, "Forum":http://community.thingspeak.com/forum/, "Documentation":http://community.thingspeak.com/documentation/, and "Tutorials":http://community.thingspeak.com/tutorials/.

h3. Before You Begin

1. Install Ruby, RubyGems, Rails 3, git, and a database like MySQL
2. Download the application using git: git clone git@github.com:iobridge/thingspeak.git
3. Change to the thingspeak directory and install the appropriate gems: sudo bundle install

h3. Configuration

1. Set your database configuration file at config/database.yml (see config/database.yml.example for an example)
2. Create the database: rake db:create
3. Create the database tables: rake db:schema:load

h3. Run The Application

1. Start the server: rails server

Your application will now be running at http://localhost:3000/ 

h2. Changing Application Text

Make changes to config/locales/en.yml
To avoid errors, please ensure your lines start with spaces, not tabs.
Set your application name using the 'application_name' key.

h2. (Optional) Memcached Support and Rate Limiting

Please see our "official memcached fork":https://github.com/llawlor/thingspeak

h2. (Optional) HTTP GET Support

By default the application will accept channel updates via GET or POST.  To only allow POSTs, change the value of GET_SUPPORT found in config/initializers/constants.rb

h2. (Optional) Email Setup

Set your domain, user_name, and password in config/environment.rb
Also set your password reset link in app/controllers/mailer.controller.rb line 14 (and uncomment the line)

h1. Installation on clean install of Ubuntu 10.10 and 11.10

Start Terminal

<code>cd ~

<code>sudo apt-get install aptitude</code>
<code>sudo aptitude update</code>
<code>sudo aptitude install build-essential git-core curl</code>

<code>bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</code>
<code>echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile</code>
 
<code>source .bash_profile</code>

<code>sudo aptitude install mysql-server libmysqlclient-dev libmysql-ruby</code>
      Note: Enter and confirm a new MySQL password

<code>sudo aptitude install libssl-dev libopenssl-ruby libxslt1.1 libxslt1-dev libxml2 libxml2-dev rubygems</code>

<code>rvm pkg install openssl</code>
<code>rvm pkg install iconv</code>
<code>rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr,--with-iconv-dir=$HOME/.rvm/</code>
<code>rvm --default use 1.9.2</code>

<code>git clone git://github.com/iobridge/thingspeak.git</code>

<code>cd thingspeak</code>

<code>bundle install</code>

<code>gedit config/database.yml.example</code>
      Note: Change database username and password for development, test, and production databases and save the file as database.yml

<code>rake db:create</code>
<code>rake db:schema:load</code>

<code>rails server</code>