Brevet FR3110732A1 — publié le 20211126

Procédé de mise à jour logicielle d’un calculateur embarqué (20) d’un véhicule (10) comprenant un module de communication (22), le procédé comprenant les étapes suivantes : (E1) association d’un terminal mobile (30) et du calculateur embarqué (20) du véhicule (10), (E2) détermination de la disponibilité d’une mise à jour logicielle sur un serveur distant (40), (E3) téléchargement de la mise à jour logicielle dans une mémoire du calculateur embarqué (20) à partir du serveur distant (40) via le module de communication (22), (E4) application de la mise à jour logicielle au calculateur embarqué (20), caractérisé en ce que le procédé comprend une étape additionnelle (E5) d’affichage d’au moins une notification sur un écran du terminal mobile (30), au moins lors d’un échec de l’application de la mise à jour logicielle au calculateur embarqué (20). Figure 1. Procédé de mise à jour logicielle pour un véhicule La présente invention concerne un procédé de mise à jour logicielle d’un calculateur embarqué d’un véhicule, un programme d’ordinateur permettant l’exécution d’un tel procédé, un calculateur embarqué d’un véhicule pouvant être mis à jour par ce procédé et enfin un véhicule comprenant un tel calculateur embarqué. Les véhicules actuels peuvent offrir des fonctions connectées offrant par un exemple à un utilisateur du véhicule un guidage par satellite, une assistance à la conduite ou au stationnement, une diffusion de contenus audio ou vidéo ainsi qu’un suivi des fonctions de propulsion du véhicule. Ces fonctions connectées sont généralement gérées par un système informatique ou calculateur embarqué du véhicule et il peut être souhaitable de mettre à jour un tel calculateur embarqué de manière à corriger et améliorer les fonctions embarquées. Par le passé, de telles mises à jour logicielles pouvaient être réalisées manuellement, par exemple par un technicien sur un site de maintenance de véhicules. Cependant, un tel procédé de mise à jour logicielle pouvait être long, couteux et entrainer l’immobilisation du véhicule. Le document US20190108010 décrit ainsi un système de mise à jour à distance d’un calculateur embarqué d’un véhicule. Cependant, un tel procédé reste long et l’utilisateur ne reste généralement pas dans le véhicule durant son déroulement. Dans le cas où le procédé de mise à jour logicielle est un échec, c’est-à-dire que la mise à jour logicielle n’a pas pu être appliquée au calculateur embarqué, il est possible qu’une ou plusieurs fonctions connectées du véhicule ne soient plus disponibles ou que le véhicule soit immobilisé, ce qui peut surprendre désagréablement l’utilisateur lors d’une prochaine utilisation du véhicule. Un besoin existe donc pour un procédé de mise à jour logicielle d’un calculateur embarqué d’un véhicule capable de gérer les situations d’échec du procédé de mise à jour logicielle de manière transparente et confortable pour l’utilisateur du véhicule. Pour cela, un premier aspect de l’invention concerne un procédé de mise à jour logicielle d’un calculateur embarqué d’un véhicule comprenant un module de communication, le procédé comprenant les étapes suivantes : association d’un terminal mobile et du calculateur embarqué du véhicule, détermination de la disponibilité d’une mise à jour logicielle sur un serveur distant, téléchargement de la mise à jour logicielle dans une mémoire du calculateur embarqué à partir du serveur distant, via le module de communication, application de la mise à jour logicielle au calculateur embarqué, caractérisé en ce que le procédé comprend une étape additionnelle d’affichage d’au moins une notification sur un écran du terminal mobile, au moins lors d’un échec de l’application de la mise à jour logicielle au calculateur embarqué. Un tel procédé permet de réaliser une mise à jour logicielle d’un calculateur embarqué du véhicule facilement et de manière transparente. En outre, l’impact d’un échec de l’application de la mise à jour logicielle est fortement réduit puisque l’utilisateur peut en être informé rapidement ou même immédiatement. Avantageusement, le procédé de mise à jour logicielle comprend les étapes supplémentaires suivantes : identification d’un échec de l’application de la mise à jour logicielle au calculateur embarqué, détermination d’au moins un site de réparation de véhicules situé à proximité du véhicule, détermination d’au moins un créneau horaire disponible du site de réparation de véhicules, affichage de l’au moins un site de réparation de véhicules et/ou de l’au moins un créneau horaire sur l’écran du terminal mobile lors de l’étape de notification de l’échec de l’étape d’application de la mise à jour logicielle. Un tel procédé peut permettre à l’utilisateur de gérer plus facilement et plus confortablement un échec de l’application de la mise à jour logicielle. Avantageusement, le présent procédé comprend une étape additionnelle de réservation de l’au moins un créneau horaire disponible. Cette étape peut être réalisée automatiquement, par exemple selon des préférences prérenseignées de l’utilisateur ou bien nécessiter une action positive de l’utilisateur. Avantageusement, le présent procédé comprend une étape préalable d’accès à un agenda ou calendrier du terminal mobile et de vérification de la disponibilité de l’au moins un créneau horaire disponible du site de réparation de véhicules dans l’agenda du terminal mobile. Ceci permet la réservation d’un créneau de réparation du véhicule de manière fiable et confortable pour l’utilisateur. Par exemple, le présent procédé comprend une étape préalable de constitution d’une base de données comprenant une pluralité de sites de réparation de véhicules, la localisation géographique de ces sites de réparation de véhicule et un planning de créneaux horaires disponibles. Avantageusement, le présent procédé peut comprendre une étape de localisation du véhicule, au moins lors de l’identification de l’échec de l’application de la mise à jour logicielle au calculateur embarqué, de manière à proposer des sites de réparation de véhicules les plus proches possible du véhicule. Avantageusement, le procédé comprend une étape d’interrogation d’une base de données comprenant les fonctions mises à jour par ladite mise à jour logicielle et dans lequel l’étape de notification comprend un affichage des fonctions pouvant être non disponibles suite à l’identification de l’échec de l’application de la mise à jour logicielle. Avantageusement, l’étape de détermination de la disponibilité de la mise à jour logicielle sur le serveur distant et/ou l’étape de téléchargement de la mise à jour logicielle sont réalisées au travers du terminal mobile, ce qui permet de mettre à jour un calculateur embarqué moins complexe et donc moins couteux. Par exemple, l’étape d’application de la mise à jour logicielle au calculateur embarqué est réalisée uniquement lors d’une phase d’arrêt du véhicule et/ou lors d’une phase d’extinction moteur du véhicule. Un second aspect de l’invention concerne un programme d’ordinateur comprenant des portions/moyens/instructions de code de programme pour l’exécution des étapes du procédé selon le premier aspect de l’invention, lorsque ledit programme est exécuté sur un ordinateur, par exemple un calculateur embarqué d’un véhicule ou un terminal mobile. Un troisième aspect de l’invention concerne un calculateur embarqué pour un véhicule, le calculateur embarqué comprenant un module de communication et étant configuré pour mettre en œuvre le procédé de mise à jour logicielle selon le premier aspect de l’invention. Un quatrième aspect de l’invention concerne un véhicule comprenant un calculateur embarqué selon le troisième aspect de l’invention. D’autres caractéristiques et avantages de la présente invention apparaitront plus clairement à la lecture de la description détaillée qui suit de modes de réalisation de l’invention donnés à titre d’exemples nullement limitatifs et illustrés par le dessin annexé, dans lequel : représente un schéma de principe du procédé selon la présente invention. La présente invention concerne un procédé de mise à jour logicielle pour un calculateur embarqué ou embarquable dans tout type de véhicule, notamment des véhicules à deux, trois ou quatre roues à vocation particulière, utilitaire, spécialisée, agricole, ou encore militaire. Le calculateur embarqué comprend au moins une unité de calcul comprenant un ou plusieurs microprocesseurs ainsi que des unités mémoires et un module de communication apte à communiquer avec fil ou préférentiellement sans fil avec d’autres dispositifs ainsi que des serveurs distants, par exemple au travers du réseau Internet. Ce module de communication peut notamment établir une communication au travers de réseaux 3G, 4G, 5G ou encore Wifi, WiMAX ou Bluetooth. Le module de communication peut aussi comprendre un récepteur de positionnement par satellite du type Galileo, GPS, Glonass, BeiDou ou encore ZNSS. De plus, le calculateur embarqué peut comprendre des interfaces utilisateurs permettant à un utilisateur d’interagir avec le calculateur embarqué, par exemple un ou plusieurs écrans, un ou plusieurs écrans tactiles, une molette, un pavé tactile, des boutons physique ou logiciels ou encore une interface de commande vocale. En outre, le calculateur embarqué peut comprendre des interfaces avec des capteurs embarqués du véhicule ou d’autres systèmes embarqués du véhicule. Le présent procédé permet une mise à jour logicielle d’un logiciel du calculateur embarqué, par exemple du logiciel principal (ou système d’exploitation) du calculateur embarqué ou bien d’un autre logiciel ou application du calculateur embarqué, par exemple une application de cartographie et de navigation par satellite, une application de diffusion de contenus audio ou vidéo ou encore une fonction d’aide à la conduite. En référence à la figure 1, un véhicule 10 comprend un calculateur embarqué 20 pourvu d’une unité de calcul 21 et d’un module de communication 22. Dans une première étape du procédé E1, le calculateur embarqué 20 est associé ou appairé avec un terminal mobile 30. le terminal mobile peut être un téléphone intelligent, une tablette ou ardoise tactile, une montre connectée ou encore un ordinateur portable. Cette étape d’association peut être réalisée via tout type d’interface, par exemple par Bluetooth, Wifi, ou encore USB. Cette étape d’association peut aussi être réalisée indirectement, par exemple via Internet et un serveur distant et en téléchargeant une application ou un logiciel sur le terminal mobile 30 et en entrant un code d’association ou en procédant à l’acquisition d’un code-barres ou d’un tag 3D d’association propre au véhicule au moyen du terminal mobile 30. Cette première étape E1 peut être réalisée une fois pour toutes, par exemple lors de l’installation d’un nouveau véhicule. Cette étape peut en outre être répétée périodiquement par exemple dans le cas d’un nouveau terminal mobile 30 ou d’un autre utilisateur du véhicule 10. Dans une deuxième étape E2, la disponibilité d’une mise à jour logicielle sur un serveur distant 40 est déterminée, par exemple par interrogation du serveur distant 40 à partir du calculateur embarqué 20 ou bien par notification du calculateur embarqué 20 par le serveur distant 40. Dans une troisième étape E3, la mise à jour logicielle est téléchargée à partir du serveur distant 40 vers le calculateur embarqué 20, et par exemple stockée dans une mémoire de l’unité de calcul 21. Des étapes connues de déchiffrement, validation de signature ou certificat numérique et de vérification d’intégrité peuvent alors être réalisées par l’unité de calcul 21. Ces étapes E2 et E3 peuvent être réalisées à tout moment de la vie du véhicule 10, préférentiellement en tâche de fond et quand la qualité et le débit de la communication entre le module de communication 22 et le serveur distant 40 est suffisante, par exemple en cas de connexion Wifi ou 4G stable. En outre, ces deux étapes peuvent être déclenchées manuellement par l’utilisateur ou encore être déclenchées par une localisation spécifique du véhicule 10, par exemple lors d’une phase de stationnement au domicile de l’utilisateur ou sur un site de stationnement de la société le possédant, dans le cas d’un véhicule d’entreprise. Dans une étape E4, la mise à jour logicielle téléchargée peut être appliquée au calculateur embarqué 20 ou bien à une de ses applications ou fonctions. Par exemple, le calculateur embarqué peut passer ou redémarrer dans un mode de mise à jour ou dans un mode installation pour appliquer la mise à jour logicielle. Le calculateur embarqué 20 ou au moins l’application mise à jour peut être indisponible durant le temps de l’installation de la mise à jour logicielle. De plus, el véhicule 10 est préférentiellement arrêté et moteur éteint. Cette étape E4 peut être déclenchée ou au moins validée par l’utilisateur, par exemple lorsqu’il éteint son véhicule après être arrivé à destination. En outre, cette étape E4 peut être déclenchée ou proposée à l’utilisateur quand le véhicule 10 est dans une position géographique spécifique, comme précédemment. Dans une étape E5, une notification est envoyée au terminal mobile 30, en particulier si l’étape E4 d’application de la mise à jour logicielle ne s’est pas déroulée comme prévu et/ou a échoué. Par exemple, l’étape E4 a pu être interrompue, la mise à jour logicielle a pu se révéler corrompue ou bien une procédure de test des applications ou fonctions mises à jour a pu révéler des défauts. Ainsi, l’étape E5 permet de notifier sur le terminal mobile 30 un succès de cette étape E4 ou au moins un échec de l’étape E4 de mise à jour logicielle. L’utilisateur est alors informé de cet échec et peut en tenir compte dans son utilisation de son véhicule 10. En outre, la notification de l’étape E5 peut mentionner la fonction ou l’application susceptible de ne pas fonctionner correctement si la mise à jour logicielle concernait seulement une ou plusieurs fonctions ou applications. Préférentiellement, une étape E6 d’identification de l’échec de l’application de la mise à jour logicielle est donc réalisée et l’origine du problème ou au moins les fonctions ou applications concernées par cette mise à jour peuvent être identifiées durant cette étape E6. Par exemple, un test d’intégrité et de fonctionnement des différentes fonctions et application peut être lancé par le calculateur embarqué 20 ou bien par le serveur distant 40. Ainsi, dans l’étape E5 la notification peut informer l’utilisateur des fonctions ou applications non-disponibles ou susceptibles d’être non disponibles, sur la base du test d’intégrité ou d’une information lié à la mise à jour logicielle. Par exemple, la notification peut mentionner que le système de régulation thermique (air conditionné) est susceptible de ne pas fonctionner, ou bien que le lecteur de contenus audio ou vidéos pourrait ne pas diffuser certains contenus. Selon l’utilisation prévue, l’utilisateur peut ne pas avoir besoin de ces fonctions ou applications ou bien prendre rapidement des mesures pour remédier à ces défauts. Par exemple, une information des fonctions et applications prévues pour être mises à jour par la mise à jour logicielle peut être intégrée à la mise à jour logicielle ou bien être disponible sur le serveur distant 40 ou un autre serveur distant et nécessiter une étape d’interrogation additionnelle. Dans le cas d’une mise à jour logicielle concernant le système d’exploitation du calculateur embarqué, il est possible que l’ensemble des fonctions de confort soient inaccessibles, ou même que le véhicule 10 soit immobilisé. Il est donc possible que les étapes E5 et E6 soient réalisées par le serveur distant 40 ou même par le terminal mobile 30, permettant ainsi à un système informatique externe fonctionnel d’interroger et d’évaluer le fonctionnement du calculateur embarqué 20 après l’étape E4 d’application de la mise à jour, Si le calculateur embarqué 20 est non fonctionnel, il peut être souhaitable de proposer à l’utilisateur de prendre rendez-vous dans un site de maintenance de véhicule ou un concessionnaire apte à résoudre ce problème, par exemple en rechargeant un logiciel d’exploitation du calculateur embarqué grâce à une connexion physique spécialisée. Dans une étape E7, au moins un site de réparation de véhicule peut être déterminé, par exemple par interrogation d’une base donnée distante recensant tous ou une pluralité de sites de réparation de véhicules. En outre, cette étape E7 peut se baser sur la détection d’une localisation du véhicule, par exemple issu de la détection de la localisation précédemment effectuée, de la détection de la localisation du terminal mobile ou encore de la détection d’une adresse de référence enregistrée dans le terminal mobile ou dans un serveur distant. Ainsi, la pertinence du ou des sites de réparation de véhicules proposés durant l’étape de notification peut être améliorée. Dans une étape E8, un créneau disponible dans un planning du ou des sites de réparation de véhicules identifiés dans l’étape E7 peut être déterminé. Par exemple, la base de données distante peut comprendre un planning de disponibilités des sites de réparation de véhicule, ou bien une base de données spécialisée peut être interrogée. Cette étape E8 peut ainsi permettre de proposer à l’utilisateur un ou plusieurs sites de réparation de véhicule avec leurs disponibilités à venir durant l’étape de notification E5. Enfin, dans une étape E9, une étape de réservation d’un créneau horaire disponible auprès d’un site de réparation de véhicule peut être réalisée. Cette étape E9 peut être réalisée automatiquement, par exemple selon des préférences prérenseignées de l’utilisateur, ou bien être réalisée suite à une action positive de l’utilisateur, par exemple, par une boite de dialogue affichée avec la notification de l’étape E5. En alternative ou en combinaison, les coordonnées téléphoniques ou internet des sites de réparation de véhicule proposés peuvent être affichés ou affichables avec la notification de l’étape E5. Le présent procédé permet donc une mise à jour transparente du calculateur embarqué 20 du véhicule 10, notamment du fait de l’étape de notification à l’utilisateur. En outre, en cas d’échec de l’application de la mise à jour logicielle, l’utilisateur peut réagir facilement soit en prenant note des applications et fonctions indisponibles et/ou en réservant un créneau de réparation au sein d’un site de réparation de véhicules. Dans un autre mode de réalisation, les étapes E2 et E3 peuvent en outre être réalisées par le terminal mobile 30, ce qui peut permettre d’utiliser un calculateur embarqué 20 moins perfectionné, permettant seulement une association et une communication avec le terminal mobile 30. On comprendra que diverses modifications et/ou améliorations évidentes pour l’homme du métier peuvent être apportées aux différents modes de réalisation de l’invention décrits dans la présente description sans sortir du cadre de l’invention. Procédé de mise à jour logicielle d’un calculateur embarqué (20) d’un véhicule (10) comprenant un module de communication (22), le procédé comprenant les étapes suivantes : (E1) association d’un terminal mobile (30) et du calculateur embarqué (20) du véhicule (10), (E2) détermination de la disponibilité d’une mise à jour logicielle sur un serveur distant (40), (E3) téléchargement de la mise à jour logicielle dans une mémoire du calculateur embarqué (20) à partir du serveur distant (40) via le module de communication (22), (E4) application de la mise à jour logicielle au calculateur embarqué (20), caractérisé en ce que le procédé comprend une étape additionnelle (E5) d’affichage d’au moins une notification sur un écran du terminal mobile (30), au moins lors d’un échec de l’application de la mise à jour logicielle au calculateur embarqué (20). Procédé de mise à jour logicielle selon la revendication précédente, comprenant les étapes supplémentaires suivantes : (E6) identification d’un échec de l’application de la mise à jour logicielle au calculateur embarqué (20), (E7) détermination d’au moins un site de réparation de véhicules situé à proximité du véhicule (10), (E8) détermination d’au moins un créneau horaire disponible du site de réparation de véhicules, affichage de l’au moins un site de réparation de véhicules et de l’au moins un créneau horaire sur l’écran du terminal mobile (30) lors de l’étape (E5) de notification de l’échec de l’étape d’application de la mise à jour logicielle. Procédé de mise à jour logicielle selon la revendication précédente, comprenant une étape (E9) additionnelle de réservation de l’au moins un créneau horaire disponible. Procédé de mise à jour logicielle selon la revendication précédente, comprenant une étape préalable d’accès à un agenda du terminal mobile (30) et de vérification de la disponibilité de l’au moins un créneau horaire disponible du site de réparation de véhicules dans l’agenda du terminal mobile (30). Procédé de mise à jour logicielle selon l’une des revendications 2 à 4, comprenant une étape de localisation du véhicule (10), au moins lors de l’identification d’un échec de l’application de la mise à jour logicielle au calculateur embarqué (20). Procédé de mise à jour logicielle selon l’une des revendications 2 à 5, comprenant en outre une étape d’interrogation d’une base de données comprenant les fonctions mises à jour par ladite mise à jour logicielle et dans lequel l’étape de notification (E5) comprend un affichage des fonctions pouvant être non disponibles suite à l’identification de l’échec de l’application de la mise à jour logicielle. Procédé de mise à jour logicielle selon l’une quelconque des revendications précédentes, dans lequel l’étape (E2) de détermination de la disponibilité de la mise à jour logicielle sur le serveur distant (40) et l’étape (E3) de téléchargement de la mise à jour logicielle sont réalisées au travers du terminal mobile (30). Programme d’ordinateur comprenant des portions/moyens/instructions de code de programme pour l’exécution des étapes du procédé selon l’une des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur. Calculateur embarqué (20) pour un véhicule, le calculateur embarqué (20) comprenant un module de communication (22) et étant configuré pour mettre en œuvre le procédé de mise à jour logicielle selon l’une des revendications 1 à 7. Véhicule (10) comprenant un calculateur embarqué (20) selon la revendication précédente.