La série SIM5218 est un module GSM / GPRS / EDGE quadri-bande supportant les protocoles HSPA et la technologie WCDMA. Il autorise un débit descendant (download) de 7.2Mbps et un débit montant (upload) de 5,76Mbps. Il intègre aussi un GPS.
Lien : www.cooking-hacks.com
Le module SIM5218 sera détecté comme un port série virtuel lorsqu’il est relié par une liaison USB. On le programmera à partir de commandes AT.
Lire : SIM5218_AT_command_manual.pdf
La firme Hayes, fabricant de modems, a développé un protocole pour la commande d’un modem externe à partir d’un ordinateur. Le protocole définit diverses commandes permettant par exemple :
Les commandes AT (ou Commandes Hayes) sont des commandes que l’on peut directement envoyer au modem, lorsque celui-ci est en mode Command.
Chaque commande est envoyée sous la forme d’une ligne de texte encodée en ASCII, terminée par le caractère ‘\r’ seul (code ASCII 0x13). Le modem retourne une réponse sous la forme d’une ou plusieurs lignes selon la commande envoyée, chaque ligne se terminant par les caractères ‘\r’ suivi de ‘\n’ (codes ASCII 0x13 et 0x10).
Le module SIM5218 peut fournir une géolocalisation par commandes AT ou par phrases NMEA 0183.
Le GPS (Global Positioning System) est un système de géolocalisation fonctionnant au niveau mondial et reposant sur l’exploitation de signaux radio émis par des satellites dédiés. Le GPS utilise le système géodésique WGS 84, auquel se réfèrent les coordonnées calculées grâce au système.
Lire : Global Positioning System et Récepteur GPS
Une personne munie d’un récepteur GPS peut ainsi se localiser et s’orienter sur terre, sur mer, dans l’air ou dans l’espace au voisinage proche de la Terre.
La norme NMEA 0183 est une spécification pour la communication entre équipements marins, dont les équipements GPS. Elle est définie et contrôlée par la National Marine Electronics Association (NMEA), association américaine de fabricants d’appareils électroniques maritimes.
La norme 0183 utilise une simple communication série pour transmettre une “phrase” (sentence) à un ou plusieurs écoutants. Une trame NMEA utilise tous les caractères ASCII.
Exemple : Waypoint Arrival Alarm
$GPAAM,A,A,0.10,N,WPTNME*32
Il existe plus d’une trentaine de trames GPS différentes. Le type d’équipement est défini par les deux caractères qui suivent le $
. Le type de trame est défini par les caractères suivants jusqu’à la virgule.
Par exemple :
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E
C’est une trame __GP__S de type GGA. La trame GGA est très courante car elle fait partie de celles qui sont utilisées pour connaître la position courante (longitude, latitude et altitude) du récepteur GPS (www.coordonnees-gps.fr).
$
: délimiteur de début de trameGP
: Id du “parleur” (GPS)GGA
: Type de trame (Global Positioning System Fixed Data)064036.289
: Trame envoyée à 06h40m36,289s (heure UTC)4836.5375,N
: Latitude ddmm.mmmm -> 48,608958° Nord = 48°36’32.25" Nord00740.9373,E
: Longitude dddmm.mmmm -> 7,682288° Est = 7°40’56.238" Est1
: Type de positionnement (le 1 est un positionnement GPS)04
: Nombre de satellites utilisés pour calculer les coordonnées3.2
: Précision horizontale ou HDOP (Horizontal dilution of precision)200.2,M
: Altitude 200,2, en mètres,,,,,0000
: D’autres informations peuvent être inscrites dans ces champs*0E
: Somme de contrôle de parité, un simple XOR sur les caractères précédents<CR><LF>
: délimiteur de fin de trameRemarque : Les trames NMEA font toutes référence à l’ellipsoïde WGS84 comme base de son système de coordonnées. Ce document détaille la conversion de coordonnées GPS.
Chaque trame a sa syntaxe propre, mais selon le cas elles peuvent ou doivent se terminer, après le *
, par un octet formant une somme de contrôle (checksum) qui permet de détecter une erreur dans la transmission.
La somme de contrôle à la fin de chaque phrase est le OU EXCLUSIF (XOR
) de tous les octets de la phrase à l’exclusion du premier caractère ($
) et jusqu’au caractère avant l’étoile (*
). Cf. C implementation of checksum generation.
Site officielle www.nmea.org
Le GPRS (General Packet Radio Service) est une norme (protocole réseau) pour la téléphonie mobile dérivée du GSM et complémentaire de celui-ci, permettant un débit de données plus élevé.
Le GPRS est une extension du protocole GSM : il ajoute par rapport à ce dernier la transmission par paquets. Cette méthode est plus adaptée à la transmission des données. En effet, les ressources ne sont allouées que lorsque des données sont échangées, contrairement au mode « circuit » en GSM où un circuit est établi pour toute la durée de la communication. Le GPRS a ensuite évolué au début des années 2000 vers la norme Edge également optimisée pour transférer des données et qui utilise les mêmes antennes et les mêmes fréquences radio.
Le GPRS permet de fournir une connectivité IP constamment disponible à une station mobile (MS), mais les ressources radio sont allouées uniquement quand des données doivent être transférées, ce qui permet une économie de la ressource radio. Les utilisateurs ont donc un accès bon marché, et les opérateurs économisent la ressource radio. De plus, aucun délai de numérotation n’est nécessaire.
Ce moyen de transmission nécessite un terminal disposant d’un modem GSM/GPRS ou 3G/UMTS, ainsi que d’une carte SIM de n’importe quel opérateur avec un forfait “données” (Data) adapté. Le terminal nécessite d’être sous couverture GSM/GPRS pour pouvoir envoyer les données vers la plateforme de traitement. Ce type de terminal est utilisé lorsque l’objet ou la personne à géolocaliser reste dans une zone bien couverte par les réseaux GSM/GPRS.
Remarque : Les forfaits GSM/GPRS sont économiquement plus avantageux que les forfaits satellite lorsque l’on souhaite remonter les positions à une fréquence élevée. Ils sont donc à privilégier si les zones où l’équipement se déplace restent bien couvertes par les réseaux GSM/GPRS.
Être capable de communiquer avec un modem GPRS/GSM.
On peut tester les commandes AT avec la commande screen
(Ctrl-a k
pour sortir), picocom
(Ctrl-a Ctrl-x
pour sortir) ou cutecom
.