Live ISS tracker met behulp van de Raspberry Pi met een SenseHat (bijgewerkt) (1 / 2 stap)

Stap 1: Het script

U vindt het volledige script op: Bitbucket

Eerste van alle bibliotheken nodig:

  • SenseHat bibliotheek. (I vervangen de standaard geïnstalleerde RTIMUlib door RTIMUlib2)
  • opdracht van het OS en sys als beëindiging van de uitvoering van het script parseren
  • json voor het ophalen van de gegevens van de API roept in een Python woordenboek
  • urllib2 voor toegang tot de URL's via het web
  • DateTime en tijd voor de hand liggende redenen
  • pygame voor interpretatie van de gebeurtenissen van de joystick
  • IssFlags een tweede Python script met alle definities van de sprite van de vlaggen

De main-sectie bevat de instructies om op te halen van de gebeurtenissen (joystick bewegingen) van de wachtrij pygame. Dit deel moet altijd in de hoofdlus van het script. De joystick is een 5-weg knop (omhoog, omlaag, links, rechts, Press), die 10 verschillende evenementen (5 keer ToetsOmhoog (KeyUp), 5 keer KEYDOWN produceert). Wanneer de joystick te duwen, produceert een 2 evenementen (KEYUP en KEYDOWN) met de zelfde keycode (omhoog, omlaag, links, rechts). Ik eerst de wachtrij schoongemaakt na het lezen van een enkele gebeurtenis, maar wanneer ik de functie trackISS() toegevoegd aan de hoofdlus, in sommige eigenaardige manier, pygame beide evenementen afgehandeld voordat u de wachtrij. Voor die reden de handle.event() functie begint met een filter op Evenementtype. De rest spreekt voor zich.

trackISS() werd toegevoegd aan de hoofdlus te maken het script ietsje levendiger: wanneer er geen toetsen worden gebruikt, de locatie van het ISS wordt weergegeven. De functie is eenvoudig gehouden: een json-record van de API krijgen, de gegevens die worden ontvangen via een aanroep naar een tweede API verrijken en de resultaten weergeven.

Een beschrijving van de API's en voorbeelden over het gebruik van hen kan worden gevonden op: ISS API's

De gegevensstructuur van de json-records kan ook gemakkelijk worden opgehaald door de url te kopiëren in een browser. (Na alle een API is gewoon een 'niet-zo-goed-op zoek-url'.) A 'proberen-met uitzondering van' verklaring omgaat met toegang tot de API-url. Dit wordt gedaan om te voorkomen dat het script van het verpletteren wanneer de url is niet toegankelijk (veroorzaakt door bijvoorbeeld verlies van wifi, een glitch van uw provider of onderhoud gedaan op de API-server, enz.).

De eerste API geeft als resultaat een heleboel gegevens zoals zonne-coördinaten, de snelheid, de zichtbaarheid en de coördinaten van de aarde. Om te verrijken deze gegevens met een landcode en de huidige tijdzone, moeten de lengte- en breedtegraad geretourneerd door de eerste API aan de tweede URL worden toegevoegd door eenvoudige tekenreekskoppeling.

De tweede API retourneert alleen gegevens wanneer het ISS boven land is. Boven zee de API geeft als resultaat de beruchte "404 pagina niet gevonden fout". Dus, na het controleren van de beschikbaarheid van de url, het script controleert of er een HTTPError ook. Wanneer het ontmoeten van een HTTPError, wordt de ligging aan zee weergegeven. Als gegevens wordt geretourneerd, wordt de landcode wordt gebruikt om te zoeken naar de gegevens van de vlag.

De functie showLevels() behandelt de pitch en roll gegevens. Het bevat een lus controleren de richting van de RPi en timing van de niet-actieve positie van de framboos. Elke keer als de RPi wordt verplaatst binnen de maximale tijd, wordt het aantal rijen en collumns berekend en weergegeven. De grootte van de matrix lcd (8 x 8) bepaalt de resolutie van het niveau (180 degr / 8). Aangezien er geen centrum/midden van de matrix is, wordt de rij/kolom om mee te beginnen dient te worden bepaald elke keer, afhankelijk van het verkeer (neus of staart, links of rechts). Het is geen geavanceerde codering, enkel behandeling elke eis/beperken op een moment.

De environmentals() functie roept enkel voor elke sensor tegelijk. De codering voor elke sensor komt rechtstreeks uit de voorbeelden van de SenseHat (de map is onderdeel van de installatie). Wees ervan bewust dat de magnetometer aangedrongen de gyroscoop en de accelerometer schakelt. Hebt u om in te schakelen die elke keer met behulp van de 'set_imu_config (bool, bool, bool)' verklaring.

Tot nu toe voor wat ik uit de SenseHat krijgen kon. Hopelijk helpt het mensen met de eerste stappen met behulp van de Raad van bestuur. Ik ben benieuwd naar andere/nieuwe ideeën voor apllications. En natuurlijk voel je vrij om duwen meer vlaggen in het IssFlag.py-script.

Gerelateerde Artikelen

SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

Achtergrond van het verzenden van SMS vanaf website met Raspberry PiBent u nieuwsgierig naar de meest eenvoudigste manier om SMS te verzenden vanaf uw website? Tegenwoordig, ik ben echt geïnteresseerd zijn in het gebied van Internet of Things (IoT) g
Uitvoering van de MP3-speler met behulp van de Raspberry Pi

Uitvoering van de MP3-speler met behulp van de Raspberry Pi

