NASA OpenMCT com Intel Edison

Como instalar o OpenMCT no Intel Edison e brincar de telemetria

Já criei vários sistemas de telemetria e de vez em quando era necessário escrever um dashboard para exibir os dados, eu estava planejando criar um dashboard mais flexível e configurável que eu pudesse usar em vários projetos quando esbarrei com o OpenMCT.

NASA OpenMCT

O OpenMCT é um frontend para qualquer coisa capaz de gerar dados de telemetria, assim eu posso me focar no backend que para mim é a parte mais divertida e a única coisa que preciso fazer é criar um “telemetry provider” para o OpenMCT, que basicamente significa responder corretamente a algumas chamadas de websocket.

Alem da extrema flexibilidade ainda tem a vantagem de ser de código aberto e ter um pedigree invejável, NASA e JPL.

Instalando

Todos os comandos aqui você precisa executar direto no seu Edison, seja via serial ou via SSH, claro que o Edison precisa estar pronto para acessar a internet.

Se você quiser instalar em outro Linux ou mesmo no Mac os passos são praticamente os mesmos.

Atualizando npm

Faça login no Edison e vamos atualizar o npm

npm install npm -g

Novo usuário

Agora vamos criar um novo usuário, aqui eu vou chamar de openmct mas você pode chamar do nome que preferir. É importante criar um usuário porque o OpemMCT não funciona se você tentar instalar ele como root, eu aprendi isso da forma mais difícil.

useradd openmct
passwd openmct

Faça login como o novo usuário para instalar o sistema.

Download do OpenMCT

git clone https://github.com/nasa/openmct.git

Instalando

Vamos rodar o npm install, essa é a etapa mais demorada… demorada de verdade.

cd openmct
npm install

Iniciando

Se tudo correu bem vamos iniciar o servidor.

npm start

Agora você pode acessar http://edison.local:8080 e se divertir com os exemplos do OpenMCT.

Considerações

Algumas pequenas considerações…

No momento que eu escrevi esse tutorial a NASA esta reescrevendo grande parte do código e implementando uma nova API, e a implicação disso é que muito da documentação esta desatualizada e simplesmente não funciona. Coisas muito interessantes estão surgindo com a nova API mas vai levar algum tempo até que tudo esteja ok funcionando bem.

Rodar o OpenMCT direto no Edison é divertido mas não é a melhor maneira, o ideal é rodar o sistema na sua maquina e escrever um “Telemetry Provider” que ficaria rodando no Edison. Pretendo mostrar como escrever um provedor de telemetria em breve, por enquanto existe no tutorial em https://nasa.github.io/openmct/docs/tutorials/ que funciona… mais ou menos :D

Boa diversão!

comments powered by Disqus