Enviando dados da Dragonboard 410c para a nuvem (dweet.io)

Dragonboard dweet

Neste tutorial veremos como enviar dados coletados de alguns periféricos da Dragonboard 410c da Qualcomm para o serviço de nuvem dweet.io. Utilizaremos uma aplicação desenvolvida em python que será responsável por coletar os dados, conectar-se e enviá-los ao dweet.io utilizando o simples método HTTP GET.

 

A proposta é coletarmos dados de frequência da CPU, endereço IP local, redes wifi e dispositivos bluetooth próximos e enviarmos para a nuvem.

 

Antes de começar você precisa ter a imagem Debian gravada na Dragonboard de acordo com o descrito neste outro tutorial.

 

 

Preparação

 

É necessário que você tenha acesso ao console serial da placa através de uma cabo conversor USB serial nível 1.8V. Você encontra mais detalhes sobre essa conexão física aqui e aqui.

 

Após o cabo USB serial conectado à placa e com ela energizada abra uma seção atráves do terminal do seu Host Linux.

 

Se necessário, use o comando "dmesg" em seu Host para identificar qual o nome do arquivo de dispositivo que foi dado ao conversor USB serial pelo sistema.

 

Se você estiver utilizando o Windows, você pode abrir a seção com a porta COM através do PuTTY.

 

 

Conexão com a Internet

 

Se você pretende conectar a placa à internet via Wifi, siga os passos a seguir. Caso contrário você poderá usar um adaptador USB Ethernet e ela irá se conectar automaticamente à sua rede local.

 

Após energizar a Dragonboard, e com a conexão serial aberta, o login do root é feito automaticamente, não precisando entrar com nenhuma senha. Vamos agora configurar a conexão wireless através dos seguintes comandos na placa:

 

Atente-se ao comando "wpa_passphrase SSID PASSWORD". Você deverá substituir o SSID pelo nome de sua rede wifi e PASSWORD para sua respectiva senha.

 

Agora vamos reiniciá-la com o comando:

 

Se optar por acessar a placa via ssh, utilize o usuário linaro e senha linaro.

 

 

Instalação de pacotes adicionais

 

Após reiniciada e com o devido acesso à internet, vamos instalar os pacotes adicionais atráves dos seguintes comandos na Dragonboard:

 

 

Rodando a aplicação

 

Para coletar os dados de frequência da CPU (em Hz), endereço IP local, redes wifi (SSID, dBm e qualidade do sinal), dispositivos bluetooth (nome e endereço MAC) próximos e posterior envio ao dweet foi desenvolvida a seguinte aplicação:

https://gist.github.com/diegosueiro/2c52114e7cb253988e70890b621382f3

 

O programa aceita os seguintes parâmetros:

  • -h,--help
  • -t,--thingname=some_fancy_name -> url at: http://dweet.io/follow/some_fancy_name (mandatory)
  • -w,--wirelesscount -> number of wireless network data to send (optional, default=1)
  • -b,--btcount -> number of bluetooth devices data to send (optional, default=1)
  • -i,--interval -> interval to send data in seconds (optional, default=10)

 

Faça do download da aplicação com os seguintes comandos:

 

E execute-a da seguinte maneira:

 

Certifique-se de escolher um nome diferente para "my-thing-fancy-name".

 

Após iniciada a aplicação abra a seguinte URL em seu browser:

http://dweet.io/follow/my-thing-fancy-name

 

Na figura 1 podemos ver um exemplo da página com os dados enviados periodicamente:

 

Dragonboard dweet - Dados enviados pela Dragonboard no dweet.io
Figura 1 - Dados enviados pela Dragonboard no dweet.io

 

Você pode variar os outros parâmetros citados acima para enviar mais informações, bem como modificar a frequência de envio dos dados.

 

Se desejar criar um dashboard mais aprimorado você pode usar o freeboard.io e integrar com os dados recebidos pelo dweet como o exemplo da figura 2:

 

Integração entre dweet e freedboard para visualização dos dados enviados pela Dragonboard
Figura 2 - Integração entre dweet e freedboard para visualização dos dados enviados pela Dragonboard.
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Diego Sueiro
Formado em Engenharia de Controle e Automação pela UNIFEI e CEO do Embarcados, atualmente trabalho na Inglaterra com Desenvolvimento de Sistemas Linux Embarcado Real Time. Sou consultor e desenvolvedor de software para Sistemas Embarcados com vasta experiência em projetos com processadores de 8bits a 32bits, sistemas bare metal, RTOS, Linux Embarcado e Android Embarcado. Um apaixonado por Pink Floyd e Empreendedorismo.

2
Deixe um comentário

avatar
 
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Diego SueiroAnderson Ignacio da Silva Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Anderson Ignacio da Silva
Visitante
Ânderson Ignacio da Silva

Excelente artigo Diego, parabéns! Uma dúvida que tenho é se poderia utilizar o mesmo script ou equivalente para outras SBC's que possuíssem os mesmo pacotes como wpa_supplicant e tal?

Diego Sueiro
Visitante
Diego Sueiro

Olá Anderson,

Com toda a certeza.