Est-ce que quelqu'un a une expérience de la programmation de la lat/long depuis un GPS connecté à un ordinateur portable? Une équipe que je suis en train de regarder les options matérielles - en tant que programmeur qui devra éventuellement vivre avec tout ce qui est sélectionné je me demandais si quelqu'un là-bas a eu l'expérience de l'écriture de programmes .Net qui interfacent avec un GPS? Toute recommandation concernant le matériel et/ou la programmation serait grandement appréciée. Comme je l'imagine, mon application devra demander au GPS le lat/long actuel, peut-être une fois toutes les 10 à 20 secondes.Accès aux données GPS à partir d'une application .Net Winform
Répondre
J'ai écrit une telle application auparavant. Comme l'a dit Henk, vous écoutez sur un port COM. Construire un composant qui lit le flux com dans, disons un tampon 1024. ce sera assez pour contenir au moins 1 phrase NMEA complète. De là, lisez l'entrée jusqu'à ce que vous trouviez le début d'une phrase et que vous l'analysiez. Si pour une raison quelconque vous n'avez pas la phrase complète, lisez dans un autre tampon, ajoutez et continuez/essayez à nouveau.
Bien que NMEA soit un code ASCII, je recommanderais quand même d'attacher un TextReader au flux Serialport et utiliser ReadLine(). –
Si vous souhaitez être dépendant de Windows 7, il existe un Location API qui gère le décodage NMEA pour vous.
Si le GPS est intégré à votre ordinateur Windows CE ou à votre téléphone portable Windows, vous pouvez simplement utiliser le pilote intermédiaire GPS pour mettre en commun des informations. Étant donné que vous êtes dans un environnement .net, vous pouvez créer un wrapper .Net pour cette API native.
public class GpsHardware
{
private const string gpsLibraryName = "gpsapi.dll";
private const string coreLibraryName = "coredll.dll";
[DllImport(GpsHardware.coreLibraryName, SetLastError = false)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool EventModify(IntPtr hEvent, uint function);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true, CharSet = CharSet.Unicode)]
private static extern IntPtr GPSOpenDevice(IntPtr hNewLocationData, IntPtr hDeviceStateChange, string szDeviceName, uint dwFlags);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSCloseDevice(IntPtr hGPSDevice);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSGetPosition(IntPtr hGPSDevice, IntPtr pGPSPosition, uint dwMaximumAge, uint dwFlags);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSGetDeviceState(IntPtr pGPSDevice);
...
}
Bien sûr, vous aurez à traiter avec marshaling et toutes les grandes choses Interop :)
Ou vous pouvez utiliser le wrapper Interop dans le dossier SDK \\ Samples. –
- 1. Accès aux objets génériques .NET à partir de VBA
- 2. Accès aux données sur un autre thread
- 3. Accès aux données spatiales PostGIS à partir de Rails
- 4. accéder aux données GPS en utilisant C#?
- 5. Accès aux informations de routage TCP/IP à partir d'une application .NET
- 6. Accès aux données LIM à partir de R
- 7. Accès aux données C++ natives à partir de C++ géré
- 8. Pylons + Mako - Accès aux données POST à partir des modèles
- 9. Accès aux données à partir d'une structure json
- 10. ASP.NET MVC Accès aux données à partir des attributs d'action
- 11. Accès aux données JS à partir de PHP
- 12. .net winform parler à Silverlight
- 13. Accès aux données facebook
- 14. CrossPost accès aux données
- 15. iPhone App Accès aux données
- 16. Accès aux données entre sessions
- 17. Android Application Design - Accès aux données du site Web
- 18. Suppression de l'index Oracle avec .NET Accès aux données Oracle
- 19. COM - .NET Interop - Winform à partir du client COM
- 20. Accès aux informations de calendrier à partir d'Exchange 2003 à l'aide de C# .NET
- 21. iPhone - accès aux informations de position à partir d'une photo
- 22. accès aux données dans RowCommand
- 23. Développement d'une application avec accès caméra et GPS
- 24. Accès aux données brutes DirectShow
- 25. accès aux données de contact
- 26. Lancer une application winform à partir d'un service Windows
- 27. Collections .NET et accès aux méthodes d'objets
- 28. Accès aux paramètres d'une autre application
- 29. Accès aux données SAP R/3 directement à partir de VB.NET
- 30. Accès aux métadonnées audio/vidéo avec .NET
Voulez-vous dire que ce sera un GPS attaché à un ordinateur portable (par opposition à un appareil mobile avec GPS) – HitLikeAHammer
Ce est correct. Tablet PC pour être exact. – Jeff
Merci à tous pour vos commentaires. Je vais donner à tous ceux qui ont répondu à un upvote. Plus tard quand je commencerai à coder je reviendrai et donnerai la réponse à mon choix préféré. Merci encore. – Jeff