-
Notifications
You must be signed in to change notification settings - Fork 1
Pimatic
#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.
-
Configurações Nesta seção, o servidor HTTP e/ou HTTPS, o banco de dados e a autenticação devem ser descritos.
-
Plugins
{
"plugin": "nomePlugin"}
Diversos plugins são pré-disponibilizados, além disso novos plugins podem ser adicionados.
- 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.
- 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.