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 🙂