read
Lire les données du récepteur GPS
Syntaxe
Description
[
renvoie les matrices de mesures du GPS. Il s'agit d'une lecture non bloquante qui renvoie les points de données N au format matriciel, où N est spécifié par la propriété lla
,groundSpeed
,course
,dops
,gpsReceiverTime
,timestamp
,overrun
] = read(gps
)SamplesPerRead
et matrix
est spécifié à l'aide de la propriété OutputFormat
de l'objet gpsdev
.
Exemples
Lisez les données du récepteur GPS connecté à l'ordinateur hôte sur un port série spécifique.
Matériel requis
Pour exécuter cet exemple, vous avez besoin de :
Module GPS Ublox Neo-6M
Antenne GPS
Module USB vers UART
cable USB
Fils de connexion
Connexion matérielle
Connectez les broches du module GPS UBlox Neo-6M aux broches de votre module USB vers UART. Les connexions sont :
VCC-+5V
RX-TXO
TX-RXI
Masse - Masse
Connectez l'antenne GPS au module GPS. Connectez le module USB vers UART à l'ordinateur hôte avec un câble USB. GPS Fix peut être facilement acquis dans des endroits offrant une vue dégagée sur le ciel. Attendez que le module GPS acquière les signaux satellite (Fix). Cela peut être vérifié en vérifiant la LED Fix (D1) de votre module GPS.
Créer un objet GPS
Créez un objet gpsdev
pour le récepteur GPS connecté à un port spécifique. Spécifiez le format de sortie des données sous forme de calendrier.
gps = gpsdev('COM4','OutputFormat',"timetable")
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Lire les données GPS
Lisez les données GPS et renvoyez-les sous forme d'horaire.
[tt,overruns] = read(gps)
tt=1×5 timetable
Time LLA GroundSpeed Course DOPs GPSReceiverTime
________________________ _________________________ ___________ ______ ____________________ ________________________
22-Mar-2021 15:31:15.190 17.47 78.343 449.6 0.25619 NaN 9.31 1.48 9.19 22-Mar-2021 10:01:14.000
overruns = 0
Affiche le nombre d'échantillons lus et les échantillons disponibles dans le tampon hôte.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Relâchez l'objet GPS pour configurer les propriétés non réglables. La fonction release efface également le tampon et réinitialise les propriétés SamplesRead
et SamplesAvailable
.
release(gps)
Spécifiez le nombre d’échantillons par lecture sur 2. Lisez les données GPS.
gps.SamplesPerRead = 2; read(gps)
ans=2×5 timetable
Time LLA GroundSpeed Course DOPs GPSReceiverTime
________________________ _________________________ ___________ ______ ____________________ ________________________
22-Mar-2021 15:31:17.178 17.47 78.343 450 0.063791 NaN 9.32 1.48 9.2 22-Mar-2021 10:01:16.000
22-Mar-2021 15:31:17.178 17.47 78.343 450 0.063791 NaN 9.32 1.48 9.2 22-Mar-2021 10:01:16.000
Affiche le nombre d'échantillons lus et les échantillons disponibles dans le tampon hôte.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Nettoyer
Lorsque la connexion n'est plus nécessaire, effacez l'objet associé.
delete(gps);
clear gps;
Lisez les données du récepteur GPS connecté à l'ordinateur hôte à l'aide de l'objet serialport
.
Matériel requis
Pour exécuter cet exemple, vous avez besoin de :
Module GPS Ublox Neo-6M
Antenne GPS
Module USB vers UART
cable USB
Fils de connexion
Connexion matérielle
Connectez les broches du module GPS UBlox Neo-6M aux broches de votre module USB vers UART. Les connexions sont :
VCC-+5V
RX-TXO
TX-RXI
Masse - Masse
Connectez l'antenne GPS au module GPS. Connectez le module USB vers UART à l'ordinateur hôte avec un câble USB. GPS Fix peut être facilement acquis dans des endroits offrant une vue dégagée sur le ciel. Attendez que le module GPS acquière les signaux satellite (Fix). Cela peut être vérifié en vérifiant la LED Fix (D1) de votre module GPS.
Créer un objet GPS
Connectez-vous au récepteur GPS à l'aide de l'objet serialport
. Spécifiez le nom du port et le débit en bauds. Spécifiez le format de sortie des données sous forme de matrice.
s = serialport('COM4',9600); gps = gpsdev(s,'OutputFormat',"matrix")
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Lire les données GPS
Lisez les données GPS et renvoyez-les sous forme de matrices.
[lla,speed,course,dops,gpsReceiverTime,timestamp,overruns] = read(gps)
lla = 1×3
NaN NaN NaN
speed = NaN
course = NaN
dops = 1×3
NaN NaN NaN
gpsReceiverTime = datetime
NaT
timestamp = datetime
22-Mar-2021 03:41:00.274
overruns = 1
Affiche le nombre d'échantillons lus et les échantillons disponibles dans le tampon hôte.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Videz toutes les données GPS accumulées dans les tampons et réinitialisez les propriétés SamplesRead
et SamplesAvailable
.
flush(gps)
Affiche le nombre d'échantillons lus et les échantillons disponibles dans le tampon hôte.
gps.SamplesRead
ans = 0
gps.SamplesAvailable
ans = 0
Nettoyer
Lorsque la connexion n'est plus nécessaire, effacez l'objet associé.
delete(gps); clear gps; clear s;
Arguments d'entrée
Le capteur GPS, spécifié comme un objet gpsdev
.
Arguments de sortie
Données GPS, renvoyées sous forme de timetable
. Le timetable
renvoyé comporte les champs suivants :
LLA (Latitude, Longitude, Altitude)
Vitesse au sol
Parcours sur sol
Dilution des précisions (DOP), VDOP, HDOP, PDOP
Temps du récepteur GPS
Heure — Heure système à laquelle les données sont lues, au format
datetime
ouduration
Types de données : timetable
Position du récepteur GPS dans la latitude, la longitude et l'altitude géodésiques (LLA), renvoyée sous la forme d'un tableau de réels N-by-3. La latitude et la longitude sont en degrés, le Nord et l'Est étant positifs. L'altitude est en mètres.
Types de données : double
Vitesse sur le sol, renvoyée sous la forme d'un vecteur réel fini N-by-1.
Types de données : double
Parcours au-dessus du sol par rapport au nord géographique, renvoyé sous la forme d'un vecteur réel fini N-par-1 de valeurs comprises entre 0 et 2pi radians.
Types de données : double
Dilution des précisions, renvoyée sous la forme d'une matrice réelle finie N-par-3 de la forme [PDOP,HDOP,VDOP]
.
Types de données : double
Heure UTC, renvoyée sous forme de vecteur N-by-1.
Types de données : datetime
Heure à laquelle les données GPS sont lues, renvoyée sous la forme d'un vecteur réel fini N-by-1. C'est l'heure du système. Si le TimeFormat
est datetime
, l'horodatage sera datetime
. Si le TimeFormat
est un duration
, l'horodatage sera duration
datetime
— Affiche la date et l'heure auxquelles les données sont lues.duration
— Affiche le temps écoulé en secondes après le premier appel de la fonctionread
ou la dernière exécution de la fonctionrelease
.
Remarque
Si le SamplesPerRead
est supérieur à 1, une extrapolation est effectuée sur la valeur temps. Il se peut donc que ce ne soit pas précis.
Types de données : datetime
| duration
Le nombre d'échantillons perdus entre des appels consécutifs à read
. Le dépassement est nul lorsque ReadMode
est défini sur oldest
.
Types de données : double
En savoir plus
L'objet gpsdev
attend les phrases GPRMC, GPGGA et GPGSA comme sorties du récepteur GPS pour obtenir les valeurs requises. La fonction read
génère des erreurs si ces phrases ne sont pas disponibles.
La fonction read
génère NaN
et NaT
dans les situations suivantes :
Si le module GPS ne reçoit pas de données valides parce qu'il n'y a pas de verrouillage satellite ou lorsque le GPS ne donne pas une valeur particulière.
En cas d'échec de la somme de contrôle, les points de données correspondants seront
NaN
pour les sorties numériques (lla
,speed
,course
,dops
) etNaT
pourgpsRecieverTime
.lla
est extrait de la phrase GPGGA,speed
,course
etgpsRecieverTime
est extrait de la phrase GPRMC etdops
sont tirés de la phrase GPGSA.
Étant donné que la fonction read
n'est pas bloquante, ce qui suit est attendu :
Si aucune nouvelle donnée n'est disponible, la sortie de
read
correspond aux données précédentes. Par exemple, si le délai entre les lectures suivantes est inférieur auUpdateRate
du récepteur GPS.
Étant donné que les données GPS sont validées lors de la première opération read
, cela peut prendre plus de temps que les opérations read
suivantes.
Historique des versions
Introduit dans R2020b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)