O servidor ThingSpeak é uma plataforma de dados aberta e uma API para a Internet das Coisas que permite coletar, armazenar, analisar, visualizar e agir sobre dados de sensores. Mais informações sobre o ThingSpeak podem ser encontradas aqui.
Este artigo descreve como realizar a instalação autônoma do servidor ThingSpeak no Ubuntu 14.04.
1. Realize a atualização inicial do sistema
sudo apt-get update
2. Instalação de todos os pacotes necessários
sudo apt-get -y install build-essential git mysql-server mysql-client libmysqlclient-dev libxml2-dev libxslt-dev libssl-dev libsqlite3-dev
Para o Ubuntu 14.04, o comando acima instalará todos os pacotes necessários. Para versões mais antigas do Ubuntu, um comando adicional deve ser executado para a instalação do pacote git.
sudo apt-get git-core
3. Senha do MySQL
Caso o MySQL não esteja instalado previamente, será solicitado que você defina uma nova senha para os direitos administrativos no banco de dados MySQL.

4. Instalação do Ruby
O tempo de download e instalação desses pacotes varia conforme o hardware do sistema. A instalação é realizada pelos seguintes comandos:
http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.tar.gz
tar xvzf ruby-2.1.4.tar.gz
cd ruby-2.1.4
./configure
make
sudo make install
cd ..


5. Instalação do Rails
echo “gem: –no-rdoc –no-ri” >> ${HOME}/.gemrc
sudo gem install rails
6. Instalação do ThingSpeak
Recomenda-se que a instalação dos pacotes a seguir seja realizada com direitos de usuário comum (sem privilégios de root).

A instalação é realizada pelos seguintes comandos:
git clone https://github.com/iobridge/thingspeak.git
cp thingspeak/config/database.yml.example thingspeak/config/database.yml
cd thingspeak
bundle install
bundle exec rake db:create
Neste ponto, a senha de acesso ao banco de dados MySQL será solicitada.
bundle exec rake db:schema:load
Se a instalação dos pacotes for bem-sucedida, a seguinte mensagem será exibida:

7. Inicializando o servidor ThingSpeak
O servidor ThingSpeak pode ser iniciado pelo seguinte comando:
rails server

Após a execução do comando acima, o servidor ThingSpeak estará acessível em 0.0.0.0:3000 no navegador web:

Toda a atividade do usuário será exibida no console.
Para parar o servidor, utilize Ctrl+C no console.
Para iniciar o servidor, utilize:
rails server

8. Inicializando o servidor ThingSpeak na inicialização do sistema
8.1. Criando um script de inicialização
Para iniciar o ThingSpeak junto com o sistema, um pequeno script deve ser criado e adicionado aos processos executados na inicialização do sistema operacional. Isso pode ser feito com os seguintes comandos no terminal do console.
cd /home/USER/thingspeak
nano run.sh
Neste caso, o script é adicionado à pasta onde os pacotes do ThingSpeak foram baixados. A string USER deve ser substituída pelo nome de usuário real de quem instalou o servidor ThingSpeak. Por exemplo, se o nome de usuário for telem, o comando deverá ser:
cd /home/telem/thingspeak
nano run.sh
Após o último comando, um documento vazio run.sh será criado. Neste documento, o seguinte comando deve ser salvo:
#!/bin/bash
cd /home/USER/thingspeak && pwd && rails server webrick

Ctrl+X salva o documento. Caso o ThingSpeak esteja instalado em um diretório diferente, ele deve ser especificado aqui. O comando escrito dessa forma indica que o processo está localizado no diretório /home/USER/thingspeak e será iniciado junto com o sistema.
8.2. Compilando o script
O script já criado é compilado com o seguinte comando:
chmod +x /home/USER/thingspeak/run.sh
8.3. Adicionando o script aos processos de inicialização
Em seguida, o script deve ser adicionado aos processos iniciados pelo sistema operacional na sua inicialização. Isso é feito acrescentando um registro em um dos arquivos de configuração, que deve ser aberto, alterado e salvo com direitos administrativos (sudo):
cd /etc
sudo nano rc.local
Após executar esses comandos, o arquivo de configuração será aberto. Logo antes da última linha (exit 0), o seguinte registro deve ser adicionado:
sudo –u USER sh /home/USER/thingspeak/run.sh &

Ctrl+X salva o documento.
Este documento descreve as etapas de instalação de um servidor ThingSpeak. Os comandos utilizados foram aplicados ao sistema operacional Ubuntu 14.04.
A instalação é realizada no diretório /home/thingspeak do usuário telem.



