Skip to content
otavioon edited this page Jun 30, 2015 · 9 revisions

#Pimatic O Pimatic é um framework de automação residencial que executa no Node.Js para ser utilizado em conjunto com a Raspberry Pi. Este framework provê uma plataforma extensível para o controle residencial e tarefas de automação, permitindo adicionar por meio de seus plugins novas funcionalidades e integração com hardware e software já existentes, além disso oferece uma interface web e para dispositivos móveis, permitindo obter uma visão geral dos sensores, além de controlar os dispositivos. Devido as caracteristicas expostas, o pimatic foi escolhido para este projeto.

##Instalação O comando a seguir é utilizado para fazer o download e instalação do Node.Js. Este pode ser instalado pelo gerenciador de pacotes do sistema operacional, porém a versão pode estar desatualizada.

sudo mkdir /opt/node
wget http://nodejs.org/dist/v0.12.4/node-v0.12.4-linux-x86.tar.gz
tar xvzf node-v0.12.4-linux-x86.tar.gz
sudo cp -r node-v0.12.4-linux-x86/* /opt/node
sudo nano /etc/profile
    NODE_JS_HOME="/opt/node"
    PATH="$PATH:$NODE_JS_HOME/bin"
    export PATH
sudo reboot

O comando node -v pode ser executado para listar a versão do Node.Js e verificar se a instalação foi bem sucedida.

Com o Node.Js instalado, o pimatic pode ser instalado utilizando os comandos abaixo. O pimatic será compilado e isso pode demorar um pouco.

sudo apt-get install build-essential
cd /home/pi
mkdir pimatic-app
npm install pimatic --prefix pimatic-app --production
cd pimatic-app
cp ./node_modules/pimatic/config_default.json ./config.json

Após a instalação, o programa pode ser executado utilizando o comando sudo node_modules/pimatic/pimatic.js

##Configuração

A configuração do Pimatic é realizada por meio de somente um arquivo, denominado config.json. Esse arquivo está no formato JSON e é dividido em quatro seções: Configurações (settings), Plugins, Dispositivos (devices) e Regras (Rules). A seguir, exemplos das quatro seções são apresentados.

  1. Configurações Nesta seção, o servidor HTTP e/ou HTTPS, o banco de dados e a autenticação devem ser descritos.

  2. Plugins

{
  "plugin": "nomePlugin"}

Diversos plugins são pré-disponibilizados, além disso novos plugins podem ser adicionados.

  1. Dispositivos
{
      "id": "idDispositivo",
      "name": "nomeDispositivo",
      "class": "classeDispositivo",
      "nodeid": nodeId,
      "sensorid": [
        sensorId1,
        sensorId2
        ...
      ]
    },
}

No qual, id é um identificador único do dispositivo, name é o nome do dispositivo, class relaciona o dispositivo com seu respectivo plugin e nodeid e sensorid são os identificadores do nó e dos sensores configurados no MySensor.

  1. Regras
{
  "id": "idRegra",
  "rule": "condição"
}

##Interface O Pimatic prove uma interface visual para a visualização e o gerenciamento dos sensores e atuadores, sendo disponibilizada na porta 80 (ou outra porta configurada no servidor) do computador que executa o serviço.

Clone this wiki locally