Système et procédé de contrôle d'équipements à distance à l'aide de commandes AT, dispositif et module de radiocommunication et jeu de commandes correspondants.
Le domaine de l'invention est celui du contrôle à distance d'équipements, et notamment d'équipements limités en ressources de traitement de données. Ainsi, l'invention s'applique par exemple aux systèmes de relevé de données à distance, par exemple sur des compteurs d'eau, de gaz ou d'électricité, et plus généralement aux systèmes de télémétrie, de suivi de commandes, et plus généralement de contrôle de machines (en anglais « M to M : machine to machine »).
Il existe déjà diverses solutions pour réaliser de telles opérations. Elles ont généralement été développées de façon spécifique pour une application donnée. En d'autres termes, il s'agit de solutions « propriétaires », qui sont difficilement adaptables à d'autres applications.
On connaît par ailleurs un protocole, développé par les sociétés IBM et ARCOM Control Systems (marques déposées), connu sous le nom de technologie « MQIsdp Messaging ». Cette technique propose un protocole de communication entre un ou plusieurs équipements limités en ressources, et un ou plusieurs serveurs (« brokers » en anglais), en utilisant un lien TCP/IP.
Cependant, même avec ce protocole spécifique, il est nécessaire d'adjoindre aux équipements des moyens de traitement spécifiques (microprocesseurs, mémoires, ...), qui permettent d'instaurer le dialogue avec ces serveurs distants, selon le format MQIsdp requis. La liaison entre l'équipement et le serveur peut utiliser une liaison de type téléphonique, à l'aide d'un modem.
Dans de nombreuses applications, il serait cependant souhaitable de pouvoir se passer d'une liaison téléphonique filaire. On peut alors envisager la mise en œuvre de moyens de radiocommunication, par exemple selon la norme GSM ou GPRS.
Dans ce cas, on utilisera un équipement de radiotéléphonie pour assurer la fonction de modem. Cependant, il reste nécessaire, selon l'art antérieur, d'associer à l'équipement des moyens spécifiques et propriétaires de traitement de données pour établir et réaliser l'échange de données avec le serveur. Cet aspect est une limitation très importante au développement des applications mentionnées ci-dessus, et de nombreuses autres applications que permet d'envisager le protocole MQIsdp.
L'invention a notamment pour objectif de pallier cet inconvénient de l'art antérieur. II convient de noter que le fait d'identifier ce problème est en soi une partie de l'invention. En effet, l'homme du métier est persuadé qu'il est absolument nécessaire d'équiper les équipements terminaux de moyens de traitement suffisants, et ne peut en aucun cas envisager qu'il est possible de les réduire, voire de les supprimer. C'est pourtant un objectif de l'invention que de permettre de simplifier les traitements nécessaires du côté des équipements, et d'éviter que ceux-ci doivent disposer de moyens complexes et coûteux tels qu'un micro-processeur.
Un autre objectif de l'invention est de proposer une technique simple et générique, permettant d'instaurer facilement et efficacement un dialogue avec un serveur selon le protocole MQIsdp.
Encore un autre objectif de l'invention est de fournir une telle technique, permettant d'établir une liaison entre des serveurs et des équipements par voie radiotéléphonique, de façon simple, standardisée et peu coûteuse.
L'invention a également pour objectif de fournir une telle technique, permettant de développer un nombre important d'applications, sans qu'il soit nécessaire de développer des applications spécifiques à chaque fois.
Un autre objectif de l'invention est de fournir une telle technique, ne nécessitant pas une connaissance du protocole MQIsdp dans les applications développées. Encore un autre objectif de l'invention est de fournir une telle technique,
qui est à la fois techniquement simple et évolutive, et adaptable à diverses situations (par exemple pour la taille des données à échanger) et aux éventuelles évolutions futures.
Ces objectifs, ainsi que d'autres qui apparaîtront plus clairement par la suite, sont atteints à l'aide d'un système de contrôle d'équipements à distance, permettant l'interconnexion entre au moins un serveur et au moins un équipement distant selon le protocole MQIsdp.
Selon l'invention, on associe à au moins un desdits équipements distants des moyens de radiocommunication capables d'émettre et de recevoir des commandes de type AT émises par et/ou destinées à une application externe mise en oeuvre par ledit équipement distant, lesdits moyens de radiocommunication étant dotés d'un jeu de commandes AT spécifiques permettant d'échanger des données avec au moins un serveur mettant en œuvre ledit protocole MQIsdp, de façon à permettre une interconnexion entre le ou lesdits serveurs et le ou lesdits équipements distants via lesdits moyens de radiocommunication, sans nécessiter de connaissance dudit protocole MQIsdp dans lesdits équipements distants.
Ainsi, il est possible de gérer aisément et simplement des échanges de données, sans qu'il soit nécessaire de développer des applications spécifiques ni d'associer des moyens importants (microprocesseur et mémoire notamment) à un terminal. Ni ce dernier, ni l'application n'ont besoin de connaître le protocole
MQIsdp. Ce sont les moyens de radiocommunication qui gèrent ces aspects. Les seules connaissances nécessaires, vu de l'application, sont les nouvelles commandes AT de l'invention.
Avantageusement, au moins dans un premier mode, lesdits moyens de radiocommunication gèrent uniquement la signalisation d'un échange de données, lesdites données étant transférées directement d'un équipement distant vers un serveur, ou inversement.
De façon préférentielle, au moins dans un second mode, lesdits moyens de radiocommunication gèrent la signalisation d'un échange de données et le transfert desdites données, ces dernières étant temporairement stockées dans au
moins une mémoire tampon.
Dans ce cas, la taille de la ou desdites mémoires tampon est avantageusement paramétrable.
Selon un mode de réalisation avantageux, ledit système fonctionne dans ledit premier mode lorsque la taille de la ou desdites mémoires tampon vaut 0, et dans ledit second mode sinon.
On obtient ainsi un moyen simple et efficace pour réaliser deux fonctions (choix du mode et dimensionnement des files d'attente) avec une commande unique. Dans un mode de réalisation avantageux de l'invention, lesdits moyens de radiocommunication comprennent un module de radiocommunication, regroupant sur un même substrat l'ensemble des moyens de traitement de données radio- fréquence et bande de base, ainsi que les moyens de gestion desdites commandes AT. Lesdits moyens de radiocommunication peuvent notamment intégrer ledit protocole MQIsdp sous la forme d'une application « Open-AT », définissant ledit jeu de commandes AT spécifiques.
De façon avantageuse, ledit jeu de commandes AT spécifiques comprend des commandes permettant : - la connexion à un desdits serveurs ;
- l'envoi de messages ;
- la réception de messages.
Préférentiellement, au moins certaines desdites commandes AT spécifiques sont organisées de façon à pouvoir assurer au moins deux fonctions et/ou agir sur au moins deux aspects distincts, en fonction d'un paramétrage prédéfini.
Cela permet de réduire fortement le nombre de commandes nécessaires, tout en assurant toutes les opérations nécessaires et en permettant de prendre en compte d'éventuelles évolutions futures. Ainsi, dans un mode de réalisation préférentiel, ledit jeu de commandes
comprend uniquement 8 commandes.
Ledit jeu de commandes AT spécifiques comprend avantageusement au moins une commande de configuration permettant de définir les paramètres de la communication avec un desdits serveurs. Préférentiellement, le système met en œuvre une unique commande de configuration (+WSPGSET) pour la configuration des aspects de radiocommunication et la configuration générale des aspects liés au protocole MQIsdp.
Ladite commande de configuration peut en particulier permettre de sélectionner un mode de transmission parmi au moins deux (GSM et GPRS).
De façon avantageuse, le système met en œuvre trois commandes de configuration :
- une commande de configuration générale de la communication (+WSPGSET) ; - une commande de configuration d'une connexion (+WSPCSET), permettant de préciser notamment les coordonnées d'un serveur ;
- une commande de configuration du message de configuration « ill » (+WSPWMS), permettant de préciser notamment le canal auquel est destiné un message. Préférentiellement, il met également en œuvre au moins une commande générale de communication, permettant l'émission et/ou la réception de messages selon le protocole MQIsdp.
Ainsi, il peut avantageusement mettre en œuvre cinq commandes générales de communication : - une commande de spécification d'un contexte MQIsdp
(+WSPDCONT) ;
- une commande de gestion d'une connexion avec un serveur (+WSPCONM) ;
- une commande d'envoi d'un message (+WSPSMSG) ; - une commande de réception d'un message (+WSPRMSG) ;
- une commande d'administration, permettant une mise à zéro et/ou un retour aux valeurs par défaut d'un ensemble de paramètres (+WSPPA).
Avantageusement, il met encore en œuvre au moins une commande d'interrogation par une application externe, et de façon préférentielle deux commandes d'interrogation par une application externe, respectivement sur :
- l'état courant de la connexion (+WSPICON) ;
- la réception et/ou l'envoi d'un message (+WSPIMSG). L'invention concerne également le procédé de contrôle d'équipements à distance mis en œuvre par un système tel que décrit ci-dessus. Il permet l'interconnexion entre au moins un serveur et au moins un équipement distant selon le protocole MQIsdp, en associant au moins un desdits équipements distants des moyens de radiocommunication capables d'émettre et de recevoir des commandes de type AT émises par et/ou destinées à une application externe mise en oeuvre par ledit équipement distant, et en mettant en œuvre, dans lesdits moyens de radiocommunication, un jeu de commandes AT spécifiques permettant d'échanger des données avec au moins un serveur mettant en œuvre ledit protocole MQIsdp. Cela permet une interconnexion entre le ou lesdits serveurs et le ou lesdits équipements distants via lesdits moyens de radiocommunication, sans nécessiter de moyens complémentaires de traitement et/ou de mise en forme de données dans lesdits équipements distants.
L'invention concerne encore les dispositifs et les modules de radiocommunication comprenant des moyens de radiocommunication mis en œuvre dans un tel système de contrôle d'équipements à distance. L'invention concerne enfin les jeux de commandes AT mis en oeuvre dans un système de contrôle d'équipements à distance, et permettant d'échanger des données avec au moins un serveur mettant en œuvre ledit protocole MQIsdp.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre de simple exemple illustratif et non
limitatif, et des dessins annexés, parmi lesquels :
- la figure 1 illustre un exemple de système dans lequel l'invention peut être mise en œuvre ;
- la figure 2 est un exemple d'intégration du protocole MQIsdp dans une application Open-AT ;
- les figures 3A à 3L illustrent différents exemples de mise en œuvre d'une connexion selon l'invention.
1. Rappels sur le protocole MQIsdp (marque déposée
Le protocole MQIsdp (« WebSphere MQ Integrator SCADA device protocol » en anglais) est une norme ouverte développée par IBM et Arcom
Control Systems (marques déposées), visant à permettre les échanges de données
(sous forme de messages) depuis des dispositifs distants (ou terminaux), généralement de bas de gamme et disposant de peu de puissance de traitement, vers un serveur, appelé également par la suite « courtier » (« broker » en anglais) WebSphere MQ Integrator par TCP/IP, et inversement.
MQIsdp (également appelé par la suite Wavecom SCADA) est un protocole de transfert de données (message) basé sur un modèle de communication du type publier/souscrire, disponible libre de droit sur Internet. Il peut être décrit comme une simple couche de gestion de données agnostiques au-dessus du protocole TCP/IP pour assurer la gestion et les accusés de réception de message requis afin d'assurer la livraison fiable du message.
Dans le modèle de communication publier/souscrire, les données sont échangées entre un producteur/consommateur de données (le client) et un courtier de message (le serveur). Le courtier de messages peut être considéré comme un « hub » (nœud) de commutation multiprotocole au niveau du protocole de l'application qui reçoit des messages, les transforme, les reformate, etc. en d'autres structures en fonction d'un modèle de données défini par l'utilisateur.
Enfin, les messages éventuellement transformés peuvent être envoyés par le courtier (publiés) aux clients (dispositif de zone, ERP, SAP, Oracle, SQL, etc.) abonnés en utilisant les cartes clients appropriées. Le courtier peut, évidemment,
publier également des messages ne provenant pas d'un client.
Le courtier de messages gère tous les messages entrant et sortant d'une rubrique. Un client publie des messages dans/avec une rubrique ou souscrit à des messages de/par une rubrique identifiant le flux de message du courtier de message vers lequel ou à partir duquel le message doit être publié.
La spécification MQIsdp définit un ensemble de messages très simple, comprenant : « connect » (connecter), « disconnect » (déconnecter), « publish » (publier), « subscribe » (abonner), « unsubscribe » (désabonner).
2. principes de l'invention 2.1 généralités
L'invention concerne donc une nouvelle approche du contrôle d'équipements à distance, reposant notamment sur la mise en œuvre d'un jeu de commandes spécifiques de type AT, permettant à une application externe de gérer des échanges de données entre un terminal distant et un serveur, via des moyens de radiocommunication (par exemple un module de type Wismo (marque déposée)), sans que l'application connaisse le protocole MQIsdp mis en œuvre par le serveur. Ce sont les moyens de radiocommunication qui gèrent cet aspect, et par exemple les acquittements prévus dans le protocole MQIsdp.
La figure 1 illustre de façon simplifiée le principe de l'invention. L'objectif est de faire communiquer tout type de machines distantes, par exemples des instruments de mesure 11 avec une ou plusieurs applications hébergées par des serveurs 12, capables de recevoir des données 13 selon le protocole MQIsdp, et de les transformer, traiter ou transmettre.
Selon l'invention, on associe aux terminaux (ou machines) distants 11 des moyens de radiocommunication 14, par exemple sous la forme d'un module
Wismo (marque déposée), embarquant notamment les outils de développement distribués par le déposant sous la marque « Muse platform »).
2.2 Notion de module
Pour mémoire, on rappelle que la plupart des dispositifs de radiocommunication comprennent, de façon classique, un ensemble de
composants électroniques implantés sur un circuit imprimé. Ces différents composants ont pour but d'assurer les différentes fonctions nécessaires, depuis la réception d'un signal RF jusqu'à la génération d'un signal audible (dans le cas d'un radio-téléphone), et inversement. Certaines de ces fonctions sont analogiques, et d'autres numériques.
La fabrication de ces dispositifs de radiocommunication est un sujet de recherche important. En effet, on vise au moins trois objectifs difficiles à concilier : miniaturiser les dispositifs, augmenter les fonctionnalités et simplifier le montage. On sait notamment que l'implantation des différents composants sur le circuit imprimé est une opération relativement complexe, de nombreux composants devant être mis en place sur une surface de plus en plus restreinte, du fait des exigences de miniaturisation.
La conception de ces systèmes est donc complexe, puisqu'elle nécessite en outre d'associer des composants divers, souvent de sources multiples, qu'il faut faire fonctionner ensemble, en respectant les spécificités de chacun. Par ailleurs, après le montage de l'ensemble des composants, des phases de calibration et de tests, souvent longues et complexes, sont nécessaires pour garantir le bon fonctionnement du dispositif.
Enfin, malgré la réduction de la taille de certains composants, l'ensemble occupe une certaine surface, qu'il est difficile de réduire.
Le titulaire de la présente demande de brevet a proposé une approche palliant un certain nombre de ces inconvénients, consistant à regrouper dans un module unique, toutes ou au moins la plupart, des fonctions d'un dispositif de radiocommunication numérique. Un tel module se présente sous la forme d'un boîtier unique et compact, préférentiellement blindé, que les fabricants de dispositifs peuvent implanter directement, sans devoir prendre en compte une multitude de composants.
Ce module (encore appelé parfois « macro-composant ») est en effet formé d'un regroupement de plusieurs composants sur un substrat, de façon à être
implanté sous la forme d'un unique élément. Il comprend les composants et les logiciels essentiels nécessaires au fonctionnement d'un terminal de télécommunication utilisant des fréquences radio-électriques. Il n'y a donc plus d'étapes complexes de conception du design, et de validation de celui-ci. Il suffit de réserver la place nécessaire au module.
Un tel module permet donc d'intégrer facilement, rapidement et de façon optimisée l'ensemble des composants dans des terminaux sans-fil (téléphones portables, modems, ou tout autre application exploitant un standard sans fil).
Par ailleurs, celui-ci regroupant toutes les fonctions essentielles et ayant été conçues comme un tout, les problèmes de calibration et de tests ne se posent plus de la même manière, ou sont à tout le moins, grandement simplifiés.
Ainsi, les modules diffusés par le titulaire de la présente demande de brevet sont entièrement testés tant sur le plan matériel (« hardware ») que logiciel (« software ») sur la plupart des réseaux sur lesquels ils pourront être utilisés ensuite. En outre, le module englobe avantageusement les aspects de propriété industrielle (toutes les fonctions ayant été regroupées, c'est le fabricant du module qui gère les aspects de droits de propriété industrielle correspondants) et d'assistance technique.
2.3commandes AT Le principe de mise en œuvre des commandes AT est déjà connu. Il est par exemple décrit dans le document de brevet FR-99 13645, et dans les diverses spécifications diffusées par le déposant, auxquels on se référera pour des plus amples informations, si nécessaire.
2.4 nouvelles commandes AT Ce module 14 est capable de gérer des commandes AT simples, et en nombre réduit, permettant un dialogue simple et efficace avec une application externe associée à un terminal. Il assure la transformation au format MQIsdp, et gère l'émission et la réception de données 15 selon ce protocole, de façon transparente pour l'application. L'échange de données peut ainsi se faire de façon hertzienne 16, par
exemple selon le standard GSM ou GPRS. Vu du serveur 12, les informations sont au format MQIsdp. Pour les terminaux 11, il n'est pas nécessaire de connaître ce protocole, mais uniquement quelques commandes AT. Il est ainsi possible d'implémenter aisément et à faible coût une application externe dans (ou à côté) un terminal, sans qu'il soit nécessaire de prévoir un microprocesseur et des mémoires, et une application dédiée.
Comme on le verra par la suite, les commandes AT proposées peuvent être limitées au nombre de 8, tout en restant évolutives.
Deux modes de transfert de données sont proposés : - les données transitent par le module 14. Elles sont alors stockées temporairement dans des buffers (mémoires tampon), dont la taille est configurable en fonction des besoins ;
- les données sont transmises directement entre le terminal et le serveur, sans être stocker en mémoire dans le module 14, ce dernier gérant uniquement l'ensemble des aspects de signalisation (ouverture et fermeture de la connexion, acquittements,...).
Le premier cas pourra correspondre au cas le plus fréquent de messages de petites tailles, et le second au transfert de fichiers importants, comme cela est prévu dans le protocole MQIsdp. Il est ainsi possible de tout gérer via le module, sans ajout de mémoire et d'intelligence externes, tout en permettant le transfert de données présentant un volume supérieur à la capacité de stockage du module.
Avantageusement, une commande unique permet le dimensionnement des buffers et le passage d'un mode à l'autre (le second mode correspondant à une valeur nulle). La figure 2 illustre un exemple simplifié d'architecture logicielle pouvant être mise en œuvre dans le module 14.
Un tel module 14 comprend généralement :
- une couche logicielle de base 21 (« Wavecom Core Soft are ») ;
- une bibliothèque Open AT 22 (« Open AT Library ») ; - une bibliothèque ADL 23 (« ADL Library ») ;
- une bibliothèque TCP/IP 24 (« TCP/IP Library ») ;
- une couche applicative 25 (« Open AT Application »).
Selon l'invention, on prévoit donc en outre une bibliothèque 26 de commandes spécifiques (« Wavecom SCADA Protocol Library ») pour communiquer selon le protocole MQIsdp, qui se place au dessus de la bibliothèque TCP/IP 24.
Les commandes AT 27 s'adressent, selon les cas, à la couche de base 21, à la bibliothèque TCP/IP 24 ou à la bibliothèque SCADA 26.
L'interface par commandes AT proposée comprend dans cette bibliothèque 26 comprend seulement 8 commandes, permettant d'exploiter entièrement le protocole MQIsdp, et notamment :
- possibilité de dimensionner deux files internes permettant de gérer les messages entrants et sortants ;
- possibilité d'externaliser la gestion des messages de grande taille ; - définition de contextes de connexion ;
- gestion des paramètres de configuration ;
- gestion de l'envoi de différents types de messages par commande générique.
3. description détaillée d'un mode de réalisation de commandes On décrit ci-après les commandes AT pouvant être utilisées pour piloter le protocole Wavecom SCADA 26. 3.1 Documents connexes
En cas de besoin, on pourra se référer notamment à : [1] Ce document doit être lu avec la fiche "WepSphere MQ Integrator SCADA Device Protocol" figurant à l'annexe B du manuel de référence "IBM WebSphere MQ Integrator Programming Guide" disponible à l'adresse suivante : http : //publif p. boulder.ibm. com/epubs/odf/bipval04. pdf [2] Wavecom AT Commands Interface Guide Référence : WM SW OAT IFS 001 - révision : 009 ou suivantes.
Ce document décrit les commandes AT prises en charge par le produit Wavecom permettant de gérer les événements ou services GSM connexes. [3] AT Command Interface for TCP/IP Révision : 1.7
Ce document décrit les paramètres et le jeu de commandes AT permettant la configuration et le pilotage de la superposition TCP/IP et des protocoles disponibles sur les produits Wavecom. 3.2 Abréviations et définitions 3.2.1. Abréviations
APN Access Point Name (Nom de point d'accès)
AT Attention
DNS Domain Name Système (Système de noms de domaine)
ISP Internet Service Provider (Fournisseur de services sur Internet) ME Mobile Equipment (Matériel mobile)
SCADA Supervisory Control and Data Acquisition (Dispositif de surveillance et acquisition des données) MS Mobile station (Station mobile)
QoS Quality of Service (Qualité de service) Wavecom core software :
Couche logicielle prenant en charge toutes les commandes AT permettant de gérer les événements ou services GSM connexes. 3.2.2. Définitions
Les termes MS ou ME sont utilisés pour les terminaux mobiles prenant en charge les services GSM. Le mot "produit" fait référence à tout produit (module notamment) Wavecom prenant en charge l'interface des commandes AT. Symboles :
<CR> Caractère de retour chariot
<LP> Caractère de changement de ligne [...] Paramètre facultatif d'une commande AT
<...> Nom de paramètre mis entre chevrons. Les chevrons n'apparaissent pas sur la ligne de commande.
3.3 Syntaxe de commande AT
Ce paragraphe décrit le format des commandes AT, ainsi que les mécanismes d'attribution des valeurs par défaut de leurs paramètres.
3.3.1 Ligne de commande
Les commandes commencent toujours par le préfixe standard "AT+WSP" et finissent par le caractère <CR>.
Les paramètres facultatifs sont indiqués entre crochets []. Exemple : AT+WSPCmd=<Paraml>[,<Param2>]
Dans cet exemple, <Param2> est facultatif. Lorsque la commande AT+WSPCmd est exécutée sans <Param2>, la valeur par défaut du paramètre <Param2> est utilisée.
3.3.2 Réponses d'informations et codes de résultat Les réponses commencent et finissent par <CRxLF> (sauf pour le format de la réponse ATVO DCE) et les commandes ATQl (suppression de code de résultat) (voir le document connexe [2]).
• Si la syntaxe de commande est incorrecte, la commande est renvoyée au logiciel central Wavecom pour traitement. Dans ce cas, le message "ERROR" est renvoyé par le logiciel central Wavecom.
• Si la syntaxe de commande est correcte mais que des paramètres erronés ont été transmis, la réponse <CR><LF>+WSP ERROR: <ErrxCRxLF> est renvoyée, accompagnée des codes d'erreur appropriés.
• Si la ligne de commande a été exécutée avec succès, une chaîne <CR><LF "OK"<CRxLF> est renvoyée.
3.4 Commandes de configuration
Différents paramètres sont nécessaires pour fournir au produit Wavecom toutes les informations relatives à la connexion initiale : Le réseau support utilisé : GSM ou GPRS • Les paramètres de temporisation
• Le mode fonctionnel de la superposition de protocole Wavecom SCADA
• Toutes les informations nécessaires relatives au réseau support pour permettre l'accès à une infrastructure TCP/IP
• Le message de configuration « Will » pour la connexion. 3.4.1 Paramètres généraux +WSPGSET a- Description
Cette commande permet de configurer tous les paramètres utilisés pour sélectionner le réseau support, les différentes temporisations et le mode fonctionnel du protocole Wavecom SCADA. b - Syntaxe
c - Valeurs définies
<Mode> (0-2) Mode d'exécution
0 Attribue au paramètre défini par <Parameterid> la valeur indiquée par <Valeur>
1 Lit la valeur actuelle du paramètre défini par <Parameterid>
2 Lit la valeur actuelle de tous les paramètres <Value> (0-32767) Valeur du paramètre indiqué par <Paramid> <Paramid> (1-11) Le tableau suivant donne la liste des différents paramètres.
d - Codes d'erreur possibles
+WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée.
Cette erreur est renvoyée lorsque la fonction du protocole
Wavecom SCADA n'a pas été activée dans le module
WISMO. +WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté. e - Exemples informatifs
3.4.2 Paramètres de connexion +WSPCSET
a - Description
Cette commande est utilisée pour configurer tous les paramètres de connexion (par famille).
b - Syntaxe
c - Valeurs définies <Settings_type> (0-1) Catégories de paramètres
0 Paramètres ISP
1 Paramètres APN * Paramètres IPS (5 paramètres) - Settings_type=0
Ces paramètres sont utilisés lorsque le réseau support GSM (données par commutation de circuits) est sélectionné. Voir la section "Autres paramètres".
* Paramètres APN (3 paramètres) - Settings_type=T
Ces paramètres sont utilisés lorsque le réseau support GPRS est sélectionné. Voir la section "Autres paramètres".
d - Codes d'erreur possibles +WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée.
Cette erreur est renvoyée lorsque la fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO. +WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté, e - Exemples informatifs
3.4.3 Paramètres du message Will +WSPWMS
a- Description
Cette commande permet de configurer tous les paramètres relatifs au message Will. Cette commande renvoie +WSP ERROR: 4013 si la valeur 0 est attribuée au paramètre <OutBoxSize>. b- Syntaxe
c - Valeurs définies
<Topic> Cette chaîne identifie le canal d'informations sur lequel les données du texte ont été publiées.
Longueur maximale = 64 caractères
<Qos> (0-2) Qualité de service
0 Une fois maximum - « Fire and Forget » (envoie et oublie)
1 Au moins une fois - Livraison avec accusé de réception
2 Exactement une fois - Livraison assurée valeur par défaut = 0
<Retain> (0-1) Indique au courtier que le message doit être conservé et envoyé à tonbuvel abonné à cette rubrique comme message initial. Valeur par défaut = 0
<PayloadLength> Longueur maximale du corps du message. Cette valeur est limitée par la valeur du paramètre <OutBoxSize>.
Si la valeur 0 est attribuée au paramètre <OutBoxSize>, cette valeur n'est plus limitée (pour plus d'informations sur le paramètre <OutBoxSize>, voir le paragraphe sur la commande +WSPGSET). d- Codes d'erreur possibles +WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la fonction du protocole
Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté. + WSP ERROR 4002 Opération non prise en charge par la configuration actuelle. e - Exemples informatifs
Remarque : la commande <ctrl>P dans le texte nécessite l'utilisation de la commande d'échappement <ctrl>P<ctrl>P. 3.5 Commandes générales
3.5.1 Définition du contexte WSP +WSPDCONT
a - Description
Cette commande définit les valeurs de paramètre d'un contexte WSP identifié par le paramètre d'identification de contexte local, <WSPCid>.
Deux contextes WSP maximum peuvent être définis.
Une forme spéciale de la commande définie, +WSPDCONT= <WSPCid> permet de supprimer un contexte WSP. b - Syntaxe
c - Valeurs définies <WSPCid> ) (1-2 Identificateur du contexte WSP : paramètre numérique qui indique une définition d'un contexte WSP donné. <Clientid> Identificateur de client du protocole Wavecom
SCADA : paramètre sur chaîne qui identifie le client. Longueur maximale = 23 caractères Valeur par défaut = illisible <Broker_Addr> Paramètre sur chaîne (ou adresse IP) qui identifie le serveur courtier et permet de l'atteindre. Longueur maximale = 255 caractères Valeurs par défaut = illisible <Port> (0-6553^ Paramètre numérique (Port courtier) qui permet d'atteindre le serveur courtier pour le transfert des données.
Valeurs par défaut = 1883 <CleanStart_Flag> (0-1) 0 Le client continue avec les données des connexions précédentes.
1 Le courtier annule tous les messages en suspens pour le client, supprime tous les abonnements du client et réaffecte la valeur 1 à l'ID du message. Valeur par défaut = 0 <KeepAliveTimer> (0-32767) Intervalle maximum entre chaque message d'un client. La valeur 0 indique qu'aucun traitement de temporisation de maintien de la connexion (Keep
Alive) n'est effectué. Valeur par défaut = 0 <UseLWT_Flag> (0-1) Indique si le message Will est utilisé :
0 Le message Will n'est pas utilisé. 1 Le message Will est utilisé
Valeur par défaut = 0 d - Codes d'erreur possibles +WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté. e - Exemples informatifs
3.5.2 Gestion de connexion +WSPCONM
a - Description
Cette commande permet de gérer la connexion à un courtier. b - Syntaxe
c - Valeurs définies <Mode> (0-1) 0 Déconnexion d'une session de protocole
Wavecom SCADA active.
1 Connexion au courtier distant.
2 Abandon de la connexion.
<WSPCid> Identificateur de contexte WSP : paramètre numérique qui identifie la définition d'un contexte WSP donné.
<CleanDisconnect> (0-1) Mode de déconnexion.
0 La déconnexion intervient immédiatement, la file d'attente est vidée et toutes les transactions en cours sont supprimées.
1 Tous les messages mis en file d'attente (en attente ou en suspens) sont traités avant la déconnexion. Valeur par défaut = 1
<Status> (0-2) Statut de la connexion avec le courtier.
0 Non connecté
1 Connecté
2 Connexion en suspens e - Codes d'erreur possibles
+WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté.
+WSP ERROR: 4003 Contexte WSP non défini. +WSP ERROR: 4004 Client déjà connecté. +WSP ERROR: 4005 Opération de connexion en suspens. +WSP ERROR: 4006 Opération de déconnexion en suspens. +WSP ERROR 4007 Client non connecté. Cette erreur est renvoyée lorsqu'une déconnexion est demandée alors que le ME n'est pas connecté.
+WSP ERROR: 4008 Pas de réseau. +WSP ERROR: 4009 Pas de GPRS. +WSP ERROR: 40010 Pas de TCP/IP. e - Exemples informatifs
3.5.3 Envoi de message + WSPSMSG
a - Description
Cette commande permet d'envoyer ou d'obtenir le statut de plusieurs types de messages, notamment Publish, Subscribe et Unsubscribe.
La spécification du protocole Wavecom SCADA permet à un message SUBSCRIBE / UNSUBSCRIBE d'envoyer plusieurs abonnements/ désabonnements. Pour cette commande AT, la limite est fixée à une rubrique par message SUBSCRIBE/UNSUBSCRIBE. Dans ce cas, une application souhaitant s'abonner/se désabonner de plusieurs rubriques émettra plusieurs demandes SUBSCRIBE/UNSUBSCRIBE d'une seule rubrique. b - Syntaxe
c - Valeurs définies <ActionType> Type d'opération
0 Envoi d'un message
1 Obtention du statut du message
* Envoi d'un message (5 paramètres) - ActionType = 0
(*) Longueur maximale du corps du message. Cette valeur est limitée par la valeur du paramètre <OutBoxSize>. Si la valeur 0 est affectée au paramètre <OutBoxSize>, il n'y a aucune limite (pour plus d'informations sur le paramètre <OutBoxSize>, voir le paragraphe sur la commande +WSPGSET). Remarque : si MsgType=10 (UNSUBSCRIBE), alors
seul le paramètre <Topic> est obligatoire. Sinon, si MsgType=8 (SUBSCRIBE) alors les paramètres <Topic> et <Qos> sont utilisés. Si le paramètre <Qos> est activé, alors la valeur par défaut est utilisée. Sinon, si MsgType=3 (PUBLISH), alors tous les paramètres sont utilisés. Si les paramètres <Qos> et
<Retain> sont omis, les valeurs par défaut sont utilisées. Ensuite, affecter au paramètre <Payload> le nombre d'octets indiqué par le paramètre <PayLoadLength>. Ou
Entrer <Payload> <Ctrl>P<Ctrl>C lorsque le paramètre
<PayloadLength> est omis. * Obtenir le statut (1 paramètre) - ActionType = 1
<Status> Statut d'un message
W WAITING. Le message est en file d'attente, la transaction n'a pas commencé. P PENDING. Le message est en file d'attente. La transaction est en cours. N Message introuvable. Le message n'est pas dans la file d'attente.
Soit la transaction est terminée, soit le message n'a jamais été mis en file d'attente. d - Codes d'erreur possibles
+WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la
fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté.
+WSP ERROR: 4007 Client non connecté.
+WSP ERROR: 40011 File d'attente saturée. e - Exemples informatifs
Remarques :
[1] Un <Ctrl>P dans le texte nécessite la commande d'échappement <Ctrl>P<Ctrl>P.
[2] Le paramètre <MsgHandle> n'est géré que si la valeur 32767 octets est affectée au paramètre <OutBoxSize> (voir la section Paramètres généraux, commande +WSPGSET).
Lorsque la valeur 0 est affectée au paramètre <OutBoxSize>, le paramètre <MsgHandle> prend à chaque fois la valeur 1. 3.5.4 Réception de message +WSPRMSG
a - Description
Cette commande permet de lire un message reçu. Le message est reçu avec l'indication +WSPIMSG.
Le courtier peut envoyer un message PUBLISH au client sur n'importe quelle rubrique à laquelle le client est abonné. Cette commande AT permet d'obtenir les messages arrivés dans la file d'attente de la corbeille arrivée.
Cette commande AT n'est disponible que si la valeur 0 n'est pas affectée au paramètre <InboxSize> (voir Paramètres généraux, commande +WSPGSET). Si la valeur 0 est affectée au paramètre <InboxSize>, les messages sont affichés avec l'indication +WSPIRMSG. b - Syntaxe
c - Valeurs définies <Msgid> (0-32767) Identificateur du message reçu. <Mode> (0-1) Mode de réception
0 Sortie terminée (par <ctrl>P<ctrl>C) sans l'en-tête (DUP, Qos, Retain...).
1 Sortie terminée et en-tête affiché. d - Codes d'erreur possibles
+WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté.
+WSP ERROR 4002 Opération non prise en charge par la configuration actuelle.
+WSP ERROR: 40012 Message introuvable. e - Exemples informatifs
Commande Réponses possibles
AT+WSPRMSG? +WSPCONM:8 OK
Remarque : obtient la liste des Remarque : il y a un message dans la messages figurant dans la file d'attente corbeille arrivée. de la corbeille arrivée.
3.5.5 Administration de protocole +WSPPA
a - Description
Cette commande permet d'effectuer une réinitialisation générale (RESET) dans les différentes files d'attente ou de rétablir les valeurs par défaut de tous les paramètres. b - Syntaxe
c- Valeurs définies <ActionType> (0-1) Type d'action.
0 RESET. Vide la file d'attente et interrompt toutes les transactions en cours.
1 DEFAULT PARAMETERS. Toutes les valeurs par défaut des paramètres des commandes AT sont rétablies. Action possible uniquement hors connexion. d - Codes d'erreur possibles +WSP ERROR 4000 Fonction du protocole Wavecom SCADA non activée. Cette erreur est renvoyée lorsque la fonction du protocole Wavecom SCADA n'a pas été activée dans le module WISMO.
+WSP ERROR 4001 Opération non autorisée. Cette erreur est renvoyée lorsqu'un paramètre erroné est détecté.
+WSP ERROR 4002 Opération non prise en charge par la configuration actuelle. e - Exemples informatifs
3.6 Indications WSP
Ce chapitre décrit toutes les réponses d'événement de messages envoyées. 3.6.1 Indications de connexion +WSPDCONI
Pour permettre à l'application externe de connaître le statut de la connexion, un mécanisme d'indications de connexion (+WSPCONI) est mis en place.
Ces indications sont envoyées lorsqu'une valeur comprise entre 1 et 3 est affectée au paramètre <NotifyLevel> (voir la commande +WSPGSET). Syntaxe : +WSPCONI: <Status> <Status> 0 La déconnexion demandée est terminée.
1 La connexion avec le courtier est établie.
2 La connexion avec le courtier est refusée.
3 Version de protocole non prise en charge.
4 Identificateur rejeté par le courtier. 5 Configuration de message Will nécessaire. Cette indication n'est renvoyée que lorsque la commande +WSPWMS n'a pas été configurée avant la connexion. 6 Dépassement du temps imparti pour la configuration du message Will. Connexion non établie. 3.6.2 Indications d'envoi de message +WSPSMSGI
Pour permettre à l'application externe de savoir si le message est reçu ou si un message a été envoyé, un mécanisme d'indications de message (+WSPSMSGI) est mis en place.
Ces indications sont envoyées lorsque la valeur 2 ou 3 est affectée au paramètre <NotifyLevel> (voir la commande +WSPGSET) et si la valeur 32767 est affectée au paramètre <InboxSize>. Syntaxe : +WSPSMSGI: <Status>,<Msgid> <Status>
0 Le message <Msgid> a été distribué (Qos>0) 1 Le message <Msgid> a été supprimé (toutes les tentatives ont échoué) <Msgid>
(0-32767) Identifiant de message 3.6.3 Indications de réception de message +WSPRMSGI
Si la taille de la corbeille arrivée (<InboxSize>) est de zéro (0), les messages sont affichés avec l'indication +WSPRMSGI dès leur réception.
Ces indications sont envoyées lorsque la valeur 2 ou 3 est affectée au paramètre <NotifyLevel> (voir la commande +WSPGSET) et lorsque la valeur 0 est affectée au paramètre <InboxSize>.
L'en-tête du message et/ou la charge utile sont affichés en fonction du paramètre +WSPGSET RecMsgMode.
Syntaxe : +WSPRMSGI: <Status>[, <Msgid>[, <Topic>, <Dup>, <Qos>, <Retain>, <LengthxCRxLE> <Data>]]
<Status>
0 Message <Msgid> reçu dans la corbeille arrivée.
1 Message reçu. Le message est directement acheminé vers la sortie.
2 Corbeille arrivée saturée. 3 Aucune capacité de réception de message.
4 Message terminé.
5 Message erroné.
<Msgid> (0-32767) Identificateur du message reçu.
<Topic> Chaîne de la rubrique du message. <Dup> (0-1) Indicateur double (pour Qos 1 et 2).
<Qos> (0-2) Qualité de service pour ce message.
<Retain> (0-1) Indicateur de mémorisation (Retain).
<Length> (0-taille de la corbeille départ (Outboxsize) Longueur de charge (Payload). <Data> Données du message.
3.7. Codes d'erreur
Ce chapitre décrit tous les codes d'erreur renvoyés par les commandes AT
WSP.
4. Exemples
Ce paragraphe donne des exemples d'utilisation de l'ensemble de commandes AT du protocole Wavecom SCADA décrit ci-dessus. Ces exemples sont illustrés respectivement par les figures 3A à 3K.
Sur ces figures, les informations sont présentées selon un formalisme habituel pour l'homme du métier, faisant apparaître précisément les échanges de données entre les différentes entités (serveur, ou courtier, module et application
externe). La quatrième colonne indique les commandes utilisées, et le cas échéant leur signification.
Il n'apparaît pas nécessaire de commenter de façon supplémentaire ces figures, dont l'interprétation est directe pour l'homme du métier. On présente les aspects suivants :
4.1 Réception de message avec Qos 0
4.1.1 Avec une corbeille arrivée (figure 3 A)
4.1.2 Sans corbeille arrivée (figure 3B)
4.2 Réception de message avec Qos 1 4.2.1 Avec une corbeille arrivée (figure 3C)
4.2.2 Sans corbeille arrivée (figure 3D)
4.3 Réception de message avec Qos 2
4.3.1 Avec une corbeille arrivée (figure 3E)
4.3.2 Sans corbeille arrivée (figure 3F) 4.4 Envoi de message avec Qos 0
4.4.1 Avec une corbeille départ (figure 3G)
4.4.2 Sans corbeille départ (figure 3H)
4.5 Envoi de message avec Qos 1
4.5.1 Avec une corbeille départ (figure 31) 4.5.2 Sans corbeille départ (figure 3J)
4.6 Envoi de message avec Qos 2
4.6.1 Avec une corbeille départ (figure 3K)
4.6.2 Sans corbeille départ (figure 3L)
4.7 Commentaires On constate, sur ces différentes figures, que l'application externe n'a pas à connaître le protocole MQIsdp (commandes PUBLISH, PUBREC, PUBREL, PUBCOM,...), mais uniquement les commandes AT présentées plus haut.
C'est le module qui assure l'interface, de façon transparente. La programmation du module pour réaliser cette interface est évidente, à partir des
spécifications données ci-dessus d'une part, et de celles du protocole MQIsdp d'autre part.