Die Internationale Raumstation mit Ubidots verfolgen

Agustin Pelaez
· 3 Minuten Lesezeit
Per E-Mail versenden

Bist du ein Weltraumfan und träumst davon, eines Tages die Sterne zu erreichen? Dieses einfache Projekt könnte dein erster Schritt dorthin sein. Verfolge die Internationale Raumstation mit Ubidots und erhalte jedes Mal eine Benachrichtigung, wenn sie vorbeifliegt.

Die Internationale Raumstation (ISS) ist ein bemannter Satellit in der niedrigen Erdumlaufbahn, der seit seinem Start im November 1998 Experimente durchführt und Weltraumdaten sammelt. Sie beherbergt jeweils sechs Besatzungsmitglieder, umkreist die Erde und übermittelt täglich Millionen von Datenpunkten. Diese Daten werden in der Weltraum-, Chemie-, Biologie- und Psychologieforschung genutzt und kommen uns allen auf der Erde zugute.

Im vergangenen Jahr haben sich die IT-Unternehmen Texas Instruments und die NASA zusammengetan, um das Bewusstsein und die Aktivitäten von Mittelstufenschülern und Oberstufenschülern im Bereich Naturwissenschaften, Technologie, Ingenieurwesen und Mathematik (STEM) zu steigern und sie zum Problemlösen, logischen Denken und zur Modellierung der praktischen Anwendung des STEM-Kerncurriculums anzuregen, das Fachleute täglich zur Unterstützung der Internationalen Raumstation verwenden.

Als Förderer von MINT-Fächern und IT wollten Ubidots und unsere Ingenieure aktiv werden und unsere IoT Software in spannende MINT-Projekte weltweit einbinden. Und da MINT, die Internationale Raumstation (ISS) und Ubidots globale Organisationen sind, liegt es nahe, die ISS zu verfolgen und sich benachrichtigen zu lassen, sobald sie über uns hinwegfliegt.

Mit Open Notify, entwickelt von Nathan Bergey, lassen sich die ISS-Positionsdaten in Echtzeit an Ubidots . Durch das Auslesen der Live-Daten von Open Notify können wir die Entfernung zwischen der ISS und Boston (zum Zeitpunkt des Verfassens dieses Blogbeitrags) messen und die Daten anschließend auf Ubidots .

Um dies zu tun, geben Sie den unten stehenden Quellcode mit dem Texteditor Ihres Raspberry Pi . Achten Sie darauf, Ihre Zugangsdaten mit Ihrem eigenen API-Schlüssel und Ihrer Variablen-ID zu aktualisieren und die Koordinaten an Ihren Standort anzupassen. Informationen zum Senden eines Kontexts an die Ubidots -API finden Sie in unserer Dokumentation.

Hinweis: Dieses Skript verfolgt lediglich die Position der ISS und berechnet mithilfe einer Standardformel ihre Entfernung zu einem bestimmten Punkt auf der Erde. Es spiegelt keine tatsächlichen Sichtungsmöglichkeiten wider, da diese stärker von Wetter- und Zeitvariablen als von der reinen Nähe (d. h. dem Standort relativ zu Ihnen) abhängen.

Haben Sie eine Projektidee, um etwas in Echtzeit zu verfolgen?

Klicken Sie hier Ubidots zu beginnen .

from ubidots import ApiClient import requests,time from math import * # Verbindung zu Ubidots herstellen api = ApiClient('a21ebaf64e14d195c0044fcxxb9f6dab9d653af3') # Lokale Variable von Ubidots instanziieren local_distance = api.get_variable('54ca7a2176254xxxfd4b9493f') def main(): while(1): # Aktuelle ISS-Position abrufen 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'] # Entfernung zum Startpunkt berechnen lat2 = 50.085305 lon2 = -5.315853 d = getDistance(lat1,lon1,lat2,lon2) d = round(d,1) # Wert an Ubidots senden local_distance.save_value({'value':d,'context':{'lat':lat1,'lng':lon1}}) time.sleep(1) def getDistance(lat1,lon1,lat2,lon2): R = 6371; # Erdradius in km dLat = deg2rad(lat2-lat1); # deg2rad unten 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; # Distanz in km return d; def deg2rad(deg): return deg * (pi/180) if __name__ == '__main__': main()

Sobald die Daten an Ubidotsgesendet werden, können Sie eine Benachrichtigung einrichten, die ein Ereignis auslöst, sobald die Station in der Nähe vorbeifliegt. Wir haben hier eine Benachrichtigung erstellt, die mich per E-Mail informiert, sobald die ISS weniger als 300 m von Boston entfernt ist.

Projekthinweis: Dieses Skript verfolgt die Position der ISS und berechnet mithilfe einer Standardformel ihre Entfernung zu einem bestimmten Punkt auf der Erde. Die tatsächlichen Sichtungsmöglichkeiten werden dadurch nicht abgebildet, da diese von mehr als nur der Nähe abhängen (z. B. Tageszeit und Wetter).

Viel Spaß beim Hacken 🙂