javax.comm: Identifizieren Sie, welche serielle Schnittstelle mein GPS-Gerät verwendet
-
28-10-2019 - |
Frage
Ich schreibe eine kleine Anwendung, die die API javax.comm verwendet, um eine Aufzählung von Kommunikationsports mit der folgenden Syntax zurückzugeben CommPortIdentifier.getPortIdentifiers (); Meine Frage ist, wie man programmgesteuert identifizieren kann, an welchem Port mein GPS-Gerät arbeitet.Hat jemand irgendwelche Ideen?
T.
Lösung
Sie müssen jedes einzeln prüfen: Öffnen Sie es, stellen Sie die Baudrate ein und warten Sie auf NMEA-Sätze.Jedes mir bekannte GPS sendet einmal pro Sekunde NMEA-Daten. Wenn Sie also nach einigen Sekunden keine NMEA-Daten erhalten (oder den Port nicht öffnen können), ist dies nicht Ihr GPS.In Java ist der GPS-Port nicht von anderen COM-Ports zu unterscheiden.
Übrigens: Versuchen Sie nicht, zu viele Überprüfungen parallel durchzuführen. Die Architektur des seriellen Treibers gefällt dem nicht besonders gut, insbesondere wenn serielle Bluetooth-Ports beteiligt sind.