DISPOSITIF DE COMMANDE A DISTANCE D'UN ACTIONNEUR
L'invention concerne un dispositif défini par le préambule de la revendication 1 et un procédé défini par le préambule de la revendication 8. L'invention se rapporte au domaine de la commande à distance sans fil d'actionneurs destinés à la protection ou au confort de l'habitat, et particulièrement lorsque le module récepteur d'ordres destiné à piloter lesdits actionneurs n'est pas d'un accès facile. De tels actionneurs sont par exemple des moteurs destinés à la manœuvre de protections solaires, de fermetures du bâtiment. Les modules récepteurs d'ordres sont, selon les cas, directement intégrés aux moteurs ou logés dans des caissons au-dessus des baies vitrées, ou encore sont logés dans des faux plafonds au voisinage des actionneurs.
Ces modules récepteurs d'ordres sont communément de type radiofréquence, et présentent en fait un caractère bidirectionnel (Emetteur - récepteur radio) ce qui permet par exemple d'accuser réception des ordres reçus et de leur bonne exécution.
L'invention se rapporte également aux capteurs associés au système de pilotage des actionneurs cités. Ces capteurs sont de type détecteur d'intrusion, ou de mouvement, de fumée, de température, ou encore de type météorologique (vent, soleil etc .), voire de contrôle. Ils ont en commun le fait d'être en général peu accessibles, et de transmettre leurs informations également par des moyens de communication non filaires.
Aussi bien les capteurs que les actionneurs sont susceptibles de communiquer entre eux et avec des transmetteurs d'ordres à distance de type
nomade ou fixe. Cette communication se fait donc sans fil, notamment par lien radio fréquences, et en respectant un protocole commun.
Le problème rencontré avec ces dispositifs concerne la pluralité d'usages qui peut en être faite à un stade donné de l'état de la technique, d'une part, et d'autre part, l'évolution de ces usages avec l'évolution des technologies.
Cette pluralité rend nécessaire, pour le fabricant, la création de nombreuses références d' actionneurs et de capteurs et transforme donc en pluralité de produits ce qui devrait être simplement une pluralité de fonctions. Il en résulte un coût important, sans contrepartie pour l'utilisateur. Ainsi par exemple, un moteur à électronique embarquée présente des caractéristiques fonctionnelles différentes selon qu'il entraîne un store ou un volet roulant. Il s'agit communément de deux produits différents, alors que rien ne les distingue fondamentalement.
L'évolution des technologies, et notamment en matière de protocole de transmission et de sécurisation de l'information a de plus tendance à rendre incompatibles les différentes générations de produits, sauf également à augmenter leur coût. La difficulté d'accès desdits produits rend également problématique toute intervention d'amélioration ou de mise à jour, courante dans d'autres domaines (« upgrade »).
On connaît en effet dans des domaines autres que celui de la commande d'appareils électriques du bâtiment des procédés permettant le transfert de programmes exécutables entre différents dispositifs.
C'est pratique courante en micro-informatique, domaine dans lequel on a cherché à intégrer dans le BIOS le strict minimum nécessaire à la mise en œuvre de moyens de communication et d'enregistrement dans une machine informatique de type appelé communément "PC", le système d'exploitation lui-même étant chargé ou téléchargé. Le domaine de la communication par internet a démultiplié ce genre d'applications.
Le brevet américain US 5,321,840 donne un exemple où même le réseau logique programmable (PLA) d'un PC peut être reconfiguré à distance. Une mémoire EPROM de type FLASH est utilisée pour stocker le code de reconfiguration. Un traitement anti-virus et/ ou de nouvelles fonctions peuvent ainsi être implantées à distance.
Le brevet américain US 5,210,854 décrit un mode de stockage de mises à jour de versions logicielles dans une mémoire électronique reprogrammable EEPROM, dans un système informatique. Dans ce brevet, une seule mémoire électronique reprogrammable est utilisée en remplacement d'une association ROM, EEPROM, mais une unité logique de contrôle permet de réaliser une partition de cette EEPROM entre zones protégées, contenant les parties inaltérables de logiciel, et zones non protégées. Cette partition est elle-même fixe, ou dynamiquement reconfigurable.
En restant dans le domaine de modification à distance de logiciels exécutables, le brevet américain US 6,141,795 propose une technique minimisant la mémoire de transfert nécessaire et donnant une robustesse en cas de rupture dans le transfert de programme. Ce brevet est notamment déposé dans le domaine des systèmes de télémaintenance.
De la même façon, le brevet américain US 5,787,288 décrit une méthode de remplacement d'un ancien programme par un nouveau, en prenant au préalable les précautions de vérification nécessaires. Il s'agit d'une application de maintenance à distance de télécopieurs accessibles par la ligne téléphonique.
Les constructeurs ont bien entendu pensé à appliquer de telles méthodes de configuration dans le domaine de la télécommande d'applications domestiques, notamment des ensembles postes de télévision et magnétoscopes, en profitant de la flexibilité d'un PC. C'est le cas du dispositif décrit dans le brevet américain US 5,774,063, dans lequel le PC se substitue à la télécommande infra-rouge et permet donc une programmation a volonté des équipements. C'est également le même but de flexibilité que l'on trouve dans le brevet américain US 5,414,761 selon lequel il s'agit de reprogrammer à volonté une télécommande infra-rouge de type «universel».
Dans le domaine plus proche de celui de l'invention, on trouve des dispositifs permettant de communiquer des données à un appareil de contrôle du confort thermique (HVAC). Dans le brevet européen EP 0 652502, il est décrit l'introduction d'une ou plusieurs cartes à puce dans le lecteur d'un appareil de contrôle (thermostat programmateur). La carte contient des « données de programmation » qui peuvent également être entrées par l'utilisateur à l'aide d'un clavier. Cette opération est longue et fastidieuse dans la mesure où il faut entrer des températures de consigne, des plages horaires et éventuellement d'autres paramètres. Ces données de programmation sont transférables depuis la carte dans l'unité mémoire résidente ou en sens inverse, ce qui permet de conserver dans une carte une programmation entrée au clavier. On remarquera qu'il s'agit ici d'un transfert
de « programme de chauffage », constitué en fait de données (température de consigne, zone concernée, heure, jour de la semaine etc .), et non d'un « programme exécutable » au sens informatique, destiné au pilotage direct du microprocesseur contenu dans l'équipement.
Dans le même domaine du confort thermique, dans le brevet américain US 5,156,203 il est prévu une identification à distance de l'occupant d'un local (par carte à puce et/ ou transpondeur radio). Toutes les données relatives à la situation de confort de l'occupant sont mémorisées, de manière à reproduire les mêmes données quand la même personne se présentera à nouveau dans les locaux. Il y a donc apprentissage et basculement d'un jeu de données à un autre selon les utilisateurs, à l'aide d'un programme résident, et non modification de ce programme résident. Ce fonctionnement dans le bâtiment s'apparente au réglage automatique des sièges et rétroviseurs dans un véhicule automobile dès que le conducteur est reconnu à l'aide de sa clé.
Dans le domaine propre à celui décrit dans l'invention, celui des actionneurs et/ ou capteurs destinés à la protection ou au confort dans un bâtiment, on trouve des systèmes de transmission radio d'identifiants autorisés, notamment dans le brevet américain US 4,750,118, des systèmes de mise en mode d'apprentissage d'identifiants au moyen de la transmission radio servant normalement à la transmission de commandes, notamment dans le brevet européen EP 1 031 953, ou encore des systèmes d'apprentissage à distance des fins de course du moteur ou de mise en œuvre à distance d'un programme d'inversion de sens de rotation, comme par exemple dans le brevet européen EP 0 493 322, ou enfin de paramétrage au moyen du secteur d'un actionneur normalement commandé par radio, tel que divulgué par la demande de brevet FR 2 826521. Mais il n'a jamais été imaginé de
transmettre, au moyen du lien de communication radio normalement utilisé entre un émetteur d'ordres, même de type particulier, et un actionneur, ou entre un émetteur d'ordres et un capteur, ou entre un actionneur et un capteur, un ou plusieurs programmes exécutable(s) directement par les microprocesseurs contenus dans lesdits produits.
On connaît de la demande EP 0 770965, une télécommande universelle dont le programme de fonctionnement peut être mis à jour par transmission des appareils commandés vers la télécommande.
Cependant, il n'a jamais été imaginé d'améliorer les fonctionnalités existantes d'actionneurs ou de capteurs par remplacement de tout ou partie de leurs programmes exécutables.
Et il a encore moins été imaginé de conférer aux actionneurs ou capteurs des fonctionnalités nouvelles, non implantées au moment de leur première installation.
Le dispositif de commande selon l'invention est caractérisé par la partie caractérisante de la revendication 1.
Ce dispositif permet d'améliorer sur site les fonctionnalités existantes des équipements du bâtiment. Il permet de plus de conférer aux équipements des fonctionnalités nouvelles, non implantées dans ces équipements au moment de leur installation.
Les revendications dépendantes 2 à 7 définissent des variantes de ce procédé.
Le procédé de mise à jour selon l'invention est défini par la revendication indépendante 8.
Une variante de ce procédé est défini par la revendication dépendante 9.
D'autres caractéristiques et avantages de l'invention se dégageront de la description qui va suivre en regard des dessins annexés qui ne sont donnés qu'à titre d'exemples non limitatifs.
La Figure 1 représente de façon schématique, la configuration matérielle nécessaire à la mise en œuvre de l'invention.
La Figure 2 représente sous forme d'ordinogramme le procédé applicable à l'invention.
En Figure 1 est représenté un actionneur (1) qui est par exemple, un moteur électrique, destiné à actionner un élément mobile (50), comme par exemple une porte, un volet roulant, un store ou toute autre protection solaire. Cet actionneur (1) est par exemple raccordé électriquement par une liaison filaire (2) à une unité de traitement (10).
Cette unité de traitement (10), contenant au moins un microprocesseur (3), est en relation avec un moyen de communication radio-fréquences tel qu'un transmetteur radio (4) bidirectionnel. Ce transmetteur radio (4) est
donc susceptible de communiquer en réception et en émission avec tout dispositif radio-fréquences partageant le même protocole de transmission.
L'unité de traitement (10) exécute les programmes contenus dans une mémoire définie de programme inaltérable (7) et, selon les formes de réalisation, dans au moins une première mémoire reprogrammable (8) et/ ou une deuxième mémoire reprogrammable (9), comme expliqué plus loin.
L'actionneur (1) est un moteur d'entraînement de portes, d'ouvrants de ventilation, de volets roulants, de stores ou d'écrans divers de protection solaire. Il peut également s'agir d'un dispositif d'éclairage ou d'alarme dont l'accès est malaisé. Le transmetteur radio (4) joue alors un rôle essentiellement récepteur en fonctionnement normal.
Un ou plusieurs capteurs peuvent être associés à l'actionneur. Un capteur simple peut aussi tenir lieu d'actionneur dans la description de ce qui suit. Dans ce cas, les informations passent essentiellement du capteur vers l'unité de traitement (10), et le transmetteur radio (4) joue alors un rôle essentiellement émetteur en fonctionnement normal.
De manière simple, la liaison (2) entre l'actionneur (1) et l'unité de traitement (10) est une liaison filaire.
Sur la figure 1, qui est schématique, les contacteurs électromagnétiques ou statiques permettant d'assurer l'alimentation de l'actionneur en réponse aux ordres de l'unité de traitement, n'ont pas été représentés, car tous ces dispositifs sont bien connus de l'homme du métier.
S'il s'agit d'un actionneur (1) non autonome, tel que cela est illustré à la figure 1, l'ensemble est alimenté avec un convertisseur (5) à partir du réseau de courant alternatif (6).
Au cas où l'actionneur (1) serait autonome ou serait un capteur simple, le convertisseur (5) et le réseau de courant alternatif (6) seraient remplacés par une source autonome, par exemple un panneau photovoltaïque et un convertisseur avec batterie.
Comme on l'a vu précédemment, l'unité de traitement (10) comprend un microprocesseur (3). Il peut également s'agir de tout type de microcontrôleur, auquel cas la mémoire (7) peut être intégrée au microcontrôleur. Le transmetteur radio (4) peut contenir son propre microcontrôleur pour la gestion du protocole de communication, mais cette fonction peut être assurée par l'unité de traitement (10) ou encore répartie entre les deux unités, à savoir entre ladite unité de traitement (10) et le transmetteur (4).
Il est à noter que l'unité de traitement (10), l'actionneur (1), le convertisseur (5) et le transmetteur (4), peuvent constituer un ensemble matériel unique que l'on appellera unité de communication de traitement et d'actionnement (100).
Il est prévu, un transmetteur d'ordres (200) qui est utilisé sur le même réseau de communication, symbolisé par la flèche bidirectionnelle (300). Ce transmetteur d'ordre (200) est constitué d'un transmetteur bidirectionnel (20) analogue au transmetteur radio (4) de l'unité de communication, de traitement et d'actionnement (100), et d'une unité de commande (21) dont le
fonctionnement sera décrit ci-après. Le transmetteur d'ordre (200) contient un programme exécutable à transférer.
La mémoire (7) contient la partie de programme et les données qui ne seront en aucun cas modifiées au cours de la vie du produit. Il s'agit du programme assurant les fonctions de base liées à l'interface avec le module de communication (4) et liées à l'exploitation de la première mémoire reprogrammable (8) et/ ou de la deuxième mémoire reprogrammable (9). Cette mémoire (7) est donc de type ROM, et son contenu est défini par le fabricant de l'unité de traitement (10). La mémoire (7) contient en particulier une zone de stockage (71) permettant de stocker au moins un code relatif au type de matériel implanté dans l'unité de traitement (10).
La première mémoire reprogrammable (8) est de type EEPROM, donc électriquement effaçable. Dans la technologie actuelle, il s'agira d'une EEPROM de type FLASH. Cette mémoire contient en particulier une zone de stockage (81) permettant de stocker au moins un code relatif à l'application.
La deuxième mémoire reprogrammable (9) est soit de type RAM, soit également de type EEPROM selon les formes de réalisation expliquées plus loin.
La Figure 2, est une vue sous forme d'ordinogramme, destinée à expliquer sous forme simplifiée, l'introduction de nouvelles fonctionnalités dans l'équipement de contrôle d' actionneur et/ ou de capteur.
Dans une première étape, (SI), l'unité de communication, de traitement et d'actionnement (100) reçoit de la part du transmetteur d'ordre (200) une
demande de mise en apprentissage pour mise à jour de programme exécutable.
Il faut noter que plusieurs unités de communication de traitement et d'actionnement (100) équivalentes, peuvent, selon l'invention, recevoir la même demande. Cette demande est transmise par le transmetteur d'ordre
(200) en faisant figurer dans la trame d'émission un code particulier de mise en apprentissage et préférentiellement, l'une au moins des deux informations suivantes: - le code de configuration matérielle, tel que logé dans la zone de stockage (71) de la mémoire (7).
- le code de l'application, tel que logé dans la zone de stockage (81) de la mémoire (8).
Avantageusement, les deux informations seront adressées dans la trame d'émission provenant du transmetteur d'ordre (200). Ainsi donc, lors d'un processus collectif de remise à jour de programmes applicatifs au sein d'une même habitation, il y a donc grâce aux moyens de l'invention, possibilité de n'adresser la commande de mise en mode d'apprentissage qu'aux seuls produits concernés par l'introduction de cette nouvelle version.
Dans une variante de l'invention, on impose également au transmetteur d'ordres (200) de transmettre également un code de « clé commune » connue sous forme de nom de groupe par l'ensemble des produits constituant le réseau domotique. Cela évite ainsi de modifier simultanément les programmes exécutables dans des produits n'appartenant pas au réseau.
Lors de la première étape représentée par (SI), l'unité de communication, de traitement et d'actionnement (100) recevant la demande de mise en apprentissage de programme exécutable vérifie donc avantageusement qu'elle est concernée, par vérification du code de configuration matérielle, tel que logé dans la zone de stockage (71) de la mémoire (7) et/ ou du code de l'application, tel que logé dans la zone de stockage (81) de la mémoire (8), et éventuellement par vérification d'appartenance à un nom de groupe ou à une adresse commune diffusée par le transmetteur d'ordre (200). Selon une caractéristique de l'invention, seuls les récepteurs satisfaisant à ces critères poursuivent la procédure illustrée à la figure 2.
Lors de la deuxième étape représentée par (S2), le transmetteur d'ordres (200) émet un programme exécutable par l'unité de traitement (10). Ce programme est reçu par l'unité de traitement (10) et logé en mémoire vive
(RAM, 9) par le microprocesseur (3) sous contrôle d'un programme de la mémoire (7).
Lors de la troisième étape, qui est un test représenté par (S3), le microprocesseur (3) s'assure que la transmission et le stockage du programme sont achevés. Bien entendu, ce test s'accompagne d'un test sur la validité des valeurs binaires reçues et enregistrées, en utilisant les tests connus de détection, voire de correction d'erreurs (CRC etc .).
L'invention met à profit le caractère bidirectionnel de la communication entre le transmetteur d'ordres (200) et l'unité de communication, de traitement et d'actionnement (100) pour que soient répétées des parties mal reçues du fait d'un brouillage.
Seuls les éléments de l'unité de communication, de traitement et d'actionnement (100) ayant satisfait l'ensemble des tests de validité passent à l'étape suivante.
Lors de la quatrième étape (S4), il y a transfert de la mémoire vive (RAM, 9) vers la mémoire morte (EEPROM , 8) du programme transmis. Selon les cas, ce programme concerne l'ensemble des fonctions, ou simplement quelques fonctions spécifiques, mais l'ensemble constitue donc une remise à jour de l'application. Le code de l'application, tel que logé dans la zone de stockage (81) de la mémoire (8) de la nouvelle application fait partie de la transmission et se voit donc ainsi remis à jour dans tous les produits modifiés.
Cette quatrième étape (S4) peut se terminer par un accusé de réception radio ou encore par l'émission d'un signal par les produits exclus au cours de la deuxième étape (S2) ou de la troisième étape (S3) afin que l'installateur puisse éventuellement recommencer l'ensemble de la procédure pour ces produits.
Une fois la procédure terminée, tous les produits concernés sont donc dotés de fonctionnalités qu'ils ne présentaient pas au moment de l'installation, ou certaines fonctionnalités existantes se voient améliorées.
II faut remarquer que des variantes à la procédure de modification sont possibles, comme il est connu de l'homme de métier. Ainsi, il peut être choisi de donner à la deuxième mémoire reprogrammable (9) la même structure EEPROM que la première mémoire reprogrammable (8) en y prévoyant aussi
une zone de stockage (91) du code de l'application. Si ce choix est fait, il sera décidé que seule la première mémoire (8) ou la deuxième mémoire (9) contient l'application active à un moment donné. Si comme précédemment c'est la première mémoire (8), alors les instructions du nouveau programme seront stockées dans la deuxième mémoire (9) pendant la deuxième étape (S2) et inversement. Après le test de cohérence, la quatrième étape (S4) devient simplement un ordre de basculement: la mémoire de programme active devient la deuxième mémoire (9), et la première mémoire (8) servira à stocker éventuellement un nouveau programme lors d'une mise à jour ultérieure.
Le principe de l'invention s'applique tout aussi bien aux fonctionnalités propres au fonctionnement des actionneurs et/ ou des capteurs domotiques qu'aux différents traitements relatifs à la transmission sur le réseau de communication, dans le cadre des produits de commande desdits actionneurs et/ ou capteurs domotiques.
Par ailleurs, il est clair que les mots binaires constituant le programme peuvent être transmis sous une forme compactée nécessitant un décompactage, ou encore peuvent être cryptés et décryptés etc .
Après ces différents traitements qui n'interviennent pas dans le principe de l'invention, les mots binaires stockés en mémoire seront directement interprétés comme instructions de programmation, dites
« langage machine » ou « assembleur » par le microprocesseur (3) de l'unité de traitement (10).
En ce qui concerne l'unité de transmission d'ordres (200), sa forme n'est pas une caractéristique essentielle de l'invention. Il peut s'agir d'un
boîtier de commande générale, déjà connu de l'installation au cours de procédures d'appariement préalables, dans lequel est prévu un lecteur de carte mémoire, permettant au propriétaire lui-même de procéder à une mise à jour. Il peut s'agir également d'un boîtier de commande générale lié à d'autres passerelles de communication (Internet etc .) ou encore d'un ordinateur équipé d'un système de communication du type du transmetteur (20). L'unité de commande (21) contient suffisamment de touches de commande pour enclencher la procédure de demande de remise à jour, et si possible un écran permettant de suivre son bon déroulement. Cette procédure peut également être activée en combinaison avec une action spécifique sur le réseau d'alimentation, comme il est connu de l'état de la technique.
Ajoutons que la mémoire (ROM 7), et la première mémoire ( EEPROM 8) pourraient être remplacées par une seule et même mémoire du type EEPROM, dans laquelle on réalise une partition fixe ou dynamique.
Bien entendu, l'invention n'est pas limitée aux modes de réalisation décrits et représentés à titre d'exemples, mais elle comprend aussi tous les équivalents techniques ainsi que leurs combinaisons.