Brevet FR3021137A1 — publié le 20151120

B13307 - Keolink 1 DISPOSITIF D'INTERFACE UTILISATEUR Domaine La présente demande concerne un dispositif d'interface utilisateur pour un système électronique ou électromécanique comprenant un microcontrôleur et un procédé de commande d'un tel 5 système. Exposé de l'art antérieur De nombreux systèmes électroniques ou électromécaniques comprennent un microcontrôleur qui commande les éléments du système. Des exemples de systèmes électroniques ou électro- 10 mécaniques sont des équipements tels qu'une climatisation, un ascenseur, une porte automatique, des appareils électroménagers, comme une machine à café, ou des appareils de domotique. Il est généralement souhaitable d'équiper de tels systèmes avec un dispositif d'interface utilisateur pour permettre 15 à un utilisateur de commander le fonctionnement du système et/ou de visualiser des données fournies par le système. Il existe de nombreux types de dispositifs d'interface utilisateur. Un dispositif d'interface utilisateur simple peut comprendre des boutons et/ou des potentiomètres actionnables par l'utilisateur. 20 Un dispositif d'interface utilisateur plus complexe comprend, par exemple, un écran tactile, sur lequel est affichée une interface graphique. B13307 - Keolink 2 Toutefois, le dispositif d'interface utilisateur d'un système peut ne pas permettre d'accéder à toutes les fonctions que peut réaliser le système. Ceci peut résulter de contraintes de coût et/ou d'encombrement lors la conception du système. Ceci peut également se produire après la commercialisation du système, par exemple lorsqu'il apparaît un besoin d'une nouvelle fonction que peut réaliser le système mais qui ne peut pas être commandée avec le dispositif d'interface utilisateur initialement prévu. Toutefois, le démontage d'un dispositif d'interface utilisateur déjà présent pour le remplacer par un autre peut ne pas être envisageable, notamment pour des raisons de coût et/ou d'encombrement. De plus, la conception d'un nouveau dispositif d'interface utilisateur peut être difficile puisqu'elle peut entraîner une modification matérielle du microcontrôleur du système et/ou une modification des programmes exécutés par le microcontrôleur. Résumé Un objet d'un mode de réalisation est de palier tout ou partie des inconvénients des dispositifs d'interface utilisateur 20 décrits précédemment. Un autre objet d'un mode de réalisation est de permettre au dispositif d'interface utilisateur d'échanger des données avec le microcontrôleur du système électronique ou électromécanique par une liaison sans fil. 25 Un autre objet d'un mode de réalisation est que l'installation du dispositif d'interface utilisateur n'entraîne pas de modifications des programmes exécutés par le micro-contrôleur du système électronique ou électromécanique. Un autre objet d'un mode de réalisation est que le 30 dispositif d'interface utilisateur corresponde à un dispositif déjà existant et réalisant par ailleurs d'autres fonctions, notamment un terminal de poche (en anglais smartphone), une tablette tactile ou un ordinateur portable. Ainsi, un mode de réalisation prévoit un dispositif de 35 communication destiné à être relié à un port de débogage d'un B13307 - Keolink 3 premier microcontrôleur, le dispositif de communication comprenant un deuxième microcontrôleur relié à un premier module de communication sans fil et destiné à être relié audit port de débogage, le premier module de communication sans fil étant adapté à recevoir une requête par une liaison de communication sans fil émise par un dispositif d'interface utilisateur, le deuxième microcontrôleur étant adapté à authentifier le dispositif d'interface utilisateur, à déterminer, dans le cas où le dispositif d'interface utilisateur est authentifié, si la requête est autorisée pour ledit dispositif d'interface utilisateur authentifié et à transmettre la requête au port de débogage seulement si la requête est autorisée. Selon un mode de réalisation, le deuxième micro-contrôleur comprend une première mémoire dans laquelle est stockée une liste d'identifiants et le deuxième microcontrôleur est adapté à authentifier le dispositif d'interface utilisateur à partir de la comparaison d'un identifiant reçu par le module de communication sans fil à la liste d'identifiants. Selon un mode de réalisation, la requête comprend une opération de lecture ou d'écriture dans un emplacement d'une deuxième mémoire du premier microcontrôleur, le deuxième microcontrôleur étant adapté à déterminer si la requête est autorisée en déterminant si l'emplacement appartient à une liste d'emplacements autorisés pour le dispositif d'interface utilisateur authentifié et si l'opération de lecture ou d'écriture de la requête est autorisée pour ledit emplacement. Selon un mode de réalisation, le premier module de communication sans fil est relié à une première antenne, le dispositif de communication comprenant un deuxième module de communication sans fil relié à une deuxième antenne différente de la première antenne. Selon un mode de réalisation, le premier module de communication sans fil est adapté à mettre en oeuvre un procédé de communication NFC et le deuxième module de communication sans B13307 - Keolink 4 fil est adapté à mettre en oeuvre un procédé de communication Bluetooth. Selon un mode de réalisation, le dispositif de communication comprend un troisième module de communication sans 5 fil relié à une troisième antenne différente des première et deuxième antennes. Selon un mode de réalisation, le troisième module de communication sans fil est adapté à mettre en oeuvre un procédé de communication GSM. 10 Selon un mode de réalisation, le deuxième micro- contrôleur est adapté à authentifier le dispositif interface d'utilisateur à partir de la comparaison d'un mot de passe reçu par le premier module de communication sans fil à une liste de mots de passe. 15 Un mode de réalisation prévoit également un système électronique ou électromécanique comprenant : un premier microcontrôleur comprenant un processeur, une deuxième mémoire, un module de débogage et un port de débogage, le module de débogage et le processeur étant adaptés à lire et à 20 écrire des données dans la deuxième mémoire, le module de débogage étant relié au port de débogage ; un dispositif de communication tel que défini précédemment, relié au port de débogage ; et un dispositif d'interface utilisateur adapté à 25 transmettre une requête au dispositif de communication par une communication sans fil. Selon un mode de réalisation, le dispositif d'interface utilisateur est choisi parmi le groupe comprenant un terminal de poche, une tablette tactile ou un ordinateur portable. 30 Selon un mode de réalisation, le port de débogage est un port SWD ou JTAG. Un mode de réalisation prévoit également un procédé de commande d'un système électronique ou électromécanique tel que défini précédemment, comprenant les étapes suivantes : B13307 - Keolink authentification du dispositif d'interface utilisateur par le deuxième microcontrôleur ; transmission par le dispositif d'interface utilisateur d'une requête au dispositif de communication par une liaison sans 5 fil ; analyse de la requête par le deuxième microcontrôleur dans le cas où le dispositif d'interface utilisateur est authentifié, pour déterminer si la requête est autorisée pour ledit dispositif d'interface utilisateur authentifié ; et transmission par le deuxième microcontrôleur de la requête au module de débogage via le port de débogage seulement si la requête est autorisée. Selon un mode de réalisation, le deuxième micro-contrôleur comprend une première mémoire dans laquelle est stockée une liste d'identifiants et le deuxième microcontrôleur authentifie le dispositif d'interface utilisateur à partir de la comparaison d'un identifiant reçu par le module de communication sans fil à la liste d'identifiants. Selon un mode de réalisation, le procédé comprend, en 20 outre, les étapes suivantes : lecture ou écriture d'une donnée dans la deuxième mémoire par le module de débogage à partir de la requête ; fourniture de la donnée au dispositif de communication par le module de débogage via le port de débogage ; et 25 fourniture de la donnée par le dispositif de communication au dispositif d'interface utilisateur par une liaison sans fil. Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, 30 seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente, de façon partielle et schématique, un exemple d'un système électromécanique commandé 35 par un microcontrôleur ; B13307 - Keolink 6 la figure 2 représente, de façon partielle et schématique, un exemple de microcontrôleur ; la figure 3 représente, de façon partielle et schématique, un exemple de microcontrôleur adapté à la mise en 5 place d'un dispositif d'interface utilisateur sans fil ; la figure 4 représente, de façon partielle et schématique, un mode de réalisation d'un système électromécanique comprenant un dispositif d'interface utilisateur sans fil ; la figure 5 représente, sous la forme d'un schéma-bloc, 10 un mode de réalisation d'un procédé de commande du système représenté en figure 4 par le dispositif d'interface utilisateur ; et les figures 6 et 7 représentent, sous la forme de schémas-blocs, des modes de réalisation de procédés d'installation 15 d'un programme d'interface graphique sur le dispositif d'interface utilisateur. Description détaillée Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures et, de plus, comme 20 cela est habituel dans la représentation des circuits intégrés, les diverses figures ne sont pas tracées à l'échelle. Dans la suite de la description, les expressions "sensiblement", "environ" et "approximativement" signifient "à 10 % près". De plus, seuls les éléments nécessaires à la compréhension de l'invention sont 25 décrits et représentés sur les figures. En particulier, les moyens d'alimentation d'un microcontrôleur sont bien connus d'un homme du métier et ne sont pas décrits en détail. La figure 1 représente, de façon partielle et schématique, un exemple d'un système électromécanique 10. Le 30 système 10 comprend un microcontrôleur 12 (MCU) qui, par exemple, est relié à un capteur 14 (Sensor), un actionneur 16 (Motor), éventuellement une mémoire externe 18 (Memory) et éventuellement un dispositif d'interface d'utilisateur 20 (Interface). Le microcontrôleur 12 est un circuit intégré qui rassemble les 35 éléments essentiels d'un ordinateur : un processeur, des mémoires, B13307 - Keolink 7 des unités périphériques et des interfaces d'entrée-sortie. Le microcontrôleur 12 peut être relié à plus d'un capteur 14 ou plus d'un actionneur 16. A titre d'exemple, lorsque le système 10 correspond à une machine à café, les capteurs peuvent correspondre à un capteur de température de l'eau utilisée pour faire le café, un capteur de la pression d'injection de l'eau dans le café, un détecteur du niveau d'eau, un détecteur du niveau de grains de café, etc. L'actionneur 16 peut correspondre à une pompe utilisée pour faire circuler de l'eau. Le dispositif d'interface utilisateur 20 peut comprendre un ou plusieurs boutons pour sélectionner les caractéristiques de la boisson désirée. Le microcontrôleur 12 peut exécuter des instructions de programmes stockés dans une mémoire intégrée au microcontrôleur 12 ou stockés dans la mémoire 18 pour réaliser différentes fonctions. Un utilisateur peut commander le microcontrôleur 12 au moyen du dispositif d'interface utilisateur 20 pour réaliser ces fonctions. A titre d'exemple, l'exécution d'un programme par le microcontrôleur 12 peut entraîner la commande de l'actionneur 16 en fonction des données fournies par le capteur 14. La figure 2 représente, de façon très schématique, un exemple de microcontrôleur 12 ayant une architecture du type Cortex-M telle que spécifiée par la société ARM. Le microcontrôleur 12 comprend un processeur 22 (Core) de microcontrôleur adapté à lire des données ou écrire des données dans au moins une mémoire 24 (MEM) par l'intermédiaire d'un bus d'échange de données 26 (Bus). Le microcontrôleur 12 peut comprendre un module de commande d'entrée/sortie 28 (I/O Unit) relié au bus 26 et à des ports d'accès 30 (I/O Ports). Par port d'accès, on entend ici un ensemble de bornes d'entrée et/ou sortie adapté à recevoir des signaux de l'extérieur vers l'intérieur du microcontrôleur 12 et/ou de l'intérieur vers l'extérieur du microcontrôleur 12. Les ports d'accès 30 sont connectés aux différents composants du système 10 nécessaires au fonctionnement du système 10, notamment le capteur 14, l'actionneur 16, la mémoire 18 et le dispositif d'interface utilisateur 20. Le B13307 - Keolink 8 microcontrôleur 12 peut, en outre, comprendre des périphériques supplémentaires 32 (Peripheral Unit) reliés au bus 26 et à des ports d'accès 34 (Ports). Le microcontrôleur 12 comprend, en outre, un module de débogage 36 (Debug Unit) adapté à échanger des données avec le processeur 22 et la mémoire 24 par l'intermédiaire du bus d'échange de données 26. Le microcontrôleur 12 comprend, en outre, un port de débogage 38 (Debug Port) relié au module de débogage 36. Lors d'une opération de maintenance, un système de débogage, externe au microcontrôleur 12, peut être relié au port de débogage 38 pour réaliser une opération de test ou de débogage. A titre d'exemple, une opération de test ou de débogage peut comprendre la transmission de requêtes au module de débogage 36 pour lire ou écrire des données stockées dans la mémoire 24. Le module de débogage 36 et le port de débogage 38 peuvent être adaptés pour la mise en oeuvre d'un protocole de test ou de débogage du type SWD (sigle anglais pour Serial Wire Debug) ou JTAG (sigle anglais pour Join Test Action Group). Le dispositif d'interface utilisateur 20 peut s'avérer ne pas être adapté pour commander le microcontrôleur 12 pour la réalisation de certaines fonctions ou pour visualiser certaines données. Ceci peut se produire lorsque, pour des raisons de coût ou des raisons d'encombrement, le dispositif d'interface utilisateur 20 utilisé a une structure simple. A titre d'exemple, le dispositif d'interface utilisateur 20 peut comprendre seulement quelques boutons qui ne permettent de sélectionner qu'un nombre réduit de commandes. De plus, le dispositif d'interface utilisateur 20 peut ne comprendre que des diodes électroluminescentes qui ne permettent de visualiser que peu d'infor- mation ou de manière peu claire. Ceci peut, en outre, se produire lorsqu'il est souhaitable de pouvoir commander le microcontrôleur 12 pour réaliser de nouvelles fonctions. Le dispositif d'interface utilisateur 20 peut alors ne pas permettre de commander la réalisation de ces nouvelles fonctions alors qu'elles pourraient B13307 - Keolink 9 être réalisées par le microcontrôleur 12 par un simple changement des programmes exécutés par le microcontrôleur 12. Une possibilité serait de remplacer le dispositif d'interface utilisateur 20 par un autre dispositif d'interface 5 utilisateur adapté pour la mise en oeuvre des fonctions souhaitées, comprenant par exemple un écran tactile. Toutefois, ceci nécessite de modifier la structure du système électromécanique 10 pour recevoir ce nouveau dispositif d'interface utilisateur. En outre, ceci nécessite d'adapter les 10 programmes exécutés par le processeur 22 pour tenir compte des échanges de données avec le nouveau dispositif d'interface utilisateur. De ce fait, un tel dispositif d'interface utilisateur, qui doit être installé sur chaque système électromécanique 10, présente un coût élevé. 15 Pour ne pas modifier le dispositif d'interface utilisateur 20, une possibilité serait de relier un nouveau dispositif d'interface utilisateur au microcontrôleur 12 par une liaison sans fil, par exemple une liaison de communication en champ proche ou liaison NFC (sigle anglais pour Near Field 20 Communication) ou une liaison radio courte distance, par exemple selon la spécification Bluetooth. La figure 3 représente, de façon partielle et schématique, un exemple de microcontrôleur 40 adapté pour être relié à un dispositif d'interface utilisateur par une liaison sans 25 fil. Le microcontrôleur 40 comprend tous les éléments du microcontrôleur 12 représenté en figure 2 et comprend, en outre, un module de communication sans fil 42 (Radio Unit) relié, par un port d'antenne 43 (Antenna Port), à une antenne 44 (Antenna) d'émission et de réception de signaux. Un dispositif d'interface 30 utilisateur, non représenté, peut échanger des données avec le microcontrôleur 40 par un procédé de communication sans fil. Un inconvénient de la structure représentée en figure 3 est qu'elle requiert à la fois de modifier la structure du microcontrôleur 12 représenté en figure 2 et de modifier les programmes exécutés par 35 le processeur 22. Selon une variante, le module de communication B13307 - Keolink 10 sans fil 42 (Radio Unit) peut ne pas être intégré au microcontrôleur 40 mais être connecté aux ports d'accès 30. Toutefois, même si cela n'entraîne alors pas de modifications de la structure du microcontrôleur 12, il est nécessaire d'adapter les programmes exécutés par le processeur 22 pour tenir compte des messages supplémentaires qui sont échangés avec le module de commande sans fil par les ports d'accès 30. Il serait souhaitable de pouvoir relier un dispositif d'interface utilisateur au microcontrôleur 12 par une liaison sans 10 fil sans modifier ni la structure du microcontrôleur 12 ni les programmes exécutés par le processeur 22 du microcontrôleur 12. La figure 4 représente un mode de réalisation d'un système électronique ou électromécanique 50 adapté à être commandé par au moins un dispositif d'interface utilisateur 55 par une 15 liaison sans fil 56. Le système 50 comprend le microcontrôleur 12 de la figure 2 et peut, en outre, comprendre les autres éléments, non représentés, du système électromécanique 10 de la figure 1. Le système 50 comprend, en outre, un dispositif de communication sécurisée sans fil 60, connecté au port de débogage 38 du 20 microcontrôleur 12. Selon un mode de réalisation, le dispositif de communication 60 peut être soudé sur la carte à laquelle est fixé le microcontrôleur 12. A titre de variante, le dispositif 60 peut être relié aux ports de débogage 38 par une liaison filaire. Ceci permet de placer le dispositif de communication 60 à un 25 emplacement différent du microcontrôleur 12, ce qui peut être avantageux dans le cas où le microcontrôleur 12 est situé dans une zone où la mise en oeuvre d'un procédé de communication sans fil n'est pas possible. Le dispositif de communication 60 comprend un 30 microcontrôleur 62 (pC) relié à un module de communication sans fil à courte distance 64 (NFC Unit) qui est lui-même relié à une antenne 66 (NFC Antenna) d'émission et de réception de signaux. A titre de variante, le module 64 peut être intégré au microcontrôleur 62. Selon un mode de réalisation, le module de 35 communication 64 est adapté à transmettre ou recevoir des signaux B13307 - Keolink 11 par l'antenne 66 selon un protocole de communication sans fil, par exemple du type NFC. Le microcontrôleur 62 est relié au port de débogage 38. Le microcontrôleur 62 est adapté à commander le module de débogage 36 pour réaliser des opérations de lecture et/ou d'écriture de données dans la mémoire 24 alors que le microcontrôleur 12 est en fonctionnement. Ces accès non intrusifs sont possibles pour certaines architectures de microcontrôleurs 12, notamment les microcontrôleurs ayant une architecture du type Cortex-M telle que spécifiée par la société ARM. Le microcontrôleur 62 peut être adapté pour la mise en oeuvre d'un protocole de test ou de débogage du type SWD ou JTAG. Ceci peut être obtenu par l'exécution par le microcontrôleur 62 de programmes adaptés stockés dans une mémoire interne du microcontrôleur 62. A titre de variante, un module d'interface de débogage peut être prévu entre le microcontrôleur 62 et le port de débogage 38. Ce module d'interface de débogage est alors adapté, à partir de signaux transmis par le microcontrôleur 62, à fournir des signaux adaptés au module de débogage 36 et, à partir de signaux transmis par le module de débogage 36, à fournir des signaux adaptés au microcontrôleur 62. Le dispositif d'interface utilisateur 55 comprend un microprocesseur 70 (pP) relié à un module de communication sans fil à courte distance 72 (NFC Unit) qui est lui-même relié à une antenne 74 (NFC Antenna) d'émission et de réception de signaux. Le microprocesseur 70 rassemble dans un même boîtier les éléments essentiels d'un ordinateur : un processeur, des mémoires, des unités périphériques et des interfaces d'entrées-sorties. Selon un mode de réalisation, le module de communication 72 est adapté à transmettre ou recevoir des signaux à distance par l'antenne 74 selon un protocole de communication sans fil, par exemple du type NFC. Le microprocesseur 70 est, en outre, relié à un module d'interface utilisateur 76 (User Interface Unit) qui, de préférence, comprend des moyens de saisie de données et des moyens d'affichage de données. Le module d'interface 76 comprend, par exemple, un écran tactile. Le dispositif d'interface utilisateur B13307 - Keolink 12 55 peut comprendre une mémoire externe 78 (MEM) reliée au microprocesseur 70. Des programmes d'ordinateur adaptés à être exécutés par le microprocesseur 70 peuvent être stockés dans la mémoire 78 ou dans une mémoire intégrée au microprocesseur 70. 5 L'un de ces programmes est un programme d'interface graphique. Lorsque ce programme est exécuté par le microprocesseur 70, il entraîne l'affichage sur l'écran du dispositif 55 d'une interface graphique de commande du système 50. A titre d'exemple, l'interface graphique peut comprendre des images de boutons ou de 10 potentiomètres, un menu déroulant de sélection de requêtes, une zone d'affichage de données, etc. De préférence, le dispositif 55 est un dispositif portable. Selon un mode de réalisation, le dispositif d'interface utilisateur 55 est un terminal de poche, une tablette tactile ou 15 un ordinateur portable. Ceci permet avantageusement d'utiliser des dispositifs déjà existants pour réaliser le dispositif d'interface utilisateur 55. Le dispositif d'interface utilisateur 55 est adapté à échanger des données à distance avec le microcontrôleur 12 par 20 l'intermédiaire du dispositif de communication 60. Le dispositif de communication 60 est adapté à déterminer si le dispositif d'interface utilisateur 55 qui souhaite échanger des données avec le microcontrôleur 12 est autorisé à le faire. Selon un mode de réalisation, plusieurs utilisateurs munis chacun d'un dispositif 25 d'interface utilisateur 55 peuvent être amenés à commander le système 10. Une liste d'identifiants de dispositifs d'interface utilisateur 55 autorisés est stockée dans la mémoire du microcontrôleur 62, chaque identifiant étant associé à un dispositif d'interface utilisateur 55 particulier. 30 A chaque identifiant peut correspondre un profil qui définit les droits attachés à l'identifiant. A titre d'exemple, un droit correspond à l'autorisation pour le dispositif d'interface utilisateur 55 de transmettre une requête particulière. Un exemple de requête correspond à une demande 35 d'opération d'écriture d'une donnée dans la mémoire 24 du B13307 - Keolink 13 microcontrôleur 12 qui, lorsque le processeur 22 exécute un programme faisant appel à cette donnée, entraîne la réalisation d'une fonction donnée. Un autre exemple de requête correspond à une demande d'opération de lecture d'une donnée dans la mémoire 24 du microcontrôleur 12. Selon un mode de réalisation, le profil de chaque identifiant peut correspondre à une suite de segments d'adresses de la mémoire 24, chaque segment étant associé à un droit d'écriture et/ou de lecture. Les droits peuvent être différents d'un identifiant à l'autre. En particulier, pour au moins un identifiant particulier, le profil associé à cet identifiant peut lui autoriser de modifier le profil d'un autre identifiant pour modifier les droits attachés à cet identifiant. Selon un mode de réalisation, le profil de chaque identifiant est stocké dans la mémoire du microcontrôleur 62. Dans la suite de la description, on utilise le terme requête pour désigner le contenu d'un message qui peut se présenter sous des formes différentes selon que le message est échangé entre le dispositif d'interface utilisateur 55 et le dispositif de communication 60, entre le module de communication 64 et le microcontrôleur 62 ou entre le microcontrôleur 62 et le module de débogage 36. La figure 5 représente, sous la forme d'un schéma-bloc, un mode de réalisation d'un procédé de commande du microcontrôleur 12 par le dispositif d'interface utilisateur 55. A l'étape 80, un utilisateur lance le programme d'interface graphique sur le dispositif d'interface utilisateur 55 et sélectionne une requête sur l'interface graphique. Une requête correspond à la réalisation d'une fonction par le microcontrôleur 12. Des requêtes personnalisées peuvent avoir été préparées par l'utilisateur. Le procédé se poursuit à l'étape 82. A l'étape 82, l'utilisateur approche le dispositif d'interface utilisateur 55 du dispositif de communication 60 pour initier un échange de données. Le microprocesseur 70 établit une communication sans fil avec le microcontrôleur 62. Le protocole d'échange de données entre le dispositif d'interface utilisateur 55 et le dispositif de communication 60 est, de préférence, B13307 - Keolink 14 sécurisé. Une opération d'authentification du dispositif d'interface utilisateur 55 par le microcontrôleur 62 est mise en oeuvre. A titre d'exemple, un mot de passe est associé à chaque 5 identifiant et est stocké dans la mémoire du microcontrôleur 62. Lorsque le dispositif d'interface utilisateur 55 souhaite échanger des données avec le dispositif de communication 60, il fournit son identifiant et le mot de passe associé au microcontrôleur 62. Le microcontrôleur 62 vérifie si le mot de passe reçu correspond 10 au mot de passe stocké associé à l'identifiant. Selon une variante, le lancement sur le dispositif d'interface utilisateur 55 du programme d'interface graphique peut être réalisé automatiquement lorsque l'utilisateur approche le dispositif d'interface utilisateur 55 du dispositif de 15 communication 60. En effet, le dispositif d'interface utilisateur 55 peut transmettre son identifiant au dispositif de communication 60 dès qu'il est suffisamment proche de celui-ci. Si le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 est autorisé à lui transmettre des requêtes, le 20 microprocesseur 70 peut lancer automatiquement le programme d'interface graphique. Les étapes 80 et 82 sont alors confondues. A l'étape 84, le dispositif d'interface utilisateur 55 transmet une requête au dispositif de communication 60. La requête correspond, par exemple, à une requête d'écriture d'une donnée 25 dans la mémoire 24 ou une requête de lecture d'une donnée stockée dans la mémoire 24 à un emplacement indiqué dans la requête. Le microcontrôleur 62 peut déterminer si le dispositif d'interface utilisateur 55 est autorisé à lui transmettre la requête à partir du profil associé à l'identifiant du dispositif d'interface 30 utilisateur 55. Si le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 n'est pas autorisé à lui transmettre la requête, l'échange de données est interrompu. Si le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 est autorisé à lui transmettre la requête, la 35 requête est transmise par le microcontrôleur 62 au module de B13307 - Keolink 15 débogage 36. Le procédé se poursuit à l'étape 86. Selon un mode de réalisation, chaque requête peut comprendre une adresse de l'espace adressable par le bus 26. Le microcontrôleur 62 peut chercher s'il existe un segment du profil associé à l'identifiant. Si ce segment n'est pas présent dans le profil, le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 n'est pas autorisé à lui transmettre la requête. Si ce segment est présent dans le profil, le microcontrôleur 62 détermine si le droit d'écriture et/ou de lecture associé à ce segment est compatible avec la requête transmise par le dispositif d'interface utilisateur 55. Si le droit d'écriture et/ou de lecture n'est pas compatible avec la requête transmise par le dispositif d'interface utilisateur 55, le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 n'est pas autorisé à lui transmettre la requête. Si le droit d'écriture et/ou de lecture est compatible avec la requête transmise par le dispositif d'interface utilisateur 55, le microcontrôleur 62 détermine que le dispositif d'interface utilisateur 55 est autorisé à lui transmettre la requête. A l'étape 86, le module de débogage 36 écrit ou lit des données dans la mémoire 24 selon la requête reçue. En particulier, l'écriture de données dans la mémoire 24 peut entraîner l'exécution par le processeur 22 de la fonction souhaitée. Dans le cas de la lecture d'une donnée dans la mémoire 24 par le module de débogage 36, le module de débogage 36 peut fournir la donnée lue au microcontrôleur 62. La donnée est alors transmise par le microcontrôleur 62 au module de communication sans fil 64, puis est transmise par la liaison sans fil 56 au dispositif d'interface utilisateur 55. Cette donnée peut alors être affichée sur l'écran d'affichage 76 par le programme d'interface graphique. L'étape d'authentification du dispositif d'interface utilisateur 55 peut n'être réalisée qu'une seule fois à l'étape 82 lors de l'établissement de la communication entre le module de communication 60 et le dispositif d'interface utilisateur 55. A titre de variante, l'étape d'authentification peut être réalisée B13307 - Keolink 16 chaque fois que le dispositif d'interface utilisateur 55 transmet une nouvelle requête au module de communication 60. Un avantage du mode de réalisation du procédé de commande décrit précédemment est que le module de communication 60 est connecté au port de débogage 38 du microcontrôleur 12, qui est un port standard présent sur la plupart des microcontrôleurs, De ce fait, la structure du microcontrôleur 12 n'est avantageusement pas modifiée. En outre, les différentes fonctions réalisées par le dispositif d'interface utilisateur 55 sont obtenues par un échange de données entre le module de communication 60 et le microcontrôleur 12 par l'intermédiaire du port de test 38. Le module de test 36 du microcontrôleur 12 fonctionne donc de la même façon que lors d'opérations de test ou de débogage même si les données échangées sont notamment utilisées à d'autres fins que des opérations de test ou de débogage. De ce fait, les programmes exécutés par le microcontrôleur 12 ne sont avantageusement pas modifiés. Le dispositif d'interface utilisateur 55 peut donc être utilisé sans aucune modification du microcontrôleur 12. Selon un mode de réalisation, les modules de communication 64, 72 et les antennes 66, 76 sont adaptés à la mise en oeuvre d'un procédé de communication sans fil du type NFC. Selon un mode de réalisation, comme cela est représenté en figure 4, le dispositif de communication sécurisée sans fil 60 peut comprendre, en outre, un module de communication sans fil 90 (BT Unit) relié au microcontrôleur 62 et à une antenne 92 (BT Antenna) et adapté à la mise en oeuvre d'un procédé de communication sans fil sur une distance plus importante que ne le permet un procédé NFC, par exemple un procédé de type Bluetooth. A titre de variante, le module 90 peut être intégré au microcontrôleur 62. Le dispositif d'interface utilisateur 55 comprend, en outre, un module de communication sans fil 94 (BT Unit) relié au microprocesseur 70 et à une antenne 96 (BT Antenna) et adapté à la mise en oeuvre du procédé de communication sans fil avec le B13307 - Keolink 17 module de communication sans fil 90 du dispositif de communication 60, ce qui est illustré en figure 4 par la liaison sans fil 98. Selon un mode de réalisation, à l'étape 82 décrite précédemment en relation avec la figure 5, l'établissement d'une 5 communication entre le dispositif d'interface utilisateur 55 et le dispositif de communication 60, et notamment la vérification des droits du dispositif d'interface utilisateur 55, est réalisé en utilisant le procédé de communication NFC. L'échange de données entre le dispositif d'interface utilisateur 55 et le dispositif 10 de communication 60 aux étapes ultérieures peut alors être réalisé par un procédé de communication sans fil de type Bluetooth. Selon un mode de réalisation, comme cela est représenté en figure 4, le dispositif d'interface utilisateur 55 comprend, en outre, un module de communication à longue distance 100 (GSM 15 Unit) relié au microprocesseur 70 et à une antenne 102 (GSM Antenna) et adapté à la mise en oeuvre d'un procédé de communication sans fil à longue distance utilisé en téléphonie mobile, par exemple le procédé de communication GSM (sigle anglais pour Global System for Mobile Communications). Le dispositif 20 d'interface utilisateur 55 peut alors notamment échanger des données à distance avec un ordinateur du réseau Internet 104 par une liaison sans fil 106. A l'étape 82 décrite précédemment, l'authentification du dispositif d'interface utilisateur 55 peut, en outre, mettre 25 en oeuvre un échange de données par la liaison sans fil 106 entre le dispositif d'interface utilisateur 55 et un organisme tiers de confiance. En outre, selon un mode de réalisation, les identifiants, les mots de passe et les profils des utilisateurs, ou seulement certains d'entre eux, peuvent être stockés sur un 30 ordinateur distant. La liste des identifiants et des mots de passe et le profil de l'identifiant du dispositif d'interface utilisateur 55 peuvent alors être transmis au microcontrôleur 62 par l'intermédiaire du dispositif d'interface utilisateur 55 en mettant en oeuvre un échange de données par la liaison sans fil 35 106 entre le dispositif d'interface utilisateur 55 et cet B13307 - Keolink 18 ordinateur lorsque le microcontrôleur 62 authentifie le dispositif d'interface utilisateur ou détermine si une requête fournie par le dispositif d'interface utilisateur 55 doit être autorisée. Les données échangées entre un ordinateur distant et le micro- contrôleur 62 peuvent être cryptées, le microcontrôleur 62 étant adapté à crypter les données fournies à l'ordinateur distant et à décrypter les données transmises par l'ordinateur distant. La figure 6 représente, sous la forme d'un schéma-bloc, un mode de réalisation d'un procédé d'installation du programme 10 d'interface graphique sur le dispositif d'interface utilisateur 55. A l'étape 110, un utilisateur qui souhaite installer un programme d'interface graphique sur son dispositif d'interface utilisateur 55 accède à un site Internet sur lequel est mis à 15 disposition un programme de conception d'une interface graphique adaptée au système électromécanique 50. L'utilisateur définit alors une interface graphique au moyen du programme de conception d'interface graphique. L'étape 110 conduit à la génération d'un programme d'interface graphique personnalisé. 20 A l'étape 112, le programme d'interface graphique personnalisé est téléchargé sur le dispositif d'interface utilisateur 55 depuis le réseau Internet 104. Le programme d'interface graphique personnalisé est stocké dans la mémoire 78 du dispositif d'interface utilisateur 55 ou dans une mémoire 25 intégrée au microprocesseur 70. La figure 7 représente, sous la forme d'un schéma-bloc, un autre mode de réalisation d'un procédé d'installation du programme d'interface graphique sur le dispositif d'interface utilisateur 55. 30 A l'étape 120, comme à l'étape 110 décrite précédemment, un utilisateur qui souhaite installer un programme d'interface graphique sur le dispositif d'interface utilisateur 55 accède à un site Internet sur lequel est mis à disposition un programme de conception d'une interface graphique adaptée au système 35 électromécanique 50. L'utilisateur définit alors une interface B13307 - Keolink 19 graphique personnalisée au moyen du programme de conception d'interface graphique. L'étape 120 conduit à la génération d'un fichier de paramétrage d'un programme d'interface graphique modèle, par exemple un fichier au format xml (sigle anglais pour extensible mark-up language). A l'étape 122, le programme d'interface graphique modèle est téléchargé sur le dispositif d'interface utilisateur 55 depuis le réseau Internet 104 par le module de communication longue distance 106. Le programme d'interface graphique modèle est stocké dans la mémoire 78 du dispositif d'interface utilisateur 55 ou dans une mémoire intégrée au microprocesseur 70. A l'étape 124, le fichier de paramétrage est téléchargé sur le dispositif d'interface utilisateur 55 depuis le réseau Internet 104. Le fichier de paramétrage est stocké dans la mémoire 78 du dispositif d'interface utilisateur 55 ou dans une mémoire intégrée au microprocesseur 70. Lorsque l'utilisateur lance le programme d'interface graphique sur son dispositif d'interface utilisateur 55, le programme d'interface graphique fait appel au fichier de paramétrage de façon que l'interface graphique vue par l'utilisateur corresponde à l'interface graphique personnalisée. Selon un mode de réalisation, comme cela est représenté en figure 4, le dispositif de communication 60 comprend, en outre, un module de communication à longue distance 130 (GSM Unit) relié au microcontrôleur 62 et à une antenne 132 (GSM: Antenna) et adapté à la mise en oeuvre d'un procédé de communication sans fil à longue distance utilisé en téléphonie mobile, par exemple un procédé de communication GSM (sigle anglais pour Global System for Mobile Communications). A titre de variante, le module 130 peut être intégré au microcontrôleur 62. Le dispositif de communication 60 peut alors échanger des données à distance avec un ordinateur du réseau Internet 104. Cette communication à distance peut être utilisée, par exemple, pour fournir au dispositif de communication 60 la liste des identifiants, et les droits attachés à chaque identifiant et éventuellement les mots de passe associés aux identifiants. En outre, selon un mode de B13307 - Keolink 20 réalisation, les identifiants, les mots de passe et les profils des utilisateurs, ou seulement certains d'entre eux, peuvent être stockés sur un ordinateur distant. La liste des identifiants et des mots de passe et le profil de l'identifiant du dispositif 5 d'interface utilisateur 55 peuvent alors être transmis au microcontrôleur 62, par un échange de données sans fil entre le dispositif de communication 60 et cet ordinateur, lorsque le microcontrôleur 62 authentifie le dispositif d'interface utilisateur ou détermine si une requête fournie par le dispositif 10 d'interface utilisateur 55 est autorisée. De façon avantageuse, le dispositif de communication 60 permet d'ajouter une liaison de communication GSM au système électromécanique 50 sans devoir modifier le microcontrôleur 12 puisque les données échangées par la communication GSM sont 15 commandées par le microcontrôleur 62. La liaison de communication GSM peut être utilisée par le dispositif de communication 60 pour transmettre des messages d'alerte à un destinataire sur le réseau Internet 104. En outre, une opération de maintenance ou de débogage du microcontrôleur 12 peut être réalisée à distance par 20 un ordinateur échangeant des données avec le dispositif de communication 60 par la liaison de communication GSM. Selon un mode de réalisation, comme cela est représenté en figure 4, le dispositif de communication 60 comprend, en outre, un port d'accès, par exemple un port série 140 (USB Port), et un 25 module de commande du port d'accès 142 (USB Unit) reliant le port d'accès 140 au microcontrôleur 62. Le port d'accès 140 peut correspondre à un port USB (sigle anglais pour Universal Serial Bus). A titre de variante, le module 142 peut être intégré au microcontrôleur 62. Un ordinateur, non représenté, peut être 30 connecté au port d'accès 140 pour l'échange de données avec le microcontrôleur 62. A titre d'exemple, la liste des identifiants, et des droits attachés à chaque identifiant et éventuellement les mots de passe associés aux identifiants peuvent être transmis au microcontrôleur 62 depuis un ordinateur connecté au port d'accès B13307 - Keolink 21 140. Une opération de maintenance ou de débogage du micro-contrôleur 12 peut être réalisée par un ordinateur connecté au port d'accès 140. Selon un mode de réalisation, comme cela est représenté en figure 4, le dispositif de communication 60 comprend, en outre, une mémoire 144 reliée au microcontrôleur 62. Des données peuvent être stockées dans la mémoire 144 par le microcontrôleur 62. Les données stockées dans la mémoire 144 peuvent être transmises par le microcontrôleur 62 au dispositif d'interface utilisateur 55 sur requête. Les données stockées dans la mémoire 144 peuvent, en outre, être transmises par le microcontrôleur 62 à un ordinateur connecté au port d'accès 140 ou être transmises sur le réseau Internet 104 par le module de communication GSM 130. La mémoire 144 peut être utilisée lorsque l'espace mémoire disponible dans le microcontrôleur 62 n'est pas suffisant. A titre d'exemple, le microcontrôleur 62 peut commander le module de débogage 36 pour qu'il lui transmette à plusieurs reprises une donnée stockée dans la mémoire 24, de façon à suivre l'évolution dans le temps de cette donnée. Les différentes valeurs de cette donnée peuvent être stockées dans la mémoire 144. Le dispositif d'interface utilisateur 55 peut commander le microcontrôleur 62 pour récupérer l'ensemble des valeurs stockées qui peuvent être restituées à l'utilisateur par le programme d'interface graphique. A titre d'exemple, lorsque le système électromécanique 50 est une machine à café, la donnée collectée peut correspondre au nombre de cafés pris quotidiennement ou à la durée d'activation du système 10. L'utilisateur peut alors suivre l'évolution de la donnée collectée dans le temps. Selon un mode de réalisation, les profils des identifiants peuvent être stockés dans la mémoire 144. Le profil d'un identifiant peut, en outre, comprendre des segments d'adresse de la mémoire 144, à chacun de ces segments étant associé un droit d'écriture et/ou de lecture. Ceci permet d'autoriser à un dispositif d'interface utilisateur avec un identifiant particulier de réaliser des opérations d'écriture et/ou de lecture dans la mémoire 144. B13307 - Keolink 22 Divers modes de réalisation avec diverses variantes ont été décrits ci-dessus. On notera que l'homme de l'art peut combiner divers éléments de ces divers modes de réalisation et variantes sans faire preuve d'activité inventive. REVENDICATIONS1. Dispositif de communication (60) destiné à être relié à un port de débogage (38) d'un premier microcontrôleur (12), le dispositif de communication comprenant un deuxième microcontrôleur (62) relié à un premier module de communication 5 sans fil (64) et destiné à être relié audit port de débogage, le premier module de communication sans fil étant adapté à recevoir une requête par une liaison de communication sans fil émise par un dispositif d'interface utilisateur (55), le deuxième microcontrôleur étant adapté à authentifier le dispositif 10 d'interface utilisateur, à déterminer, dans le cas où le dispositif d'interface utilisateur est authentifié, si la requête est autorisée pour ledit dispositif d'interface utilisateur authentifié et à transmettre la requête au port de débogage seulement si la requête est autorisée. 15 2. Dispositif de communication selon la revendication 1, dans lequel le deuxième microcontrôleur (62) comprend une première mémoire dans laquelle est stockée une liste d'identifiants et dans lequel le deuxième microcontrôleur est adapté à authentifier le dispositif d'interface utilisateur (55) 20 à partir de la comparaison d'un identifiant reçu par le module de communication sans fil (64) à la liste d'identifiants. 3. Dispositif de communication selon la revendication 1 ou 2, dans lequel la requête comprend une opération de lecture ou d'écriture dans un emplacement d'une deuxième mémoire (24) du 25 premier microcontrôleur (12), le deuxième microcontrôleur (62) étant adapté à déterminer si la requête est autorisée en déterminant si l'emplacement appartient à une liste d'emplacements autorisés pour le dispositif d'interface utilisateur authentifié et si l'opération de lecture ou d'écriture de la requête est 30 autorisée pour ledit emplacement. 4. Dispositif de communication selon l'une quelconque des revendications 1 à 3, dans lequel le premier module de communication sans fil (64) est relié à une première antenne (66), le dispositif de communication (60) comprenant un deuxième moduleB13307 - Keolink 24 de communication sans fil (90) relié à une deuxième antenne (92) différente de la première antenne. 5. Dispositif de communication selon la revendication 4, dans lequel le premier module de communication sans fil (64) est adapté à mettre en oeuvre un procédé de communication NFC et dans lequel le deuxième module de communication sans fil (90) est adapté à mettre en oeuvre un procédé de communication Bluetooth. 6. Dispositif de communication selon l'une quelconque des revendications 1 à 5, comprenant un troisième module de 10 communication sans fil (130) relié à une troisième antenne (132) différente des première et deuxième antennes (66, 92). 7. Dispositif de communication selon la revendication 6, dans lequel le troisième module de communication sans fil (130) est adapté à mettre en oeuvre un procédé de communication GSM. 15 8. Dispositif de communication selon l'une quelconque des revendications 1 à 7, dans lequel le deuxième microcontrôleur (62) est adapté à authentifier le dispositif d'interface utilisateur (55) à partir de la comparaison d'un mot de passe reçu par le premier module de communication sans fil (64) à une liste 20 de mots de passe. 9. Système électronique ou électromécanique (50) comprenant : un premier microcontrôleur (12) comprenant un processeur (22), une deuxième mémoire (24), un module de débogage (36) et un 25 port de débogage (38), le module de débogage et le processeur étant adaptés à lire et à écrire des données dans la deuxième mémoire, le module de débogage étant relié au port de débogage ; un dispositif de communication (60) selon l'une quelconque des revendications 1 à 8, relié au port de débogage ; 30 et un dispositif d'interface utilisateur (55) adapté à transmettre une requête au dispositif de communication par une communication sans fil. 10. Système électromécanique selon la revendication 9, 35 dans lequel le dispositif d'interface utilisateur (55) est choisiB13307 - Keolink 25 parmi le groupe comprenant un terminal de poche, une tablette tactile ou un ordinateur portable. 11. Système électromécanique selon la revendication 9 ou 10, dans lequel le port de débogage est un port SWD ou JMAG. 12. Procédé de commande d'un système électronique ou électromécanique (50) selon l'une quelconque des revendications 9 à 11, comprenant les étapes suivantes : authentification du dispositif d'interface utilisateur (55) par le deuxième microcontrôleur (62) ; transmission par le dispositif d'interface utilisateur (55) d'une requête au dispositif de communication (60) par une liaison sans fil ; analyse de la requête par le deuxième microcontrôleur (62) dans le cas où le dispositif d'interface utilisateur est 15 authentifié, pour déterminer si la requête est autorisée pour ledit dispositif d'interface utilisateur authentifié ; et transmission par le deuxième microcontrôleur (62) de la requête au module de débogage (36) via le port de débogage (38) seulement si la requête est autorisée. 20 13. Procédé de commande selon la revendication 12, dans lequel le deuxième microcontrôleur (62) comprend une première mémoire dans laquelle est stockée une liste d'identifiants et dans lequel le deuxième microcontrôleur authentifie le dispositif d'interface utilisateur (55) à partir de la comparaison d'un 25 identifiant reçu par le module de communication sans fil (64) à la liste d'identifiants. 14. Procédé de commande selon la revendication 12 ou 13, comprenant, en outre, les étapes suivantes : lecture ou écriture d'une donnée dans la deuxième 30 mémoire (24) par le module de débogage (36) à partir de la requête ; fourniture de la donnée au dispositif de communication (60) par le module de débogage via le port de débogage (38) ; etB13307 - Keolink 26 fourniture de la donnée par le dispositif de communication (60) au dispositif d'interface utilisateur (55) par une liaison sans fil.