Este artigo é parte da série “Introdução à plataforma dojot”:
- Instalação e configuração
- Monitorando dispositivos
- Configurando fluxos de processamento de dados
A dojot é uma plataforma brasileira desenvolvida principalmente pelo CPqD e que surgiu com uma proposta open source, visando facilitar o desenvolvimento de soluções e subsidiar o ecossistema IoT com conteúdo local voltado às necessidades do País.
O código dos componentes que compõem a solução está disponível no repositório do Github. Descritivos detalhados da arquitetura, do funcionamento dos componentes e alguns casos de uso podem ser encontrados na documentação.
Introdução
Em todos os campos em que é aplicado, um dos pontos cruciais em IoT é o uso de dados para tomada de decisão. Desde sistemas pequenos, contando com poucos sensores, até sistemas complexos – com milhares de pontos de coleta de dados – centralizam as informações para que estas sejam correlacionadas e permitam a geração de insights.
A dojot é uma plataforma brasileira que surgiu com uma proposta open source, visando facilitar o desenvolvimento de soluções e subsidiar o ecossistema IoT com conteúdo local voltado às necessidades do País, assumindo assim um papel habilitador com:
- Conexão e coleta de dados de dispositivos;
- Gerenciamento dos dispositivos conectados;
- APIs abertas, tornando o acesso fácil das aplicações aos recursos da plataforma e aos dados coletados e integrados;
- Armazenamento de grandes volumes de dados em diferentes formatos;
- Construção de fluxos de dados e regras de forma visual, permitindo a rápida prototipação e validação de cenários de aplicações IoT;
- Processamento de eventos em tempo real aplicando regras definidas pelo desenvolvedor, reduzindo a complexidade das aplicações;
- Capacidades de segurança e privacidades de dados;
- Implantação flexível, podendo ser em nuvem pública ou privada (on premise).
Esta plataforma foi projetada para possibilitar a rápida criação de protótipos de soluções, fornecendo uma plataforma fácil de usar, escalável e robusta.
Este artigo é o primeiro de uma série que visa estabelecer uma conexão entre o leitor e os blocos principais que compõem a solução. Serão abordados os passos iniciais de instalação e configuração da plataforma dojot, indo desde o download do repositório até a execução de um ambiente de arquitetura distribuída. O ambiente configurado aqui será utilizado ao longo dos demais artigos da série.
Instalando a dojot
A arquitetura da plataforma é baseada em microsserviços, estando cada componente definido em seu próprio contêiner.
Para fins de desenvolvimento, recomenda-se a utilização do docker-compose para simples deploy de um ambiente adequado ao desenvolvimento. Este método não é adequado a ambientes de produção.
Instalação e configuração do host
Nos passos a seguir, será utilizado o sistema Ubuntu 16.04 LTS
Docker
O primeiro pré-requisito de instalação é a engine do docker. Os comandos abaixo adicionam a chave e o repositório, atualizam a lista de pacotes e instalam a engine.
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update && sudo apt-get install -y docker-engine
Após finalizada, a instalação pode ser validada com:
docker run hello-world
Docker-compose
Como a plataforma dojot está distribuída em múltiplos contêineres, o uso do docker-compose traz maior agilidade na inicialização do grupo de componentes.
Para usar esta ferramenta, basta baixar o binário correspondente e adicioná-lo a um path conhecido – no caso abaixo, a /usr/local/sbin.
No momento da escrita deste artigo, a última versão disponível é a 1.23.1. Sempre utilize a versão mais recente do momento de instalação. Ela pode ser encontrada neste endereço.
composeFile=/usr/local/bin/docker-compose
composeVersion=1.23.1
sudo curl -L "https://github.com/docker/compose/releases/download/${composeVersion}/docker-compose-$(uname -s)-$(uname -m)" -o "${composeFile}"
sudo chmod +x "${composeFile}"
A versão instalada pode ser verificada a partir do seguinte comando:
docker-compose --version
Dojot
Tendo instalado o docker engine e compose, já é possível instalar e inicializar a plataforma dojot. No momento de escrita deste artigo, a versão recomendada da plataforma é a 0.3.1, na branch de mesmo nome.
Inicia-se o processo de instalação através do checkout do repositório, conforme descrito a seguir. Nota: estes comandos utilizam o diretório home para obtenção dos arquivos. Caso seja necessário utilizar outro diretório, edite o campo dojotDir conforme necessário.
dojotVersion=v0.3.1
branchName=${dojotVersion}
dojotDir=${HOME}/dojot
mkdir ${dojotDir} && cd ${dojotDir}
git clone https://github.com/dojot/docker-compose.git && cd ./docker-compose
git checkout ${dojotVersion} -b ${branchName}
git submodule update --init --recursive
Uma vez que todos os módulos sejam obtidos, basta inicializá-los a partir do comando:
sudo docker-compose up -d
Então basta aguardar até que os dados sejam baixados, preparados e executados.
Neste ponto, todos os serviços estão inicializados e a plataforma já pode ser utilizada. Na máquina host, a interface gráfica pode ser acessada em localhost:8000.

O acesso pode ser realizado com as credenciais:
- usuário: admin
- senha: admin
Conclusão
Até aqui, foram abordados os passos necessários para se configurar a plataforma dojot num ambiente propício ao desenvolvimento de aplicações.
Nos próximos artigos, serão exploradas as funcionalidades principais para utilização da plataforma, como criação, configuração e monitoramento de dispositivos, além da leitura dos sinais enviados e associação dos mesmos a fluxos de processamento, visando a tomada de ações apropriadas a cada cenário.
Saiba mais
Conhecendo a Electron 3G-U260: Dispositivos conectados à nuvem utilizando a internet 3G














Na ultima etapa da um erro:
ERROR: for kong-migration Container “d73ea41ffd4c” is unhealthy.
ERROR: for auth Container “d73ea41ffd4c” is unhealthy.
ERROR: for apigw Container “d73ea41ffd4c” is unhealthy.
ERROR: for postgres-users Container “d73ea41ffd4c” is unhealthy.
ERROR: Encountered errors while bringing up the project.
Pra mim também deu isso, conseguiu resolver ?