Interface de commande universelle La présente invention concerne une interface de commande universelle. Le domaine de l'invention est donc celui du dialogue homme-machine, autrement dit celui des méthodes de commande d'une machine quelconque par un utilisateur qui, souvent, n'est pas familier de la multitude des langages de programmation employés par ces méthodes. The present invention relates to a universal control interface. The field of the invention is therefore that of human-machine dialogue, in other words that of methods of controlling any machine by a user who is often not familiar with the multitude of programming languages used by these methods. .
Un premier exemple particulièrement actuel prend place dans la domotique. En effet, chez lui, un utilisateur dispose souvent de plusieurs appareils de service tels qu'une télévision, un magnétoscope, un appareil de reproduction sonore et/ou d'un système d'alarme etc. Couramment, ces équipements proviennent de fabricants différents recourant chacun à une méthode de commande qui lui est propre. Ces méthodes font appel à des langages de programmation variés et à des interfaces diverses si bien qu'il n'est pas possible de commander les appareils concernés d'une manière unique. De fait, chaque appareil est livré avec son propre appareil de commande tel qu'une télécommande.A first particularly current example takes place in home automation. Indeed, at home, a user often has several service devices such as a television, a video recorder, a sound reproduction device and / or an alarm system, etc. Currently, this equipment comes from different manufacturers, each using its own control method. These methods use various programming languages and various interfaces, so that it is not possible to control the devices concerned in a single way. In fact, each device is delivered with its own control device such as a remote control.
On connaît des télécommandes dites « universelles ». Cependant, ces appareils se bornent à enregistrer les programmes de commande des équipements pour lesquels ils sont conçus. Rien ne garantit que si l'utilisateur acquiert un nouvel équipement, celui-ci puisse être commandé au moyen de cette télécommande universelle.So-called “universal” remote controls are known. However, these devices limit themselves to recording the control programs of the equipment for which they are designed. There is no guarantee that if the user acquires new equipment, it can be controlled using this universal remote control.
Un deuxième exemple prend place dans la micro-informatique. En effet, un utilisateur habitué à son poste de travail équipé de programmes qui lui sont connus rencontre de grosses difficultés dès lors qu'il cherche à utiliser d'autres programmes dont il ne connaît pas le fonctionnement en détails.A second example takes place in microcomputing. Indeed, a user accustomed to his workstation equipped with programs which are known to him encounters great difficulties when he seeks to use other programs of which he does not know the operation in detail.
D'une manière générale, les applications hébergées sur des appareils de service (ordinateurs, terminaux de saisie, machines outils, appareils domestiques) ou sur des périphériques dits « intelligents » (photocopieurs, appareils photographiques, systèmes d'alarme) disposent de leurs propres interfaces et de leurs propres langages de programmation.In general, applications hosted on service devices (computers, input terminals, machine tools, household appliances) or on so-called “intelligent” peripherals (photocopiers, cameras, alarm systems) have their own interfaces and their own programming languages.
En matière de contrôle que l'on pourrait qualifier de synchrone, lorsqu'il s'agit de prendre le contrôle par l'ordinateur maître d'un ordinateur esclave distant, la solution la plus aboutie consiste à restituer sur l'ordinateur maître ce qui figure sur l'écran de l'ordinateur esclave. Cette solution requiert de grosses ressources en puissance de calcul sur l'ordinateur esclave qui a la charge de bâtir l'interface utilisateur. Elle est donc mal adaptée aux périphériques pourvus
de ressources limitées. De plus, l'interface n'est pas unique car elle est générée par l'ordinateur esclave. Deux applications esclaves différentes conduiront souvent à deux interfaces différentes.In terms of control, which could be described as synchronous, when it comes to taking control by the master computer of a remote slave computer, the most successful solution consists in restoring to the master computer what is shown on the slave computer screen. This solution requires large computing power resources on the slave computer which is responsible for building the user interface. It is therefore ill-suited to peripherals with limited resources. In addition, the interface is not unique because it is generated by the slave computer. Two different slave applications will often lead to two different interfaces.
Dans une architecture de type client serveur, le client rapatrie une application du serveur et renvoie des commandes à ce serveur qui les interprète. Ici, le serveur doit disposer d'une puissance de calcul moindre que celle du client, mais il nécessite tout de même un minimum de ressources, ce qui constitue encore une limitation. Il faut noter que l'interface n'est pas unique non plus. En outre, il faut prévoir une application spécifique qui s'appuie sur de nombreux langages différents tels que « HTML », « XGML », « JAVASCRIPT », « PHP » etc.In a client server architecture, the client repatriates an application from the server and sends commands back to this server, which interprets them. Here, the server must have less computing power than the client, but it still requires a minimum of resources, which again constitutes a limitation. Note that the interface is not unique either. In addition, there must be a specific application that relies on many different languages such as "HTML", "XGML", "JAVASCRIPT", "PHP" etc.
Un objet de la présente invention est ainsi de proposer une interface qui soit indépendante de l'application à contrôler. Un autre objet de l'invention est de limiter la puissance de calcul requise tant par l'application maître que par l'application esclave.An object of the present invention is thus to provide an interface which is independent of the application to be controlled. Another object of the invention is to limit the computing power required both by the master application and by the slave application.
Encore un autre objet de l'invention est de permettre à un utilisateur de disposer d'une seule interface pour contrôler les différentes applications qu'il emploie. Un objet supplémentaire de l'invention est d'assurer un fonctionnement correct dans des environnements de communication de mauvaise qualité.Yet another object of the invention is to allow a user to have a single interface to control the different applications that he uses. An additional object of the invention is to ensure correct operation in poor quality communication environments.
Selon l'invention, un appareil de service est pourvu d'un programme de contrôle assemblant une pluralité de sous-programmes parmi lesquels au moins un module de commande est prévu pour exécuter une opération en réponse à une consigne ; de plus, ce module de commande comportant une séquence opérationnelle interprétable par cet appareil et une séquence textuelle, la séquence opérationnelle comportant une balise qui figure la consigne, la séquence textuelle consistant en une interface de saisie de la consigne, il comprend des moyens d'émission pour adresser ce module de commande à un appareil de commande et des moyens de réception pour recevoir la séquence opérationnelle dans laquelle la consigne est substituée à la balise.According to the invention, a service apparatus is provided with a control program assembling a plurality of subroutines among which at least one control module is provided to execute an operation in response to a setpoint; moreover, this control module comprising an operational sequence interpretable by this device and a textual sequence, the operational sequence comprising a tag which represents the instruction, the textual sequence consisting of an interface for entering the instruction, it comprises means for transmission to address this control module to a control device and reception means to receive the operational sequence in which the instruction is substituted for the tag.
De préférence, lorsque ce programme de contrôle comporte plusieurs modules de commande, ces modules sont agencés dans un arbre.Preferably, when this control program comprises several control modules, these modules are arranged in a tree.
Dans ce cas, les moyens d'émission sont avantageusement prévus pour adresser la totalité de l'arbre à l'appareil de commande.
Ainsi, les moyens de réception sont prévus pour recevoir les séquences opérationnelles de cet arbre, séquences dans lesquelles les consignes sont substituées aux balises correspondantes.In this case, the transmission means are advantageously provided for addressing the entire shaft to the control device. Thus, the reception means are provided for receiving the operational sequences of this tree, sequences in which the instructions are substituted for the corresponding tags.
Selon une caractéristique additionnelle de l'invention, ces moyens de réception sont également prévus pour recevoir l'arbre complet.According to an additional characteristic of the invention, these reception means are also provided for receiving the complete shaft.
L'invention vise aussi un appareil de commande d'au moins un appareil de service, comprenant des moyens de réception pour recevoir au moins un module de commande prévu pour exécuter une opération en réponse à une consigne ; de plus, ce module de commande comportant une séquence opérationnelle interprétable par l'appareil de service et une séquence textuelle, la séquence opérationnelle comportant une balise qui figure la consigne, la séquence textuelle consistant en une interface de saisie de cette consigne, l'appareil de commande comprend des moyens d'interfaçage pour mettre en œuvre l'interface de saisie afin d'acquérir la consigne, des moyens de détection de la balise, des moyens de substitution pour remplacer la balise par la consigne dans la séquence opérationnelle et des moyens d'émission pour retourner cette séquence opérationnelle à l'appareil de service.The invention also relates to an apparatus for controlling at least one service apparatus, comprising reception means for receiving at least one control module designed to execute an operation in response to a set point; moreover, this control module comprising an operational sequence interpretable by the service apparatus and a textual sequence, the operational sequence comprising a tag which represents the instruction, the textual sequence consisting of an interface for entering this instruction, the apparatus control comprises interfacing means for implementing the input interface in order to acquire the set point, means for detecting the tag, substitution means for replacing the tag with the set point in the operational sequence and means to return this operational sequence to the service device.
De préférence, cet appareil de commande comporte des moyens de requête pour activer l'émission du module de commande à destination de ses propres moyens de réception.Preferably, this control device includes request means for activating the transmission of the control module to its own reception means.
S'il est prévu pour recevoir un arbre de commande comportant plusieurs modules de commande, l'appareil de commande comprend des moyens pour présenter les séquences textuelles dans un arbre de présentation.If it is intended to receive a control tree comprising several control modules, the control device comprises means for presenting the text sequences in a presentation tree.
Ainsi, les moyens d'émission sont prévus pour retourner les séquences opérationnelles de l'arbre de commande, séquences dans lesquelles les consignes sont substituées aux balises correspondantes.Thus, the transmission means are provided for returning the operational sequences of the control tree, sequences in which the instructions are substituted for the corresponding tags.
Selon une caractéristique additionnelle de l'invention, ces moyens d'émission sont prévus pour adresser l'arbre de commande complet à l'appareil de service. Suivant un mode de réalisation privilégié, l'appareil comprend des moyens pour recevoir des modules de commande d'une pluralité d'appareils de service, des moyens de substitution pour remplacer la balise par la consigne dans chaque séquence opérationnelle et des moyens pour retourner ces séquences opérationnelles aux appareils de service appropriés. En outre, cet appareil comprend des moyens de sélection présentant les appareils de service selon une structure arborescente.
Qu'il s'agisse d'un appareil de service ou d'un appareil de commande, les moyens d'émission et les moyens de réception peuvent être adaptés à une liaison logicielle.According to an additional characteristic of the invention, these transmission means are provided for addressing the complete control shaft to the service appliance. According to a preferred embodiment, the apparatus comprises means for receiving control modules from a plurality of service apparatuses, substitution means for replacing the beacon by the instruction in each operational sequence and means for returning these operational sequences to the appropriate service devices. In addition, this device comprises selection means presenting the service devices according to a tree structure. Whether it is a service appliance or a control appliance, the transmission means and the reception means can be adapted to a software link.
De même, ces moyens d'émission et ces moyens de réception peuvent être adaptés à une liaison sans fil.Likewise, these transmission means and these reception means can be adapted to a wireless link.
La présente invention apparaîtra maintenant avec plus de détails dans le cadre de la description qui suit d'exemples de réalisation donnés à titre illustratif en se référant aux figures annexées qui représentent :The present invention will now appear in more detail in the context of the following description of exemplary embodiments given by way of illustration with reference to the appended figures which represent:
- la figure 1 , un schéma figurant un appareil de service et un appareil 0 dé commande,- Figure 1, a diagram showing a service device and a control device 0,
- la figure 2, un schéma d'un arbre de commande, etFIG. 2, a diagram of a control shaft, and
- la figure 3, un schéma d'un module de commande.- Figure 3, a diagram of a control module.
Les éléments présents dans plusieurs figures sont affectés d'une seule et même référence. 5 En référence à la figure 1 , l'invention propose donc de commander un appareil de service 10 tel qu'un téléviseur au moyen d'un appareil de commande 11 tel qu'un terminal. Le terminal peut être un micro-ordinateur, un module de télécommande ou même un téléphone portable pourvu d'un écran. La liaison 12 entre l'appareil de service 10 et l'appareil de commande 11 peut être de toute o nature, logicielle, filaire ou sans fil, radio ou optique par exemple.The elements present in several figures are assigned a single reference. With reference to FIG. 1, the invention therefore proposes to control a service appliance 10 such as a television by means of a control appliance 11 such as a terminal. The terminal can be a microcomputer, a remote control module or even a mobile phone provided with a screen. The link 12 between the service appliance 10 and the control appliance 11 can be of any nature, software, wired or wireless, radio or optical for example.
En référence à la figure 2, l'appareil de service 10 est pourvu d'un programme de contrôle. Ainsi pour le téléviseur TEL, il est possible d'effectuer des réglages REG ou un paramétrage PAR tel que celui des différents canaux de réception. Aux nombres des réglages REG figurent celui du son SO et celui 5 de l'image IM. Pour le son, il est possible de changer le volume sonore VOL ou la tonalité TON, tandis que l'on peut ajuster le contraste CO et la brillance BR de l'image.Referring to Figure 2, the service apparatus 10 is provided with a control program. Thus for the TEL television, it is possible to carry out REG settings or a PAR setting such as that of the various reception channels. The REG settings include that of the SO sound and that of the IM image. For sound, it is possible to change the VOL volume or the TON tone, while the CO contrast and BR brightness of the image can be adjusted.
. Le programme de contrôle assemble une pluralité de sous-programmes dont certains sont autonomes et d'autres, les modules de commande, 0 nécessitent l'acquisition d'une consigne avant d'être exécutés. A titre d'exemple, le module de commande du volume sonore VOL a pour fonction de régler l'amplificateur du téléviseur sur une consigne qui peut être une valeur numérique comprise entre 0 et 10.. The control program assembles a plurality of subroutines, some of which are autonomous and others, the control modules, 0 requiring the acquisition of a setpoint before being executed. By way of example, the volume control module VOL has the function of adjusting the amplifier of the television set to a set point which can be a numerical value between 0 and 10.
En référence à la figure 3, chaque module de commande MC comporte 5 une suite d'instructions écrites dans le langage de programmation qu'a retenu le constructeur du téléviseur. Généralement, ce module est écrit en langage clair,
directement interprétable, et l'homme de métier qualifie de script cette suite d'instructions. Une instruction particulière que l'on dénommera instruction de référence IR permet d'introduire la consigne dans le module de commande.With reference to FIG. 3, each control module MC comprises a series of instructions written in the programming language retained by the manufacturer of the television. Generally, this module is written in plain language, directly interpretable, and those skilled in the art call this sequence of instructions a script. A particular instruction which will be called IR reference instruction makes it possible to introduce the setpoint in the control module.
L'invention propose en premier lieu de disposer une balise BAL dans cette instruction de référence IR pour figurer la consigne, la suite d'instructions ci-dessus apparaissant maintenant comme une séquence opérationnelle SO. Par balise, on entend une suite de caractères identifiable sans ambiguïté.The invention firstly proposes to have a BAL tag in this IR reference instruction to display the setpoint, the series of instructions above now appearing as an operational sequence SO. By tag, we mean a unambiguously identifiable series of characters.
L'invention propose en second lieu d'adjoindre à cette séquence opérationnelle SO une séquence textuelle ST qui consiste en une interface de saisie de la consigne CONS. Cette séquence textuelle ST est écrite dans un langage interprétable par la machine de commande qui a pour vocation première de définir une interface homme-machine. Dans l'exemple adopté, il s'agit de saisir la valeur souhaitée du volume sonore.The invention secondly proposes to add to this operational sequence SO a textual sequence ST which consists of an interface for entering the instruction CONS. This textual sequence ST is written in a language that can be interpreted by the control machine, the primary purpose of which is to define a man-machine interface. In the example adopted, it is a question of entering the desired value of the sound volume.
Le module de commande MC est ainsi constitué d'une séquence opérationnelle SO et d'une séquence textuelle ST.The control module MC thus consists of an operational sequence SO and a textual sequence ST.
L'invention propose en troisième lieu d'adresser ce module de commande MC à l'appareil de commande 11 par un quelconque moyen.The invention thirdly proposes to address this control module MC to the control device 11 by any means.
Cet appareil de commande distingue la séquence opérationnelle SO de la séquence textuelle ST qu'il est capable d'interpréter. Il restitue donc l'interface de saisie, sur un écran par exemple, pour acquérir la consigne CONS. Il détecte la balise BAL dans la séquence opérationnelle SO et la remplace par la consigneThis control device distinguishes the operational sequence SO from the textual sequence ST which it is capable of interpreting. It therefore returns the input interface, on a screen for example, to acquire the CONS instruction. It detects the BAL tag in the SO operational sequence and replaces it with the setpoint
CONS.CONS.
Pour fixer les idées, la balise est une suite de quatre caractères qui commence par la lettre μ. Cette lettre μ ne figurant dans aucune instruction du langage de programmation constructeur, elle identifie une balise de manière non ambiguë.To fix the ideas, the tag is a series of four characters which begins with the letter μ. This letter μ does not appear in any instruction of the manufacturer programming language, it uniquely identifies a tag.
L'appareil de commande retourne ensuite à l'appareil de service la séquence opérationnelle SO dans laquelle la consigne CONS a été substituée à la balise BAL. L'appareil de service est donc à même d'interpréter et/ou d'exécuter cette séquence.The control device then returns to the service device the operational sequence SO in which the instruction CONS has been substituted for the tag BAL. The service device is therefore able to interpret and / or execute this sequence.
Bien entendu, l'appareil de service peut adresser à l'appareil de commande une pluralité de modules de commande chacun constitué d'une séquence opérationnelle et d'une séquence textuelle.Of course, the service apparatus can address to the control apparatus a plurality of control modules each consisting of an operational sequence and a text sequence.
Ainsi, avantageusement, ces modules sont agencés dans un arbre au moyen d'un script. Cet arbre est adressé à l'appareil de commande qui remplace dans chaque séquence opérationnelle la balise par la consigne correspondante.
L'appareil de commande retourne ensuite à l'appareil de service cet arbre renseigné et dépouillé des séquences textuelles.Thus, advantageously, these modules are arranged in a tree by means of a script. This tree is sent to the control unit which replaces the tag in each operational sequence with the corresponding instruction. The control device then returns this informed and stripped-down text sequence to the service device.
L'invention permet également de mettre à jour l'arbre dans l'appareil de service en lui retournant un arbre modifié comportant les modules de commande complets, chacun pourvu d'une séquence opérationnelle dans laquelle figure une balise et d'une séquence textuelle correspondante.The invention also makes it possible to update the tree in the service appliance by returning to it a modified tree comprising the complete control modules, each provided with an operational sequence in which there is a tag and with a corresponding text sequence .
Par ailleurs, le module de commande a la capacité de commander plusieurs appareils de service.In addition, the control module has the capacity to control several service devices.
A titre d'exemple, dans un environnement réseau mettant en oeuvre la technologie « Bluetooth », l'appareil de commande peut interroger les différents éléments du réseau pour identifier les appareils de service qu'il est à même de piloter. Il peut ensuite interroger l'un de ces appareils de service afin que celui-ci lui adresse son arbre de commande.For example, in a network environment using “Bluetooth” technology, the control device can interrogate the various elements of the network to identify the service devices that it is able to control. He can then interrogate one of these service devices so that it can send him his control tree.
De préférence, l'appareil de commande présente les différents appareils de service qu'il a identifié au moyen d'une structure arborescente de sorte qu'un utilisateur puisse aisément sélectionner l'appareil qu'il envisage de régler ou de mettre en service.Preferably, the control device presents the various service devices that it has identified by means of a tree structure so that a user can easily select the device that he intends to adjust or put into service.
Jusqu'à présent, il était précisé que c'est l'appareil de service qui fournit ses différents modules de commande à l'appareil de commande. Il ne faut pas voir là une limitation de l'invention. En effet, l'appareil de commande pourrait acquérir un module de commande par tout autre moyen, le réseau Internet par exemple, remplacer la balise par la consigne, et adresser la séquence opérationnelle ainsi modifiée à l'appareil de service.Until now, it has been specified that it is the service appliance which supplies its various control modules to the control appliance. This should not be seen as a limitation of the invention. In fact, the control device could acquire a control module by any other means, the Internet for example, replace the beacon with the instruction, and send the operational sequence thus modified to the service device.
L'exemple de réalisation de l'invention présenté ci-dessus a été choisi pour son caractère concret. Il ne serait cependant pas possible de répertorier de manière exhaustive tous les modes de réalisation que recouvre cette invention.The embodiment of the invention presented above was chosen for its concrete character. However, it would not be possible to exhaustively list all the embodiments covered by this invention.
En particulier, toute étape ou tout moyen décrit peut-être remplacé par une étape ou un moyen équivalent sans sortir du cadre de la présente invention.
In particular, any step or any means described may be replaced by a step or equivalent means without departing from the scope of the present invention.