# crystal-orb > Ta en titt inn i krystallkulen og se om det går en buss i dag. AtB-infoskjerm til å visepå TV-skjermen på terminalrommet. ## Få tak i avgangstider Det ser ut til at API-et [mpolden](https://github.com/mpolden/atb) har laget er tilstrekkelig for å få tak i alle busser og avgangstider for et gitt stoppested (stopPlace). API-et hans er en wrapper for Entur sitt API som er litt tyngre skyts en det hackere har behov for, derav hvorfor han lagde et (tror jeg). ### Informasjon fra mpolden sitt API Dersom man gir https://mpolden.no/atb/v2/departures/ en høvelig kode for stoppested, gir den tilbake disse feltene: - `line` - Dette er linje-nummeret til bussen - `scheduledDepartureTime` - Dette er den forventede avgangstiden til bussen, basert på Entur sitt felt `expectedDepartureTime` - I tilleg finnes `aimedDepartureTime` og `actualDepartureTime` hos Entur, som er hva bussen er satt opp til etter planen og når bussen faktisk dro. - Av disse er naturligvis `expectedDepartureTime` det viktigste feltet for oss - `destination` - Hvor bussen skal til slutt, det er dette som står foran på bussen - Basert på `destinationDisplay.frontText` hos Entur - `isRealTimeData` - Hvorvidt tidspunktet er oppdatert/basert på sanntidsdata - Gir en indikasjon på hvor stabil informasjonen er - Hvis det er sanntid skal man ta det med en klype salt - Hvis det ikke er sanntid er det ikke vits å finne frem saltbøssen engang - `isGoingTowardsCentrum` - Basert på `journeyPattern.directionType` hos Entur - Busser går stort sett enten inn mot Midtbyen eller ut, dette er kjekt å vite ettersom man ofte vet hvilken retning man skal herfra ### Koder for stoppested Man kan finne stoppestedskoden på url https://stoppested.entur.org/ . De mest relevante kodene for oss på PVV er: - Gløshaugen: 44085 - Høgskoleringen: 42029 - Hesthagen: 41620 ## Funksjonalitet Vi har på dette tidspunktet ingen anelse hvilken funksjonalitet dette programmet skal ha, men noen ideer har vi allerede. - Mulighet for å vise de kommende avgangstidene på Georg/Grzegorz - Mer generelt gjennom `mpv` på en eller annen måte - Gjerne med kule farger eller et nice layout - Hadde kanskje vært kult med et cli hvor man kjapt kan sjekke de neste bussene som drar - Kule farger er også nice her - En nettside eller en annen visualiseringsmetode - Nettopp for å kunne støtte et brukervennlig layout av informasjonen ## Hvordan kjøre programmet slik det er Akkurat nå funker `crystal_orb.py` omtrent slik: - Man kjører programmet med `python crystal_orb.py ` - Stoppested kan være gløshaugen, høgskoleringen eller hesthagen - `crystal orb` får avgangsinformasjon fra `mpolden` sitt API - `crystal orb` lager en liste av all avgangsinformasjonen den fikk - `crystal orb` skriver teksten på en kjørende mpv-sesjon - Merk at `mpv` må ha satt opp en ipc socket som `crystal orb` skriver til - Hvis denne socket-en ikke finnes, skrives listen til stdout ## Forbedringer - Legge til `aimedDepartureTime` slik at vi kan se hva avviket er - Av og til kjører bussen inn igjen etterslepet, dermed kan det være nyttig -