Rastreando a Estação Espacial Internacional com Ubidots

Agustin Pelaez
· 3 min de leitura
Enviar por e-mail

Você é um entusiasta do espaço e sonha em alcançar as estrelas um dia? Este projeto rápido e simples pode ser o primeiro passo para realizar esse sonho. Rastreie a Estação Espacial Internacional com Ubidots e receba um alerta sempre que a estação passar por perto.

A Estação Espacial Internacional (ISS) é um satélite tripulado em órbita baixa que realiza experimentos e coleta dados espaciais desde seu lançamento inicial em novembro de 1998. Com capacidade para seis tripulantes por vez, essa espaçonave orbita a Terra constantemente, retransmitindo milhões de pontos de dados diariamente. Esses dados são utilizados em pesquisas espaciais, químicas, biológicas e psicológicas, beneficiando todos nós que ainda habitamos a Terra.

No ano passado, as empresas líderes em TI, Texas Instruments e NASA, uniram forças para aumentar a conscientização e a participação de alunos do ensino fundamental e médio na exploração das áreas de ciência, tecnologia, engenharia e matemática (STEM, na sigla em inglês), incentivando-os a resolver problemas, raciocinar e aplicar na prática o currículo básico de STEM que os profissionais utilizam diariamente para dar suporte à Estação Espacial Internacional.

Como apoiadores de STEM e de tudo relacionado à TI, Ubidots e nossos engenheiros quiseram participar da iniciativa e encontrar uma maneira de utilizar nosso software IoT em alguns dos projetos STEM incríveis que estão acontecendo em salas de aula ao redor do mundo. E, como STEM, a Estação Espacial Internacional e Ubidots são organizações globais, que melhor maneira de trabalhar com a ISS do que rastreá-la e notificá-lo sempre que ela estiver passando por cima de nossas cabeças?.

Utilizando o Open Notify, disponibilizado por Nathan Bergey, você pode facilmente enviar atualizações da posição da ISS em tempo real para Ubidots. Ao ler os dados ao vivo do Open Notify, conseguimos medir a distância entre a ISS e Boston (no momento em que escrevo este post) e, em seguida, publicar todos os dados no Ubidots para sua apreciação.

Para isso, insira e atualize o código-fonte abaixo usando o do seu Raspberry Pi . Certifique-se de atualizar suas credenciais com sua chave de API e ID da variável, além de alterar as coordenadas para corresponder à sua localização. Para saber como enviar um contexto para a Ubidots , consulte nossa documentação.

Observação: Este script apenas rastreia a posição da ISS e usa uma fórmula padrão para calcular sua distância a um ponto específico da Terra. Ele não reflete as oportunidades reais de observação, pois estas dependem mais de variáveis ​​meteorológicas e de tempo do que simplesmente da proximidade (ou seja, da localização em relação a você).

Tem uma ideia de projeto para monitorar algo em tempo real?

Clique aqui para começar a usar Ubidots.

from ubidots import ApiClient import requests,time from math import * #Conectar ao Ubidots api = ApiClient('a21ebaf64e14d195c0044fcxxb9f6dab9d653af3') #Instanciar variável local do Ubidots local_distance = api.get_variable('54ca7a2176254xxxfd4b9493f') def main(): while(1): #Obter posição atual da ISS req_iss = requests.get('http://api.open-notify.org/iss-now.json') dict = req_iss.json() latlong = dict['iss_position']; lat1 = latlong['latitude'] lon1 = latlong['longitude'] # Calcular a distância até casa lat2 = 50.085305 lon2 = -5.315853 d = getDistance(lat1,lon1,lat2,lon2) d = round(d,1) # Enviar valor para o Ubidots local_distance.save_value({'value':d,'context':{'lat':lat1,'lng':lon1}}) time.sleep(1) def getDistance(lat1,lon1,lat2,lon2): R = 6371; # Raio da Terra em km dLat = deg2rad(lat2-lat1); # deg2rad abaixo dLon = deg2rad(lon2-lon1); a = sin(dLat/2) * sin(dLat/2) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * sin(dLon/2) * sin(dLon/2) c = 2 * atan2(sqrt(a), sqrt(1-a)); d=R*c; # Distância em km retorno d; def deg2rad(deg): retorna deg * (pi/180) se __name__ == '__main__': main()

Assim que os dados forem enviados para o Ubidots, você pode agendar um alerta para disparar um evento sempre que a estação estiver passando perto. Aqui, criamos uma notificação para que eu receba um e-mail sempre que a ISS estiver a menos de 300 metros de Boston.

Aviso do projeto: Este script rastreia a posição da ISS e usa uma fórmula padrão para calcular sua distância a um ponto específico da Terra. Isso não refletirá as oportunidades reais de observação, pois estas dependem de mais fatores além da proximidade (como horário do dia e condições climáticas).

Boa sorte com a programação 🙂