Rastreando a Estação Espacial Internacional com Ubidots
Você é um entusiasta do espaço e sonha um dia alcançar as estrelas? Este projeto rápido e simples pode ser apenas o primeiro passo para chegar lá. Acompanhe a Estação Espacial Internacional com Ubidots e receba um alerta sempre que a estação passar.
A Estação Espacial Internacional (ISS) é um satélite tripulado de órbita baixa que tem conduzido experimentos e coletado dados espaciais desde seu lançamento inicial em novembro de 1998. Abrigando 6 tripulantes por vez, esta nave está constantemente orbitando a Terra e retransmitindo milhões de pontos de dados todos os dias. Dados que são usados em pesquisas espaciais, químicas, biológicas e ficológicas para beneficiar todos nós que ainda ocupamos a Terra.
No ano passado, os líderes de TI Texas Instrument e NASA se uniram para aumentar a conscientização e a atividade de alunos do ensino fundamental e médio para explorar ciência, tecnologia, engenharia e matemática (STEM) e envolvê-los na resolução de problemas, raciocinar e modelar para praticar o currículo STEM básico que os profissionais usam todos os dias para apoiar a Estação Espacial Internacional.
Como apoiadores de STEM e de todas as coisas de TI, Ubidots e nossos engenheiros queriam se divertir e encontrar uma maneira de utilizar nosso software IoT com alguns dos projetos STEM interessantes que acontecem em salas de aula em todo o 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 ser capaz de rastreá-la e notificá-la sempre que ela estiver passando por cima dela.
Usando o Open Notify possibilitado por Nathan Bergey você pode facilmente enviar atualizações da posição da ISS em tempo real para Ubidots . Ao ler seus dados ao vivo do Open Notify, podemos medir a distância entre a ISS e Boston (quando sou o autor deste blog) e, em seguida, postar todos os dados no Ubidots para seu prazer.
Para fazer isso, insira e atualize o código-fonte abaixo com o do Raspberry Pi . Certifique-se de atualizar suas credenciais com sua própria chave de API e ID de variável, além de alterar as coordenadas para corresponder à sua localização. Para saber como enviar um contexto para a Ubidots , confira nossa documentação.
Nota: Este script apenas rastreia a posição da ISS e usa uma fórmula padrão para calcular sua distância até um ponto específico na Terra. Não reflete oportunidades reais de avistamento, pois depende mais de variáveis climáticas e de tempo do que simplesmente da proximidade (ou seja, localização relativa a você).
Tem uma ideia de projeto para acompanhar algo em tempo real?
Clique aqui para começar a usar Ubidots .
de ubidots importa solicitações de importação de ApiClient, tempo de importação matemática * #Conectar a Ubidots api = ApiClient('a21ebaf64e14d195c0044fcxxb9f6dab9d653af3') #Instanciar variável local de Ubidots local_distance = api.get_variable('54ca7a2176254xxxfd4b9493f') def principal(): enquanto(1): #Obter a posição atual do 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 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 de 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 Ubidots , você pode agendar um alerta para acionar um evento sempre que a estação estiver passando por perto. Aqui construímos uma notificação de que sempre que a ISS estiver a menos de 300m de Boston, receberei um email.
Aviso do projeto: Este script rastreia a posição da ISS e usa uma fórmula padrão para calcular sua distância até um ponto específico na Terra. Isto não reflectirá oportunidades reais de avistamento, pois depende de mais do que simplesmente proximidade (isto é, hora do dia e condições meteorológicas).
Feliz hacking 🙂