Netduino GPS med LCD-skärm (4 / 4 steg)
Steg 4: Programvara Detaljer
Koden är tillgänglig från GITHUB: https://github.com/rgrokett/Netduino-GPS
Koden (excitingly kallas "Program.cs") kräver filen "Nokia.cs" läggas till. Jag misstänker att du kan använda ett bibliotek som stöder Nokia 5110, men du skulle behöva refactor LCD-kommandona för att passa det.
Mappen kallas "GPS" från GITHUB innehåller C#-filer som behövs för detta projekt.
Efter påfyllning i Visual Studio och sammanställa i Debug-läge och kör, bör du se en display på din Nokia LCD samt massor av DEBUG-meddelanden från din GPS-enhet.
Obs: om du inte ser GPS meddelanden, men endast de två första raderna (fetstil nedan), då du kanske har TX/RX leads vändas på din GPS-modulen.
Obs: GPS kanske inte kan förvärva en satellit fix från inne i ditt hus. Du kommer att behöva gå utanför. LCD-skärmen visas inte något tills GPS kan få en fix.
Om du får ingen bild alls på Nokia, men se den seriella felsöka meddelanden nedan, ta en titt på projektet:
https://atoussaint.wordpress.com/2012/06/20/graphi...
Du söker efter GPRMC rader av data från GPS. Denna linje inkluderar samordna lokaliseringsuppgifter.
Provet GPS seriell utgång - GPRMC linje
GPS tråden startade...
Main...
FICK $GPRMC LINJE
GpsPoint Parse
$GPRMC, 010916.00, A, 3108.19303, N, 08245.86442, W, 0.339,, 260216,, A * 62
FICK $GPRMC LINJE
GpsPoint Parse
$GPRMC, 010917.00, A, 3108.19311, N, 08245.86430, W, 0.821,, 260216,, A * 67
FICK $GPRMC LINJE
GpsPoint Parse
$GPRMC, 010918.00, A, 3108.19291, N, 08245.86433, W, 0.444,, 260216,, A * 6 D
FICK $GPRMC LINJE
GprmcParser klass Parse() handtagen
parsning kommatecknet separerade GPRMC sträng från GPS. Om din GPS modul utgångar ett annat format än ovan, kommer att då du behöva refactor delar [] matrisen för din modul.
Klassen GeoDistanceCalculator kallas men används inte i min modifierad version. Jag var tvungen att refactor den lite för att arbeta med versionen av Netduino SDK jag hade gå använda. Det är för cool för att ta bort denna kod som det kan vara användbart för framtida projekt, men om det behövs, du kan ta bort det (och dess relaterade metodanrop).
I denna version av programmet är minDistanceInMilesBetweenPoints inställd på noll, vilket orsakar GPS tråden att uppdatera hela tiden. Ändra detta värde från 0,0 till 1,0 skulle orsaka displayen för att uppdatera en gång varje mile(!) av ändring, som baseras på den GeoDistanceCalculator klassen.
Reader gpsShield = ny läsare (serialPort, 100, 0,0);
Du får gärna ändra denna kod för de funktioner du vill ha, som jag var bara intresserad av att integrera GPS-modulen med Nokia LCD och körs på ett batteri till en bärbar GPS hacka!
Slutligen
När du har GPS kör när du är ansluten till datorn, Anslut USB-kabeln till bärbara 5V leverans och ta det utanför. När den synkroniserar, borde du få en display med datum och tid i UTC och din nuvarande Lat/Long med fyra decimaler.
Tack till Bob Cravens på hans utmärkta insatser för den ursprungliga Netduino/GPS koden!