Uitvoering van de MP3-speler met behulp van Raspberry PiVia dit instructable kun je mp3-bestanden op een USB flash drive met behulp van de raspberry pi.Vereisten:1-raspberry Pi B rev2.2-SD kaart met Raspbian OS.3 - weerstand 10 k ohm (2).4 - led ("1)
Met behulp van de Intel Edison op een koud gassysteem voor de controle van de reactie voor een raket klinkende

Met behulp van de Intel Edison op een koud gassysteem voor de controle van de reactie voor een raket klinkende

Wat is het doel van het maken van een controlesysteem reactie?Conventionele houding controlesystemen voor amateur-raketten gebruikt bijgevoegde vinnen, die stabiliteitscontrole van de passieve bieden. Voor het uitvoeren van actieve stabilisatie en ma
Omzetten van uw Raspberry Pi in een HTPC

Omzetten van uw Raspberry Pi in een HTPC

In dit instructable, ik zal u tonen hoe om te zetten van uw Raspberry Pi in een HTPC met een Linuxdistributie genoemd Raspbmc.Van de sectie over van Raspbmc de website:Raspbmc is een minimale Linux-distributie, op basis van Debian die uw Raspberry Pi
Het gebruik van de Raspberry Pi als een Server

Het gebruik van de Raspberry Pi als een Server

De belangrijkste reden achter de ongelooflijke populariteit van de Raspberry Pi is het nut ervan. De kleine computer kan worden gebruikt voor een aantal leuke projecten die niet alleen voorzien in bepaalde behoeften maar ook fantastische leermiddelen
Vergrendelen van uw Raspberry Pi in een menu

Vergrendelen van uw Raspberry Pi in een menu

Vergrendel uw PC als u wilt verlaten van uw Raspberry Pi voor een moment. Anders kunnen kwaad doeners informatie stelen terwijl u weg bent.Stap 1: Menu configurerenOpen terminal emulator cd ~/.config/lxpanel/LXDE-pi/panels<br>vi panel Typ het volgen
2-Player Vewlix geïnspireerd Arcade kast met behulp van de Raspberry Pi 2

2-Player Vewlix geïnspireerd Arcade kast met behulp van de Raspberry Pi 2

In de eerste plaats wil ik zeggen dat de inspiratie voor deze bouwstijl te wijten aan ThereIs0nly0ne en zijn geweldige arcade kabinet is. Ik wist dat ik kon nooit een precies zoals zijn bouwen, ik ben niet dat geschoolde en ik heb geen een fatsoenlij
Met behulp van de Raspberry Pi een ATX voeding

Met behulp van de Raspberry Pi een ATX voeding

Ik ben echt genieten van mijn nieuwe 3D-printer, maar ik gewoon niet kan verlaten mijn laptop aangesloten op de printer de allertijden. Ik weet dat ik kon gewoon SD kaarten gebruiken of gebruik een andere hostcomputer, maar er betere opties zijn. Om
Home Security E-mail Alert systeem met behulp van de Raspberry Pi

Home Security E-mail Alert systeem met behulp van de Raspberry Pi

In deze tutorial zullen we kijken naar hoe te installeren op je raspberry pi foto van de indringer die binnenkomt van uw huis te nemen en stuur een mailtje naar u wanneer u zich niet bij uw huis.Stap 1: BenodigdhedenRaspberry Pi, Raspbian uitgevoerdU
PWM gebaseerd LED controle met behulp van drukknoppen, Raspberry Pi 2 en Scratch

PWM gebaseerd LED controle met behulp van drukknoppen, Raspberry Pi 2 en Scratch

Ik probeerde op zoek naar een manier om uit te leggen hoe PWM werkte aan mijn studenten zodat ik mezelf de taak van het proberen om controle van de helderheid van een LED met 2 drukknoppen - één knop verhoging van de helderheid van een LED en de ande
Met behulp van uw Singstar microfoons op een PC (en record in Audacity)

Met behulp van uw Singstar microfoons op een PC (en record in Audacity)

Hallo iedereen en welkom op dit Instructable!Met de release van open-source alternatief voor Singstar Ultrastar, evenals de neiging van een bepaalde bibliothecaris (jouwe echt) om te komen met projecten voor zijn school waarvoor goedkope hardware- en
Met behulp van Autodesk Inventor te maken een ingekeepte houtbouw (juwelier Bench Tool houder)

Met behulp van Autodesk Inventor te maken een ingekeepte houtbouw (juwelier Bench Tool houder)

als ik breng heel veel van mijn tijd maken op het maken van sieraden, mijn juwelier bankje in tools wordt bedekt dus ik meer opslagruimte nodig voor mijn gereedschap. Dus ik ontwierp deze tool houder in Inventor en als doen ik dacht dat het zou goed
Het naakte ei: Wiebelig, springkussen en squishy met behulp van de wetenschappelijke methode, maken een gewone ei!

Het naakte ei: Wiebelig, springkussen en squishy met behulp van de wetenschappelijke methode, maken een gewone ei!

In dit Instructable, ik zal je laten zien hoe maak je een ei squishy en springkussen met behulp van huishoudelijke artikelen, maar leert u ook hoe de wetenschappelijke methode te gebruiken. Bij het gebruik van de wetenschappelijke methode, onthoud di
Het openen van mijn huis met behulp van de ligger 6 en een android telefoon!

Het openen van mijn huis met behulp van de ligger 6 en een android telefoon!

Als je hebt gelezen mijn instructable op het consolideren van alle mijn Infrarood afstandsbedieningen in mijn android telefoon dan dit de volgende stap die ik genomen is heb voor het maken van mijn Galaxy Note 4 in een echte universele Remote!Verbazi