GPS-buss-spårning på billiga (5 / 6 steg)
Steg 5: Tolka och visa data
InstaMapper data kan ses i 'IM API "genom att besöka en webbplats med enhetens nyckel; Läs mer om hur komma åt denna sida här (kräver kostnadsfri registrering). En skärmdump av webbplatsen är nedan. Detta är den plats vi kommer avsöker för att få den nuvarande position i en buss.
Python-skript bifogas nedan som bus_tracker_v8.txt; Du kan ladda ner den och ändra filtillägget till .py. Koden gör lite matte och mycket klumpig data-parsning. Om du vill köra skriptet för första gången, behöver du route CSV-filen du skapade tidigare och en buss data textfil som den nedan. Datafilen buss nås varje gång skriptet körs och skriver tid och position info om din bussar. Behöver också Python... Jag använde 2.6.4.
IM begär att du begränsar din API-åtkomst till en gång var tionde sekund så skriptet kontrollerar detta först. Om datafilen är mindre än tio sekunder gammal, används den befintliga datafilen som utdata. Om data är äldre än tio sekunder, söker skriptet nya data från sidan API använder någon API nyckel du tillhandahåller.
Skriptet sedan importerar ruttfilen av waypoints och beräknar avståndet mellan nuvarande buss (dess latitud och longitud) och varje waypoint. Index för minsta avståndet lagras, om inrättande av en position för varje buss. Slutligen är data för varje buss skrivs till skärmen och loggas i en separat textfil.
Detta Python skript används som ett CGI, ett protokoll som tillåter Python att skapa en webbsida när du har utfört de funktioner som beskrivs ovan. Användaren går till en sida som länkar till skriptet, skriptet körs på servern och utdata formateras till HTML så webbläsaren kan visa den. CGI är vanligt med Perl och analysera data från HTML-formulär. En mycket läsvärd genomgång om CGI-skript med Python finns på Penzilla.net.
Värd för din webbplats kommer att ha särskilda riktlinjer om där CGI-skript kan leva och hur de måste formateras. Här är två av CGI-felsökning FoS från min värd som allmänt gäller oavsett vilket språk du skript i: CGI felsökning, Python CGI.
Allt detta utgångar till något i stil med den slutliga bilden på detta steg. Den slutliga utformningen kan vara mer skickligt arrangerade i en mall eller förskönas med CSS. Du kan också ha Python skriva ut en meta-tagg så sidan uppdateras automatiskt (och skriptet anropas igen).