#Influnnt
Para instar a central é necessário instalar as seguintes dependências:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
https://www.mongodb.com/download-center#community
http://dev.mysql.com/downloads/mysql/
https://mosquitto.org/download/
https://www.lightbend.com/activator/download
Para instalar e executar o projeto no ambiente de desevolvimento, é necessário instalar, além das dependências da central, os seguintes softwares:
http://nginx.org/en/download.html
Se estiver em uma máquina Linux ou Mac, o NginX também pode ser instalado das seguintes formas:
Linux:
apt-get install nginx # Ubuntu ou Debian
yum install nginx # CentOS ou RedHat
Mac (Homebrew):
brew install nginx
https://nodejs.org/en/download/
Após a instalação do NodeJs, execute o seguinte comando para instalar o Bower:
npm install -g bower
-
Baixe o projeto utilizando o git:
git clone git@github.com:influunt/influunt.git
-
Navegue para a pasta da central, e execute o comando
activator
para baixar as dependências da central:cd influunt/influunt-api activator
Depois de todas as dependências serem baixadas e instaladas, execute o comando exit
para sair do activator;
-
Navegue para a pasta da interface do sistema, e execute os seguintes comandos para baixar as dependências da interface:
cd ../influunt-app npm install bower install
-
Configure o NginX: Abra o arquivo
nginx.conf
(a localização depende do modo de instalação), e adicione o seguinte conteúdo no final do blocohttp
. Substitua as ocorrências de<!CAMINHO PARA INFLUUNT-APP!>
com o caminho completo para chegar na pasta doinfluunt-app
. Ex:/Users/seunome/influunt/influunt-app
http{ # ... (outras configurações) server { listen 80; charset UTF-8; server_name localhost; send_timeout 600; gzip on; gzip_comp_level 8; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; client_max_body_size 100M; location /api { try_files $uri @influuntapi; } location /bower_components { root <!CAMINHO PARA INFLUUNT-APP!>; } location @influuntapi { proxy_http_version 1.1; proxy_pass http://localhost:9000; proxy_redirect off; proxy_buffering off; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { root <!CAMINHO PARA INFLUUNT-APP!>/app/; index index.html; } location /assets { proxy_pass http://localhost:9000; } } }
-
Configure o MySQL: para configurar o mysql é necessário criar um banco de dados chamado
influuntdev
. Qualquer programa gerenciador de banco de dados pode ser usado para isso. Pela linha de comando, entre no shell do MySQL e digite o seuginte comando:mysql> create database influuntdev;
OBS: O ambiente de desenvolvimento espera que o MySQL tenha o usuário root
sem senha.
- Configure o Mosquitto: abra o arquivo
mosquitto.conf
(a localização do arquivo depende de como o mosquitto foi instalado), e altere as seguintes propriedades:-
Na seção "Default Listeners" altere as propriedades
bind_address
,port
eprotocol
bind_address 127.0.0.1 port 1883 protocol mqtt
-
Na seção "Extra Listeners" altere as propriedades
listener
eprotocol
listener 1884 protocol websockets
-
Na seção "Persistence" altere a propriedade
persistence
persistence false
-
Execute os seguintes comandos para rodar o projeto:
-
Inicie o MySQL (se ainda não estiver em execução)
-
Inicie o NginX (se ainda não estiver em execução)
-
Inicie o MongoDB. No terminal, o comando é (dependendo da instalação pode ser necessário usar
sudo
):mongod
-
Inicie o mosquitto:
mosquitto -c caminho/para/mosquitto.conf
-
Inicie a central:
-
Navegue para a pasta do projeto, e depois entre na pasta
influunt-api
-
Rode o seguinte comando:
activator run
-
-
Abra o navegador Chrome e vá para o endereço
http://localhost:9000
. Irá aparecer na tela uma mensagem dizendo que a database necessita de evolução. Clique no botãoApply this script now!
para aplicar as evoluções. Somente na primeira vez em que executar o projeto -
Aplique o arquivo com os dados iniciais do banco de dados. O arquivo chama-se
influunt_seed.sql
e fica no root do projeto. Somente na primeira vez em que executar o projetomysql -u root influuntdev < influunt_seed.sql
-
Inicie o app web:
-
Entre na pasta do projeto, e depois entre na pasta
influunt-app
-
Rode o seguinte comando:
gulp serve
-
-
Coloque no navegador o endereço
http://localhost
. O Influunt deve abrir e mostrar a tela de login. Para entrar utiliz o login root e a senha 1234.
As dependências do ambiente de produção são as mesmas do ambiente de desenvolvimento. O passo-a-passo abaixo irá mostrar como configurar um servidor linux (CentOS) de produção para rodar a aplicação.
O passo-a-passo abaixo se refere a um servidor linux CentOS!
Primeiramente entre no servidor com o usuário root.
Baixe o arquivo RPM de instalação do Java em http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html e salve no servidor. Execute o seguinte comando para instalar (substituindo o nome do arquivo pelo o nome do que você baixou):
rpm -ivh jdk-8uxxx-linux-x64.rpm
Primeiramente, instale a versão aberta do MySQL:
yum install mariadb-server
Em seguida rode o comando para deixar a instalação segura (todas as opções sugeridas pelo programa são seguras de serem aceitas):
mysql_secure_installation
Entre no MySQL com o usuário root
, utilizando a senha cadastrada no comando anterior, e crie um novo banco de dados:
CREATE DATABASE influunt;
Crie um novo usuário para acessar o banco de dados da aplicação, alterando o valor <SENHA>
por uma senha da sua preferência:
CREATE USER 'influunt'@'localhost' IDENTIFIED BY '<SENHA>';
GRANT ALL PRIVILEGES ON influunt.* TO 'influunt'@'localhost';
Crie o arquivo /etc/yum.repos.d/mongodb-org-3.4.repo
com o seguinte conteúdo:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Em seguida, instale o mongoDB:
yum install mongodb-org
Inicie o mongoDB:
mongod
Configure o mongoDB para iniciar automaticamente:
systemctl enable mongod
Para instalar o eMQTT, entre no site e baixe o arquivo .zip
de acordo com o servidor: http://emqtt.io/downloads. faça o upload do arquivo para o servidor, e descompacte o arquivo zip.
Entre na pasta descompactada, e altere o seguintes valores no arquivo etc/emq.conf
:
Na seção "Node Args", altere as seguintes configurações:
node.name = emqttd@<IP_DO_SERVIDOR>
Na seção "MQTT Session", altere as seguintes configurações:
mqtt.session.max_inflight = 1000
Na seção "MQTT Listeners", altere as seguintes configurações:
mqtt.listener.tcp = 1883
mqtt.listener.tcp.max_clients = 4096
mqtt.listener.http = 1884
Após alterar as configurações, crie o arquivo etc/emq_auth_http.conf
com o seguinte conteúdo (substituindo <IP_DO_SERVIDOR>
pelo IP do servidor):
##--------------------------------------------------------------------
## HTTP Auth/ACL Plugin
##--------------------------------------------------------------------
## Variables: %u = username, %c = clientid, %a = ipaddress, %P = password, %t = topic, %A access (2 - publish, 1 - subscribe)
auth.http.auth_req = http://<IP_DO_SERVIDOR>/api/v1/mqtt/auth
auth.http.auth_req.method = post
auth.http.auth_req.params = clientId=%c,username=%u,password=%P
auth.http.super_req = http://<IP_DO_SERVIDOR>:8080/mqtt/superuser
auth.http.super_req.method = post
auth.http.super_req.params = clientid=%c,username=%u
## 'access' parameter: sub = 1, pub = 2
auth.http.acl_req = http://<IP_DO_SERVIDOR>/api/v1/mqtt/acl
auth.http.acl_req.method = get
auth.http.acl_req.params = username=%u,clientId=%c,topic=%t,password=%P,access=%A
auth.http.acl_nomatch = deny
Rode o eMQTT:
bin/emqttd
Depois que o eMQTT estiver rodando, execute o seguinte comando para habilitar o plugin de autenticação:
bin/emqttd_ctl plugins load emq_auth_http
OBS: Depois de instalado, é necessário alterar o arquivo de configuração dos controladores (no seu computador). Esse arquivo está em influunt/influunt-app/app/resources/controlador.conf
. Basta alterar a chave host
(endereço) para o endereço onde o eMQTT está instalado.
Instale o NginX:
yum install nginx
Configure o NginX para servir a aplicação. Abra o arquivo /etc/nginx/nginx.conf
e adicione o bloco server
abaixo dentro do bloco http
:
http {
# outras configurações...
server {
listen 80;
charset UTF-8;
server_name influunt.com.br;
send_timeout 600;
gzip on;
gzip_comp_level 8;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
client_max_body_size 100M;
location /api {
try_files $uri @influuntapi;
}
# the notification server
location @influuntapi {
proxy_http_version 1.1;
proxy_pass http://localhost:9000;
proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_set_header Host $host;
}
location /assets {
proxy_pass http://localhost:9000;
}
location / {
root /app/influunt-app/current;
index index.html;
}
}
}
Inicie o NginX com o comando
nginx
Crie um novo usuário e desabilite o seu login:
adduser raro
passwd -l raro
Em seguida adicione a sua chave SSH pública no servidor, executando os seguintes comandos (substitua CHAVE_SSH_PUBLICA
pela sua chave SSH pública):
su - raro
cd ~
mkdir .ssh
echo CHAVE_SSH_PUBLICA >> .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
exit
Os nomes de pastas utilizados são muito importantes para a configuração do servidor web, não modifique.
Execute os seguintes comandos para criar a estrutura de pastas da central e do app web.
Configuração de pastas da central:
deploy_to=/app/influunt-api
mkdir -p ${deploy_to}
chown raro:raro ${deploy_to}
umask 0002
chmod g+s ${deploy_to}
mkdir ${deploy_to}/{releases,shared}
mkdir ${deploy_to}/shared/{imagens,logs}
chown -R raro ${deploy_to}/{releases,shared}
Configuração de pastas do app web:
deploy_to=/app/influunt-app
mkdir -p ${deploy_to}
chown raro:raro ${deploy_to}
umask 0002
chmod g+s ${deploy_to}
mkdir ${deploy_to}/{releases,shared}
chown raro ${deploy_to}/{releases,shared}
Crie o arquivo de configuração da central, e altere os valores necessários. Primeiro copie o arquivo influunt/influunt-api/conf/application.conf
do seu computador para o servidor, e o coloque na pasta /app/influunt-api/shared/conf
. Altere os seguintes valores:
play.evolutions {
enabled = true
autoApply = true
autoApplyDowns = true
}
db {
default.driver=com.mysql.jdbc.Driver
default.url="jdbc:mysql://localhost/influunt"
default.username=influunt
default.password="SENHA" # <--- substitua SENHA pela senha escolhida para o usuário influunt no banco de dados
default.logSql=true
default.jndiName=DefaultDS
}
playjongo.uri="mongodb://127.0.0.1:27017/influunt"
play.mailer {
host = smtp.gmail.com # <--- Substitua pelo seu host do seu serviço de email
port = 587
user = USUARIO_DO_EMAIL # <--- Substitua pelo seu usuário de email
password = "SENHA_DO_EMAIL" # <--- Substitua pela senha do seu usuário de email
from = "naoresponda@rarolabs.com.br" # <--- Substitua pelo seu email
tls = yes
ssl = no
}
influuntUrl = "ENDERECO SERVIDOR" # <--- Substitua pelo endereço do servidor ex: http://influunt.com.br
central {
mqtt {
host = "SERVIDOR MQTT" # <--- Substitua esse valor pelo endereço onde o Mosquitto foi instalado.
port = 1883
login = ""
senha = "SENHA DE ACESSO DA CENTRAL" # <--- Coloque uma senha para a central
acl = {
device = {
publish: ["controladores/conn/online", "controladores/conn/offline", "central/transacoes/$USERNAME/+", "central/alarmes_falhas", "central/troca_plano", "central/configuracao", "central/mudanca_status_controlador", "central/info"],
subscribe: ["controlador/$USERNAME/+"]
}
simulador_web = {
publish: ["simulador/$USERNAME/morreu", "simulador/$USERNAME/proxima_pagina", "simulador/$USERNAME/detector", "simulador/$USERNAME/alternar_modo_manual", "simulador/$USERNAME/trocar_estagio"],
subscribe: ["simulador/$USERNAME/estado"]
}
simulador_api = {
publish: ["simulador/$USERNAME/estado", "simulador/$USERNAME/morreu"],
subscribe: ["simulador/$USERNAME/proxima_pagina", "simulador/$USERNAME/detector", "simulador/$USERNAME/alternar_modo_manual", "simulador/$USERNAME/trocar_estagio"]
}
app = {
subscribe: ["app/controlador/+/dados", "app/transacoes/+/status", "app/conn/offline", "app/conn/online", "app/troca_plano", "app/alarmes_falhas", "app/mudanca_status_controlador"],
publish: ["central/app/transacoes/+"]
}
}
}
}
Após as alterações, adicione os seguintes valores no final do arquivo:
application.mode=PROD
pidfile.path = "/app/influunt-api/shared/influunt.pid"
É possível configurar o app em vários servidores, para uma melhor performance. Para essa configuração, são necessários pelo menos 5 servidores:
- 2 servidores para a API (podem ser adicionados mais servidores)
- 1 servidor para a CENTRAL (a central deve funcionar em somente 1 servidor)
- 1 servidor de DADOS
- 1 servidor para servir a aplicação WEB
As dependências são as mesmas do ambiente de produção com somente um servidor, mas com essa configuração os servidores devem ser configurados individualmente.
O Java 8 deve ser instalado em todos os servidores para a API e no servidor para a CENTRAL. As intruções de instalação são as mesmas do ambiente de produção com somente um servidor.
O MySQL deve ser instalado no servidor de DADOS. As intruções de instalação são as mesmas do ambiente de produção com somente um servidor, com uma diferença: devem ser rodados dois comandos a mais:
CREATE USER 'influunt'@'%' IDENTIFIED BY '<SENHA>';
GRANT ALL PRIVILEGES ON influunt.* TO 'influunt'@'&';
Lembrando que o valor <SENHA>
deve ser substituído pela mesma senha cadastrada no passo anterior.
O MongoDB deve ser instalado no servidor de DADOS. As intruções de instalação são as mesmas do ambiente de produção com somente um servidor.
O eMQTT deve ser instalado somente no servidor da CENTRAL. As intruções de instalação são as mesmas do ambiente de produção com somente um servidor. A diferença está na configuração do plugin de autenticação.
Ao criar o arquivo de confiugração do plugin, ao invés de substituir o valor <IP_DO_SERVIDOR>
pelo IP do servidor onde o eMQTT está instalado, deve ser substituído pelo IP do servidor WEB.
O MongoDB deve ser instalado no servidor WEB. As intruções de instalação são as mesmas do ambiente de produção com somente um servidor, mas a configuração é diferente.
Abra o arquivo /etc/nginx/nginx.conf
e adicione os seguintes blocos server
e upstream
abaixo dentro do bloco http
http {
# outras configurações...
upstream influuntapi {
server <IP API 1>:9000; # API-01
server <IP API 2>:9000; # API-02
}
server {
listen 80;
charset UTF-8;
server_name influunt.com.br;
send_timeout 600;
gzip on;
gzip_comp_level 8;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
client_max_body_size 100M;
location /assets {
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_pass http://influuntapi;
}
location /api {
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_pass http://influuntapi;
proxy_set_header Host "IP DESSE SERVIDOR"; # <--- Substitua pelo IP desse servidor (load balancer)
}
location / {
root /app/influunt-app/current;
index index.html;
}
}
}
Deve ser criado um usuário para realizar o deploy em cada um dos servidores. As instruções para criar os usuários são as mesmas do ambiente de produção com somente um servidor.
Há uma diferença, porém: atualmente a aplicação está configurada para o deploy em produção com vários servidores usando o usuário "cet" (nas outras instruções foi criado o usuário "raro"). Para não precisar fazer mais alterações, o usuário deve ser criado como "cet".
Execute os seguintes comandos nos servidores para a API:
deploy_to=/app/influunt-api
mkdir -p ${deploy_to}
chown cet:cet ${deploy_to}
umask 0002
chmod g+s ${deploy_to}
mkdir ${deploy_to}/{releases,shared}
mkdir ${deploy_to}/shared/{imagens,logs}
chown -R cet ${deploy_to}/{releases,shared}
Execute os seguintes comandos no servidor para a CENTRAL:
deploy_to=/app/influunt-central
mkdir -p ${deploy_to}
chown cet:cet ${deploy_to}
umask 0002
chmod g+s ${deploy_to}
mkdir ${deploy_to}/{releases,shared}
mkdir ${deploy_to}/shared/{imagens,logs}
chown -R cet ${deploy_to}/{releases,shared}
Execute os seguintes comandos no servidor WEB:
deploy_to=/app/influunt-app
mkdir -p ${deploy_to}
chown cet:cet ${deploy_to}
umask 0002
chmod g+s ${deploy_to}
mkdir ${deploy_to}/{releases,shared}
chown cet ${deploy_to}/{releases,shared}
Para a configuração do app é necessário configurar a API e a CENTRAL.
Para configurar a API, primeiramente copie o arquivo influunt/influunt-api/modules/influunt-api/conf/api.conf
do seu computador para os servidores API, e o coloque na pasta /app/influunt-api/shared/conf
. Altere os seguintes valores:
play.evolutions {
enabled = true
autoApply = true
autoApplyDowns = true
}
db {
default.driver=com.mysql.jdbc.Driver
default.url="jdbc:mysql://IP_SERVIDOR_BD/influunt" # <--- substitua IP_SERVIDOR_BD pelo IP do servidor de banco de dados
default.username=influunt
default.password="SENHA" # <--- substitua SENHA pela senha escolhida para o usuário influunt no banco de dados
default.logSql=true
default.jndiName=DefaultDS
}
playjongo.uri="mongodb://IP_SERVIDOR_BD:27017/influunt" # <--- substitua IP_SERVIDOR_BD pelo IP do servidor de banco de dados
play.mailer {
host = smtp.gmail.com
port = 587
user = USUARIO_DO_EMAIL # <--- Substitua pelo seu usuário no gmail
password = "SENHA_DO_EMAIL" # <--- Substitua pela senha do seu usuário no gmail
from = "naoresponda@rarolabs.com.br"
tls = yes
ssl = no
}
influuntUrl = "ENDERECO SERVIDOR" # <--- Substitua pelo endereço do servidor WEB
central {
mqtt {
host = "SERVIDOR MQTT" # <--- Substitua esse valor pelo endereço onde o EMQTT foi instalado.
port = 1883
login = ""
senha = "<SENHA DE ACESSO DA CENTRAL>" # <--- Coloque uma senha para a central
acl = {
device = {
publish: ["controladores/conn/online", "controladores/conn/offline", "central/transacoes/$USERNAME/+", "central/alarmes_falhas", "central/troca_plano", "central/configuracao", "central/mudanca_status_controlador", "central/info"],
subscribe: ["controlador/$USERNAME/+"]
}
simulador_web = {
publish: ["simulador/$USERNAME/morreu", "simulador/$USERNAME/proxima_pagina", "simulador/$USERNAME/detector", "simulador/$USERNAME/alternar_modo_manual", "simulador/$USERNAME/trocar_estagio"],
subscribe: ["simulador/$USERNAME/estado"]
}
simulador_api = {
publish: ["simulador/$USERNAME/estado", "simulador/$USERNAME/morreu"],
subscribe: ["simulador/$USERNAME/proxima_pagina", "simulador/$USERNAME/detector", "simulador/$USERNAME/alternar_modo_manual", "simulador/$USERNAME/trocar_estagio"]
}
app = {
subscribe: ["app/controlador/+/dados", "app/transacoes/+/status", "app/conn/offline", "app/conn/online", "app/troca_plano", "app/alarmes_falhas", "app/mudanca_status_controlador"],
publish: ["central/app/transacoes/+"]
}
}
}
}
Após as alterações, adicione os seguintes valores no final do arquivo: application.mode=PROD pidfile.path = "/app/influunt-api/shared/influunt.pid" play.http.router = "api.Routes"
Para configurar a CENTRAL, devem ser seguidos os mesmos passos da API, com as seguintes modificações:
-
o arquivo que deve ser copiado para o servidor é o
influunt/influunt-api/modules/influunt-central/conf/central.conf
-
As configurações a serem adicionadas no final do arquivo são:
application.mode=PROD pidfile.path = "/app/influunt-api/shared/influunt.pid" play.http.router = "central.Routes"
Para realizar o deploy (atualizar o código no servidor), primeiramente instale o ruby no seu computador (Instruções de Instalação).
Em seguida execute o seguinte comando para instalar a ferramenta de deploy:
gem install capistrano -v 3.5.0
Altere os arquivos (no seu computador) influunt/influunt-api/conf/capistrano/deploy/production.rb
e influunt/influunt-app/config/deploy/production.rb
, e insira o endereço do servidor de produção no local apropriado de cada arquivo:
server 'xxx.xxx.xxx.xxx', user: 'raro', roles: %w{app db web}
Para executar o deploy, primeiro entre na pasta influunt/influunt-api
e execute o comando:
cap production deploy
Em outra janela do terminal, entre na pasta influunt/influunt-app
e execute o mesmo comando novamente:
cap production deploy
Se este for o primeiro deploy feito no servidor, é necessário inserir o arquivo de seed no banco de dados. Para isso, faça o upload do arquivo influunt/influunt-api/influunt_seed.sql
para o servidor, e execute o arquivo no Mysql:
mysql -u root -p influunt < influunt_seed.sql
Altere os seguintes arquivos (no seu computador):
influunt/influunt-api/modules/influunt-api/conf/capistrano/deploy/production.rb
-
insira os endereços dos servidores da API, uma linha para cada um:
server 'xxx.xxx.xxx.xxx', user: 'cet', roles: %w{app db web}
influunt/influunt-api/modules/influunt-central/conf/capistrano/deploy/production.rb
-
insira o endereço do servidor da CENTRAL:
server 'xxx.xxx.xxx.xxx', user: 'cet', roles: %w{app db web}
influunt/influunt-app/config/deploy/production.rb
-
insira o endereço do servidor WEB:
server 'xxx.xxx.xxx.xxx', user: 'cet', roles: %w{app db web}
Para executar o deploy em vários servidores, primeiro entre na pasta influunt/influunt-api
e execute o comando activator dist
.
Em seguida, entre na pasta influunt/influunt-api/modules/influunt-api
e execute o comando:
cap production deploy
Em outra janela do terminal, entre na pasta influunt/influunt-api/modules/influunt-central
e execute o comando:
cap production deploy
Por último, em outra janela do terminal, entre na pasta influunt/influunt-app
e execute o mesmo comando novamente:
cap production deploy
Se este for o primeiro deploy feito no servidor, é necessário inserir o arquivo de seed no banco de dados. Para isso, faça o upload do arquivo influunt/influunt-api/influunt_seed.sql
para o servidor DADOS, e execute o arquivo no MySQL:
mysql -u root -p influunt < influunt_seed.sql
O 72c pode ser executado em qualquer sistema operacional que suporte uma máquina virtual java (JVM) standard edition (SE) 1.8 ou superior. Dessa forma, antes de instalar o 72c certifique-se que a JVM está instalada e a versão é compatível:
java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
Se você estiver utilizando uma versão de linux compatível com gerenciador de pacotes do debian ou rpm, você poderá instalar diretamente os binários:
Baixe o pacote binário correspondente à versão do influunt que deseja instalar. Download
No caso do debian, instale o pacote no sistema operacional utilizando o comando dpkg -i:
sudo dpkg -i 72c_linux_1_0.deb
Após a instalação execute o comando baixo para parar a execução do 72c.
sudo /etc/init.d/72c stop
Edite o arquivo de configurações de acordo com sua necessidade:
sudo vim /opt/72c/conf/application.conf`
Execute o 72c em foreground para verificar se sua configuração é válida.
sudo /etc/init.d/72c run
Se o 72c executou com sucesso. Pare o processo com o comando ctrl+c e inicie como um serviço do sistema operacional:
sudo /etc/init.d/72c start
Nesse caso, o 72c será iniciado automaticamente quando o sistema operacional for reinciado.
Para montar um prótipo de controlador utilizando o Raspberry PI em conjunto com uma placa Arduino siga as seguintes instruções:
- Monte seu protótipo de acordo com esse schema
- Instale o Arduino IDE
- Abra o projeto influunt.ino no Arduino IDE. O projeto encontra-se na pasta /influunt-arduino
- Conecte o ardunino com o cabo USB e faça o upload do arquivo binário.
- Instale o raspbian no cartão de memória
- Configure o acesso a internet
- Conecte a porta USB do PI no Arduino
- Verifique qual porta serial foi criada no sistema operacional (
ls /dev/tty*
) - Instale o 72c conforme orientação anterior. Utilize o pacote .deb
- No arquivo de configuração do arquivo configure a porta serial com o valor obtido no item 2 e o baud rate para 9600.
- Inicie o 72c
##Status