martedì 12 dicembre 2017
Home / Curiosità / Rasberry Pi e i lanci spaziali
nasa space shuttle
Photo by NASA on Unsplash

Rasberry Pi e i lanci spaziali

Da sempre lo spazio ha affascinato le persone, dall’osservarzione delle stelle, all’ esplorazione di Marte, fino a altri incredibili obbiettivi.
Si sente parlare sempre delle missioni più celebri con gli astronauti più famosi, ma più di quanto immagini vengono eseguiti lanci spaziali da molte nazioni e a volte con tanto di video in diretta su Youtube, quindi perché non venire avvisati dei vari lanci spaziali dal nostro fedele Raspberry Pi?

Un ottimo sito con tanto di API da poter sfruttare per recuperare molte informazioni sui lanci spaziali è Launch Library che nella sua homepage raccoglie in modo semplice e pulito l’elenco dei prossimi lanci spaziali in ordine di data, con le informazioni più importanti, ma che grazie alle API permette di avere accesso a molto di più.

Prerequisiti

Per recuperare le informazioni tramite Python3, attualmente siamo alla versione 3.5, sono necessarie le librerie requests e json

quindi sarà sufficiente importarli nel nostro script Python così

Raccolta dati

Adesso che siamo pronti, possiamo raccogliere tutti i dati che vogliamo tramite le API, inviando una richiesta HTTP GET e ricevendo come risposta i dati in formato JSON.

launch library

I tipi di richieste sono molti, dal cercare solo determinati lanci, razzi o agenzie spaziali, per esempio volendo cercare solo la Soyuz.

In questo esempio ho voluto usare la richiesta del prossimo lancio, la quale si può cambiare il numero finale per avere per esempio i prossimi cinque lanci.

Assegnamo la richiesta ad una variabile

e successivamente convertiamola in formato JSON

scrivendo

ne vedremo il contenuto.

Per capire facilmente la struttura dei dati JSON raccolti, apriamo il link della richiesta da un browser, copiamo il contenuto del sito jsonviewer nella sezione text, passiamo nel tab viewer il quale ci darà una facile rappresentazione visuale.

E’ importante notare i punti in cui la struttura di divide con le parentesi grafe {0} , come vedremo dopo ci serviranno per recuperare i dati corretti, anche se in questo esempio ho usato un solo lancio, quindi solo {0} che nello script diverrà [0].

Lettura dei dati

E’ arrivato il momento di  leggere i dati raccolti nella variabile richiestajson, per farlo basterà partire dal primo ramo (launches) seguito dal numero dell’indice.

Dove inviarli?

Abbiamo tutti i dati che volevamo, raccolti in comode variabili, poi programmeremo un loop o crontab per ripetere il controllo ad intervalli regolari, e infine che ne faremo? Sta a voi la scelta!

Si potrebbero inviare i dati ad un display, oppure su Telegram, far lampeggiare un LED in prossimità dell’ora di partenza,  inviare i dati allo smart watch o magari inviare un tweet con i link delle dirette su Youtube, come sempre con Raspberry Pi, il limite e la fantasia.

Se vuoi restare aggiornato seguici sui nostri social: Facebook , TwitterYouTubeGoogle+Telegram

Riferimenti utili

A proposito di Enrico Sartori

Tecnico Microsoft da oltre un decennio, appena ho tempo cerco di imparare un po’ di tutto.

Vedi Anche

MagPi in Italiano! – Numero 63: costruisci una ARCADE MACHINE

Ricordate i giochi arcade? I coin-op? I videogiochi “da bar”? Comunque li chiamavate, per più …

Powered by themekiller.com