Levande ISS tracker med Raspberry Pi med en SenseHat (uppdaterad) (2 / 2 steg)

Steg 2: När kommer ISS flyger över här?

Den här funktionen kom över i en annan blogg. Medan du arbetar på ett svar, trodde jag det skulle vara en trevlig funktion för ISS tracker eftersom huvudmenyn var fortfarande lite tomt. Skriptet använder inte nya funktionalitet i SenseHat. I själva verket visar det bara utgång på LCD-matrisen. Jag sparade skriptet som en ny release, så den första versionen är också fortfarande tillgänglig. Du kan hitta den nya skriften här: Release 1.0

För ett svar på frågan "När är nästa gång ISS kommer att flyga över platsen för RPi?", vi måste få den aktuella platsen för RPi ("Var är jag?") och en projektion av den platsen på ISS flight system ("När kommer ISS att här?").

Google Maps Geocoding API (för dynamisk Geocoding) kan producera lokaliseringsuppgifter vid många olika typer av begäran. Jag använde mac-adressen för Wifi värd för att lägga för platsens koordinater. Python ger "uuid-bibliotek" för att få den mac-adressen, så vi måste importera den första ("från uuid importera getnode som get_mac"). Biblioteket returnerar adressen som ett 48-bitars heltal. Google förväntar sig ett format med:'s och versaler hexadecimala siffror. Konvertering kan göras i en enda rad:

"MAC =": ".join (("% 012 X"% mac) [i:i + 2] för jag i intervall (0, 12, 2))"

Denna blogg var inte tänkt för att handla om sträng hantering i Python, så jag lämnar det här. Anropet till Google api behöver ett specifikt format, så i nästa raderna skapas json-objektet och i huvudet.

Om du vill använda Google api's, man behöver en särskild API_Key. De är personliga knappar; så jag raderas ut nycklarna i skriptet, men man kan få en personlig nyckel på: geokodning för personlig användning knapparna är gratis och är begränsade till 2.500 kallar en dag. (Så att inte använda den i en loop.)

Om det finns ett problem (som för många samtal) returneras api's ett HTTPError. Eftersom detta fel är en underklass till URLError och jag behövde inte veta mer använt jag bara URLError undantaget.

Svaret är json rekord som består av en sammansättning av flera lager ordböcker. Har du lossnar dem för att få koordinater vi behöver.

Så, för att svara på frågan 'var är jag?', skriptet erhåller mac-adressen och skickar den i ett inlägg till en Google api. Detta är tillräckligt med data för att bygga upp nästa fråga, men jag tyckte det var trevligt, att visa vissa läsbar information om läge. För detta använde jag returnerade koordinaterna för ett inlägg till ett andra Google api för Omvänd geokodning. För detta api du behöver en andra API_KEY och det kommer tillbaka en enorm json post. Så peeling skriptet av strukturen att få en "formatted_address". Märk: innehållet i "formatted_address" skiljer sig per situationen! I mitt fall bara returneras stad och land, vilket var allt jag ville ha, men om du är i USA, förmodligen får du Streetname, husnummer och postnummer också (vilket är en men för mycket för att visa på LCD-matrisen).

Eftersom jag inte ville gå in på häckar flera 'prova-utom"uttalanden, jag indelat samtal i flera Python funktioner och hålla reda på flödet av flera booleska värden (URL:n_FOUND). Inte precis ett bidrag till läsbarheten av manus, men jag försökte hålla det så enkelt och tydligt som möjligt. Pro programmerare kommer säkert komma med bättre sätt, använder klasser, etc.

Så, nästa fråga ("när kommer ISS flyger över") kan besvaras med ett enkelt samtal till api på "open-notify.org". Detta api returnerar en array av datum, tider och varaktigheter. Varaktigheten är baserat på de stunder ISS kommer att vara på ca 20 grader över horisonten. Jag använde bara den första posten (de nästa som kommer att skilja cirka 90 minuter varje i tid - Varvtid av ISS - och naturligtvis i längd).

Tja, innebär detta att Sense(hat)? Jag vet inte. Enligt min mening visar SenseHat i huvudsak om miljödata och lätt på en lcd-matris. Min hobby är att bygga (nästan) autonoma robotar. SenseHat kan producera (vissa) IMU data att använda till exempel med en balanserande robot. Eftersom GPIO stiften är inte längre tillgänglig, måste kommunicera med servo, dc/stegmotorer, lidar/ir/oss-sensorer, etc. göras genom en annan mikroprocessor ombord. (Seriell) Kommunikation mellan styrelser ger onödig fördröjning. Så nu ska jag sticka till min nuvarande arkitektur: med mikroprocessorer som Arduino att ta itu med den "firmware" delen (givare, ställdon/motorer, inklusive balansering/odometry) och har RPi affären med mer tunga logik och bearbetning, som datorseende.

Det var ändå kul att spela med SenseHat och jag är verkligen förtjust i Astro Pi projektet.

Lämnar huvudmenyn i skriptet med en ledig plats... Så är jag verkligen intresserad av idéer!

Kanske... En funktion för att driva en ficklampa, blinkande "Hälsningar ISS besättning" i Morse varje gång ISS passerar över ditt hus?

Se Steg
Relaterade Ämnen

Bygga en GPS-tracker med Raspberry Pi (författare: Arnoud Buzing)

Detta inlägg visar hur man bygger en enkel GPS-tracker med Wolfram språket på en Raspberry Pi.Steg 1: hårdvaraFör att återskapa detta experiment behöver du följande hårdvara (förutom Raspberry Pi själv):Ultimate GPS BreakoutUSB till seriell kabel för...

Realtid GPS Tracker med integrerad Google Maps

