BeagleBone Black - Localização aproximada via IP

localização aproximada via IP

A BeagleBone Black é, assim como as Raspberry Pi, uma das SBC (Single-Board Computer) mais populares atualmente. Afinal, a ideia de um computador completo  de pequenas dimensões rodando um Sistema Operacional Linux abre possibilidade para uma infinidade de projetos nas mais diversas áreas (por exemplo: visão computacional, processamento de sinais, robótica e automação residencial). Com o crescente uso da chamada Internet das Coisas, o uso desta SBC foi ainda mais acentuado, devido ao suporte nativo à rede (via Ethernet). 

 

Considerando esta vertente de aplicações (aplicações que envolvam Internet), este artigo mostrará como obter, via Internet, a localização geográfica aproximada via IP da BeagleBone Black.

 

 

Requisitos

 

Para reproduzir o conteúdo deste artigo, é necessário:

  • Possuir uma BeagleBone Black;
  • Possuir um cabo de rede (e um roteador com uma conexão de rede disponível);
  • Fonte de alimentação 5V (recomendável: 5V / 2A);
  • Possuir conhecimentos básicos em programação Python;
  • Possuir noções básicas de requisições HTTP e de JSON.

 

 

Ambiente - BeagleBone Black

 

A BeagleBone Black utilizada não teve seu sistema operacional regravado, ou seja, foi utilizado o que já veio de fábrica. No caso, a BeagleBone Black utilizada continha a seguinte distribuição Linux de fábrica:

 

Distribuição Linux utilizada na BeagleBone Black
Figura 1 - distribuição Linux utilizada na BeagleBone Black

 

Além disso, foi modificada a conectividade para IP fixo, para fins de facilitar o acesso à mesma via SSH.

 

 

Acesso à BeagleBone Black

 

Para a reprodução deste tópico, é necessário o acesso à BeagleBone Black via SSH ou via terminal serial.

 

 

Projeto

 

O projeto, em termos de hardware, é muito simples: a BeagleBone Black alimentada pela fonte de 5V e ligada à rede de computadores via Ethernet.

 

Em termos de software, consiste de um pequeno script Python capaz de enviar uma requisição HTTP a um webservice / API (http://ip-api.com/, free), o qual retorna a localização geográfica aproximada da placa na forma de um JSON. Em posse destas informações, o script Python faz o parse deste JSON e exibe as informações na tela.

 

Este processo é repetido a cada dez segundos, sobretudo devido a limitações de requisições ao webservice/API (são permitidas apenas 150 requisições por minuto).

 

O script Python pode ser visto abaixo. Para finalizá-la, basta pressionar qualquer tecla.

 

 

 

Resultado e conclusão

 

A figura 2 mostra o resultado da execução / teste do script na BeagleBone Black:

 

Resultado da execução do script Python
Figura 2 - Resultado da execução do script Python

 

Comparando com minha real localização, houve um erro de alguns quilômetros, o que leva à conclusão que o script é eficaz quando se trata de saber a região / cidade em que se está, não o endereço exato. Apesar desse fato, esta noção de localização pode ser útil em algumas aplicações, poupando o uso e custo de um módulo GPS em casos onde é preciso ter apenas alguma noção da localização real.

 

 

Referências

 

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.

Pedro Bertoleti
Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com desenvolvimento de sistemas embarcados em São Paulo capital. Curioso e viciado em tecnologia, sempre busco me aprimorar na área de eletrônica e programação, em especial em desenvolvimento de firmware (área que mais gosto de trabalhar e estudar).Para mais informações, acesse minha página no Facebook:https://www.facebook.com/pbertoleti

Deixe um comentário

avatar
 
  Notificações  
Notificar