Manual
do
Maker
.
com
Fiquei sabendo do projeto há pouco. Gerenciar dispositivos com ThingsBoard pode ser minha nova meta, o projeto é open source, roda em diversas arquitetura e hoje vou mostrar como configurá-lo em um Raspberry Pi.
A descrição do site resume em gerencimento de dispositivos, coleção de dados, processamento e visualização para IoT.
Entre no site, se você manja de inglês poderá assistir ao vídeo de apresentação do produto, vale muito a pena.
O serviço roda sobre Java 8. Verifique se já o tem instalado em seu Raspberry Pi:
Particularmente, não acho uma ótima solução instalá-lo no Raspberry por conta de I/O no cartão micro SD. Porém é a melhor forma de economizar em um projeto, tanto em hardware como em espaço e a curto prazo, energia.
O ThingsBoard pode usar base de dados SQL ou NoSQL (Cassandra, no caso) para gerenciar dispositivos. Por padrão, ele usa uma base embarcada HSQLDB, conveniente para testes e desenvolvimento, mas não é recomendado para ambientes de produção. Eu vou utilizar a base embarcada, mas vou deixar o procedimento para configuração da base de dados recomendada.
A instalação é um procedimento básico. Abra um console e execute:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
sudo service postgresql start
Ao finalizar a instalação, crie a base de dados para o ThingsBoard.
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
A solução mais rápida e indolor é baixar o pacote de instalação pronto. Porém, você pode pegar os fontes aqui se desejar compilá-lo.
wget -c https://github.com/thingsboard/thingsboard/releases/download/v2.3.1/thingsboard-2.3.1.deb
sudo dpkg -i thingsboard*deb
export JAVA_OPTS="$JAVA_OPTS -Dplatform=rpi -Xms256M -Xmx256M"
Aproveite e coloque no ~/.bashrc essa última linha. Use seu editor preferido para tal, basta ir à última linha do arquivo e fazer a adição do conteúdo.
Como disse, vou de padrão, mas se optou por utilizar a base de dados PostgreSQL, será necessário editar o arquivo /etc/thingsboard/conf/thingsboard.yml.
Ao editar, comente toda a seção relacionada ao HSQLDB:
# HSQLDB DAO Configuration
#spring:
# data:
# jpa:
# repositories:
# enabled: "true"
# jpa:
# hibernate:
# ddl-auto: "validate"
# database-platform: "org.hibernate.dialect.HSQLDialect"
# datasource:
# driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}"
# url: "${SPRING_DATASOURCE_URL:jdbc:hsqldb:file:${SQL_DATA_FOLDER:/tmp}/thingsboardDb;sql.enforce_size=false}"
# username: "${SPRING_DATASOURCE_USERNAME:sa}"
# password: "${SPRING_DATASOURCE_PASSWORD:}"
E descomente a seção relacionada ao PostgreeSQL:
# PostgreSQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: "true"
jpa:
hibernate:
ddl-auto: "validate"
database-platform: "org.hibernate.dialect.PostgreSQLDialect"
datasource:
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
Feito isso, hora de fazer a instalação do serviço:
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
Não se incomode com o tempo, não é realmente rápida essa parte. Não tenha nada rodando na porta 8080. Isto é, se estiver executando o Blynk server dos artigos anteriores, pare-o agora ou então mude a porta de serviço do ThingsBoard.
Para iniciar o serviço para poder gerenciar dispositivos, execute o comando a seguir:
sudo service thingsboard start
A tela final deve ser algo semlhante a isso:
Agora já devemos estar hábeis a abrir a interface, que deve levar até 2 minutos para se configurar.
Os sinais de anomalia devem estar contidos nos logs. Sempre olhe os logs antes de postar dúvidas por aí, será mais rápido e também mais fácil ir direto à solução do problema.
Os logs ficam em /var/log/thingsboard. Uma maneira de procurar por erros é através do comando grep:
grep ERROR /var/log/thingsboard/thingsboard.log
O login padrão é:
sysadmin@thingsboard.org
sysadmin
E a tela inicial é essa:
O login padrão de "inquilino" é:
tenant@thingsboard.org
tenant
Para clientes demo, os logins são:
customer@thingsboard.org ou customerA@thingsboard.org
customerB@thingsboard.org
customerC@thingsboard.org
Para todos os clients, a senha padrão é a mesma: customer .
Essas informações estão na documentação do "Demo account".
Daremos sequencia em outros artigos, esse é apenas para a instalação. Espero que acompanhe e até a próxima!
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.