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.
O que é ThingsBoard?
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.
Instalação do ThingsBoard no Raspberry
O serviço roda sobre Java 8. Verifique se já o tem instalado em seu Raspberry Pi:
Base de dados
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.
Configurar PostgreSQL
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
Instalação do serviço
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.
Configurar o ThingsBoard para usar PostgreSQL
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}"
Execute o script de instalação
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.
Iniciando o serviço
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.
Resolução de problemas
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
Primeiro login
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!
1 comentário
Comments are closed, but trackbacks and pingbacks are open.