Detta projekt beskrivs hur du kan bygga en mobil realtid GPS tracker med integrerad Google Maps. Jag började detta projekt främst för att se om jag kan integrera alla olika bitar av hårdvara och programvara för att få en fungerande lösning, och det t...

Bygga en ISS pekaren Tracker med Adafruit HUZZAH ESP8266

Översikt – del 1 Alt/Az pekarenExpanderande på min Stepper Motor controller med Adafruit Huzzah ESP8266 WiFi modul genom att lägga till en liten Servo, skapade jag en mekanisk anordning som kan flytta i Azimut (med en Stepper) och höjd (med en Servo)...

Dual axis solar tracker med online energi monitor

Projektet var ett av mina sista projekt jag gjorde på min utbytesstudier i Finland.För detta projekt arbetat jag tillsammans med Fatbardh.Detta är en mycket större och mer avancerad version av ett av mina första projekt någonsin.Också en solar tracke...

Manipit - IRONMAN JARVIS-liknande Hand Motion Tracking med målade handskar

Note(May, 12, 2015) ***Om du inte kan titta på videon från den inbäddade filen, du kan titta på det här!********************************Har du sett filmen, "Iron Man"?I filmen manipulerar Tony virtuella objekt av hans hand rörelser.Det är riktig...

Arduino Solar Tracker med lysdioder!

Så jag kom nyligen över lite information hade jag glömt. Lysdioder generera lite spänning när under belysning av ett spektrum av våglängder. Dags att utnyttja denna underlighet för att göra en DIY solar tracker för mina solpaneler!Koden finns över på...

Motion Tracker med PIRs, Arduino och en Servo

detta är min motion tracking huvudet med fyra PIRs (passiva infraröda sensorer), en Arduino Uno styrelse och en servo.Det är ett enkelt sätt att ge intryck av att huvudet (birdy) faktiskt följer rörelsen.Det är mycket lätt att bygga men lite tidskräv...

Solar tracker med arduino - från varje dag material

Här solar tracker modellera konstruktion är så enkelt att det finns inget behov av ett fullt utrustat laboratorium för att skapa den. Jag gjorde det faktiskt i mitt kök! Å andra sidan är huvudtanken och mjukvaran så att jag skulle våga använda dem i...

Face Tracking med bearbetning och OpenCV

datorseende är otroligt. Chansen att se världen omkring dem kan computational processer. Det är nödvändigt för många robotic program, maskininlärning och interaktiva projekt. OpenCV är ett open source bibliotek dator vision som gör datorn vision funk...

Hur man gör en GSM läge Tracker med AdaFruit FONA och Arduino

IntroduktionI denna handledning som vi kommer att göra en webb ansluten plats logger med Adafruit FONA styrelsen, en Arduino och Sparkfun datatjänst. Det kommer att få sin position med hjälp av triangulering och skicka den till en online-databas med...

GPS bil tracker med Intel Edison

Gå till nästa projekt med hjälp av Intel Edison transport och säkerhet kittet skapade jag ett mycket grundläggande program för att spåra en bil med Grove GPS. Detta projekt tog mig lite mer arbete på grund av komplexiteten av att hantera GPS-data och...

Robot objekt Tracker med CV

Detta är ett projekt vi har genomfört för vår robotics klass. Man använder OpenCV för att spåra objektets plats av färg. Sedan översätts läge informationen till kommandon som styr roboten att ett gröna mål genom en mikrokontroller.Steg 1: Att få mate...

Cellulära GPS tracker med Cloud kartor

detta projekt visar dig hur man bygger en enhet som spår GPS-position, skickar data via en Skywire cellulära anslutningen till molnet och tomter GPS-koordinater på kartan cloud anslutna spår som kan nås från en dator eller smart-telefon i världen.Ste...

IPhone / iPod Touch bindemedel klipp stå med kabel etablera uppdaterad

inspirerade av andra (Tack killar du vet vem du är) jag bestämde mig att ta ställning för min iPod Touch 3G (som inte kommer med ett stativ) med den stationära stapelvara... bindemedel klipp. Även om vissa smarta konstruktioner har visat innan, jag v...

Knex bil med stort bagageutrymme (uppdaterad).

Hi , this is my knex car , which has a very big trunk. Bilen har ett brett stil bodykit och en stor spoiler på stammen. Chassais har moddat göra det mycket starkare och hela bilen är mycket bättre än min mini cooper. Det har ett tak som kan tas bort...

"Träd-Nex" - träbearbetning med naturliga former (uppdaterad)

ju mer jag arbetar med trä, ju mer jag älskar det och ju mer jag känner djup beundran & respekt för det.Respekt för att underlätta arbetet, även med grundläggande verktyg.Respekt för sin enorma variation - varje bit av trä är unik och inte två stycke...

Dynamiska värden i PyQt fönster (tracking ISS)

Detta instructable beskriver användningen av dynamiska variabler i ett PyQt fönster.Qt kan bygga interaktiva, ansluten (Ms/Linux/Android/IoS) fönster. Py Qt kan bygga sådan i Python. Huvudloop för en PyQt scripts består av fönster metoder, använda de...

Solar Power LinkIt (med Tracking)

Mediatek LinkIt en har en hel massa häftiga funktioner, tillsammans med inbyggd GPS och GPRS, medföljande batteri och laddare gjorde verkligen min dag, strömförsörjning till ett projekt om ofta ett elände, så det är bra att bokstavligen ha "batterier...

Raspberry Pi GPS Tracker

I denna tutorial ska jag försök att skapa en GPS-tracker med en raspberry pi med en GPS dongle och en liten bit av linux. Jag inte skriva de flesta av koden används allt jag helt enkelt göra samla resurser tillsammans och sätta dem på ett ställe. All...