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

Stap 2: Wanneer zal ISS vliegen hier?


Deze functie kwam in een andere blog. Tijdens het werken op een antwoord, ik dacht dat het zou een leuke feature voor de ISS-tracker sinds het hoofdmenu nog een beetje leeg was. Het script maakt geen gebruik van nieuwe functionaliteit van de SenseHat. In feite het alleen de uitvoer wordt weergegeven op het lcd-matrix. Ik opgeslagen het script als een nieuwe release, dus de eerste versie ook nog steeds beschikbaar is. U vindt hier het nieuwe script: versie 1.0

Voor een antwoord op de vraag 'Wanneer is de volgende keer dat ISS over de locatie van de RPi vliegen zal?', we moeten krijgen van de huidige locatie van de RPi ('Waar ben ik?') en een projectie van die locatie op het ISS vlucht regeling ('Wanneer ISS zullen hier?').

De Google Maps Geocoding API (voor dynamische Geocoding) kunnen produceren locatiegegevens op allerlei verschillende verzoeken. Ik gebruikte het mac-adres van de Wifi-ontvangst te plaatsen voor de coördinaten van de locatie. Python biedt de 'uuid-bibliotheek' te krijgen dat mac-adres, dus we moeten importeren het eerste ('van uuid importeren getnode als get_mac'). De bibliotheek resulteert in het adres als een geheel getal van 48 bits. Google verwacht een indeling met:'s en hoofdletters hexadecimale cijfers. De conversie kan worden gemaakt op een enkele regel:

"MAC = ':'.join (("% 012 X"% mac) [i:i + 2] voor ik in bereik (0, 12, 2))'

Deze blog was niet verondersteld worden over string handling in Python, dus ik het hier laat. De aanroep van de api van Google moet een specifiek formaat, zodat de volgende lijnen de json-object en de kop zijn gemaakt.

Voor het gebruik van Google api is, moet een specifieke API_Key. Dat zijn persoonlijke sleutels; dus ik uit de sleutels in het script gewist, maar u kunt een persoonlijke sleutel op krijgen: GeoCoding voor persoonlijk gebruik de toetsen zijn gratis en zijn beperkt tot 2.500 roept een dag. (Dus niet gebruiken in een lus.)

Als er een probleem (zoals te veel gesprekken) zal een HTTPErrorterugkeren in de api's. Aangezien die fout een subklasse van URLError is en ik niet meer informatie hoefde gebruikte ik alleen de URLError uitzondering.

Het antwoord is een json-record bestaat uit een aaneenschakeling van gelaagde woordenboeken. Je moet ze afschilferen om de coördinaten we moeten.

Dus, om antwoord op de vraag 'waar ben ik?', het script haalt het mac-adres en stuurt dit in een post naar een Google-api. Dit is voldoende gegevens op te bouwen de volgende vraag, maar ik vond het leuk, om één of andere leesbare info van de locatie weer te geven. Daarvoor gebruikte ik de geretourneerde coördinaten voor een post naar een tweede Google api voor Geocoding omgekeerd. Voor deze api moet u een tweede API_KEY en het zal een enorme json record terugkeren. Dus schillen het script van die structuur te verkrijgen van een 'formatted_address'. Let wel: de inhoud van de 'formatted_address' verschilt per situatie! In mijn geval retourneert het gewoon stad en land, dat alles wat ik wilde was, maar als je in de VS, zult u waarschijnlijk ontvangen straatnaam, huisnummer en postcode evenals (die is een maar te veel voor de weergave op de lcd-matrix).

Omdat ik niet ingaan wilde op verschillende nesten 'proberen-met uitzondering van' verklaringen, ik de oproepen onderverdeeld in verschillende Python functies en bijhouden van de stroom door verschillende Booleans (URLn_FOUND). Niet precies een bijdrage aan de leesbaarheid van het script, maar ik probeerde om het te houden zo eenvoudig en transparant mogelijk. Pro programmeurs zal zeker komen met betere manier, gebruik van klassen, etc.

Dus de volgende vraag ('Wanneer zal ISS vliegen over'), met een eenvoudige aanroep van de api op "open-notify.org" kan worden beantwoord. Deze api retourneert een matrix van datum, tijd en duur. De duur is gebaseerd op de momenten dat ISS bij ongeveer 20 graden boven de horizon zullen. Ik heb alleen gebruikt voor het eerste item (de volgende degenen zal verschillen ongeveer 90 minuten elke tijdig - rondetijd van ISS - en natuurlijk in duur).

Nou, maakt dit Sense(hat)? Ik weet het niet. Naar mijn mening de SenseHat is in wezen over milieugegevens en gemakkelijk worden getoond op een lcd-matrix. Mijn hobby is het opbouwen van (bijna) autonome robots. De SenseHat kan produceren (sommige) IMU gegevens te gebruiken bijvoorbeeld met een balancing robot. Omdat de GPIO pinnen niet langer toegankelijk, moet communiceren met servo's, dc/stappenmotoren, lidar/ir/ons-sensoren, etc. gebeuren via een andere microprocessor board. (Serieel) Communicatie tussen planken brengt in geen onnodige latency. Dus voorlopig blijf ik bij mijn huidige architectuur: met behulp van microprocessoren zoals Arduino aan te pakken met het 'firmware' deel (sensoren, actuatoren/motoren, met inbegrip van balancing/odometry) en hebben de RPi deal met meer zware logica en -verwerking, zoals computer-visie.

Niettemin was het leuk spelen met de SenseHat en ik ben echt dol op de Astro Pi-project.

Het verlaten van het hoofdmenu in het script met één vacature... Dus, ik ben echt geïnteresseerd in ideeën!

Misschien... Een functie zou werken een zaklamp, 'Groeten ISS bemanning' in Morse knippert telkens wanneer het ISS voorbij aan uw huis gaat?

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