RECHERCHE
- 葡萄酒 | 威士忌 | 白兰地 | 啤酒 -
- 葡萄酒 | 威士忌 | 白兰地 | 啤酒 -

L'année dernière, lors de la mise en place d'un système de gestion de flotte pour une entreprise de logistique, le client souhaitait un suivi en temps réel de la consommation de carburant, du régime du moteur et de la température du liquide de refroidissement pour chaque camion. Il ne voulait pas seulement que les données soient stockées localement, mais aussi qu'elles soient transmises en continu à la plateforme en nuage afin que les répartiteurs puissent contrôler l'état des véhicules.
Cela semblait assez simple. Mais une fois que nous nous y sommes mis, l'extraction de données à l'intérieur des véhicules s'est avérée beaucoup plus compliquée que prévu. Toutes les informations relatives aux véhicules transitent par le bus CAN, mais les formats de message varient considérablement d'un modèle de véhicule à l'autre. Pour lire le régime moteur d'un camion FAW par rapport à un camion Dongfeng, il faut utiliser des ID de messages CAN, des positions de champs de données et des facteurs de conversion complètement différents.
Nous avons fini par utiliser une passerelle de véhicule 5G double pour résoudre ce problème. La passerelle se connecte au bus du véhicule via les interfaces CAN, analyse tous les messages, puis télécharge le tout via le réseau 5G vers le nuage. Ce projet m'a permis de mieux comprendre comment les passerelles de véhicules et le bus CAN doivent fonctionner ensemble.
Commençons par ce qu'est le bus CAN. CAN est l'abréviation de "Controller Area Network" (réseau de contrôleurs). Bosch a conçu ce bus de communication pour l'automobile dans les années 1980.
Pourquoi avons-nous besoin du bus CAN ? Les véhicules modernes contiennent des dizaines, voire des centaines d'unités de contrôle électronique. Le calculateur du moteur, le calculateur de la transmission, le calculateur de l'ABS, le calculateur du combiné d'instruments, le calculateur de contrôle de la carrosserie - la liste est longue. Ces calculateurs doivent communiquer entre eux. Si vous faisiez passer des fils individuels entre chaque paire de calculateurs, le faisceau de câbles serait un cauchemar.
Le bus CAN relie tous les calculateurs à un bus commun. C'est comme une ligne de métro : toutes les stations sont situées sur le même itinéraire. Chaque calculateur peut envoyer des messages que tous les autres calculateurs reçoivent. Chaque calculateur traite sélectivement les messages correspondant à sa fonction.
Les véhicules utilitaires utilisent généralement 2 ou 3 bus CAN distincts. Le bus CAN du groupe motopropulseur relie le moteur, la transmission, l'ABS et d'autres calculateurs du groupe motopropulseur, et fonctionne généralement à 500 kbps ou 250 kbps. Le bus CAN de la carrosserie gère les lumières, les serrures, la climatisation et les systèmes de confort, généralement à 125 kbps. Il peut également y avoir un bus CAN dédié au diagnostic.
Les passerelles pour véhicules doivent se connecter à ces bus CAN pour lire les données. Prenons l'exemple du SV910 - il est équipé de 3 ports CAN qui peuvent se connecter simultanément à plusieurs bus CAN de véhicules.

Comment lire ces données ? Prenons l'exemple de la lecture du régime moteur.
La première étape est la connexion physique. Connectez l'interface CAN de la passerelle au port de diagnostic OBD du véhicule ou directement au bus CAN. Les véhicules utilitaires sont généralement équipés de ports OBD standard, généralement situés sous le tableau de bord ou à côté du siège du conducteur. Le connecteur est trapézoïdal à 16 broches.
Le bus CAN utilise une signalisation différentielle avec deux fils : CAN_H et CAN_L. Sur le connecteur OBD, la broche 6 est CAN_H et la broche 14 est CAN_L. L'interface CAN de la passerelle possède les fils correspondants - il suffit de les faire correspondre. Remarque importante : les extrémités du bus CAN nécessitent des résistances de terminaison de 120 ohms pour éviter la réflexion du signal. Certaines passerelles intègrent des résistances de terminaison en interne, configurables par logiciel.
La deuxième étape consiste à configurer le débit en bauds. La vitesse de communication du bus CAN doit correspondre, sinon vous ne recevrez aucune donnée. Le bus CAN du groupe motopropulseur des véhicules utilitaires fonctionne généralement à 250 kbps ou 500 kbps - vous devez d'abord vérifier. Consultez le manuel d'entretien du véhicule ou testez-le à l'aide d'un analyseur CAN professionnel.
Configurer l'interface CAN de la passerelle à la même vitesse de transmission. Les passerelles comme la SV910 supportent plusieurs taux de bauds, réglables par des fichiers de configuration ou des interfaces de gestion.
La troisième étape consiste à surveiller et à analyser les messages CAN. Les données du bus CAN sont transmises sous forme de trames. Chaque trame contient plusieurs parties : l'ID du message, la longueur des données, le contenu des données, la somme de contrôle.
L'ID du message est la clé qui permet d'identifier le contenu de chaque message. Pour le régime moteur, des normes telles que GB/T 27930 et SAE J1939 définissent les ID. La norme J1939 est courante pour les véhicules utilitaires - le régime moteur utilise l'ID 0x0CF00400, avec des données dans les octets 4 et 5.
La passerelle surveille en permanence le bus CAN, capture les trames avec des ID spécifiques, puis extrait les valeurs de régime des octets de données. La valeur extraite est une donnée brute qui doit être convertie en régime réel à l'aide d'une formule. Dans la norme J1939, la résolution du régime moteur est de 0,125 tr/min/bit, ce qui signifie que la valeur brute doit être multipliée par 0,125 pour obtenir le régime réel.
La quatrième étape est l'emballage et le téléchargement des données. Après avoir analysé la valeur RPM, la passerelle la présente dans le format approprié pour la télécharger vers le nuage via le réseau 5G. Les formats courants sont JSON, Protobuf et les messages MQTT.
La fréquence des téléchargements dépend des besoins. La surveillance en temps réel peut nécessiter des mises à jour toutes les secondes, tandis que la gestion générale du parc automobile peut utiliser des intervalles de 10 ou 30 secondes. Une fréquence plus élevée signifie des coûts de données plus élevés.

Cela semble simple en théorie. En réalité, c'est l'adaptation aux différents modèles de véhicules qui pose le plus de problèmes.
La norme nationale GB/T 32960 définit les formats de données pour les véhicules à énergie nouvelle, mais ne couvre que les VE. Les véhicules utilitaires traditionnels à carburant suivent pour la plupart la norme SAE J1939, mais les mises en œuvre spécifiques varient encore.
Plus délicat encore, de nombreux constructeurs automobiles utilisent des messages CAN propriétaires qui vont au-delà des définitions standard. Certaines marques placent les codes d'erreur et les rappels d'entretien dans des messages privés dont le format n'est pas documenté. La lecture de ces données nécessite une rétro-ingénierie ou l'obtention de la documentation technique du constructeur automobile.
Au cours des projets, nous nous adaptons à chaque modèle de véhicule individuellement. Il faut d'abord rassembler la documentation relative au protocole CAN pour ce modèle. Si la documentation n'est pas disponible, utilisez un analyseur CAN pour enregistrer les données du bus et analyser manuellement les formats des messages. Configurez ensuite les règles d'analyse correspondantes dans la passerelle.
Les passerelles comme la SV910 permettent une configuration flexible. Vous pouvez définir des règles d'analyse personnalisées, en spécifiant quels octets dans quel ID de message représentent quelles données et quelle formule de conversion appliquer. Les différents modèles de véhicules ont simplement besoin de fichiers de configuration différents, aucun changement de code n'est nécessaire.
Nous avons construit une base de données de modèles de véhicules qui stocke les configurations du protocole CAN pour différentes marques et différents modèles. Les nouveaux projets commencent par vérifier si des configurations existent déjà. Si ce n'est pas le cas, nous les adaptons une fois et les ajoutons à la base de données. La bibliothèque contient aujourd'hui des configurations pour quarante à cinquante modèles de véhicules.
La lecture des données CAN à l'aide de passerelles pour véhicules exige de bonnes performances en temps réel. En particulier dans les scénarios de conduite autonome ou d'ADAS, les retards dans la transmission des données peuvent avoir un impact sur la sécurité.
Le bus CAN lui-même a un temps de latence très faible, mesuré en microsecondes. Mais le traitement de la passerelle, l'emballage et le téléchargement ajoutent un délai supplémentaire. Comment contrôler ce délai ?
Premièrement, minimiser les étapes de traitement. Après avoir reçu des trames CAN, les analyser immédiatement dans des gestionnaires d'interruption ou des tâches prioritaires au lieu de les mettre en file d'attente. Une fois analysées, elles sont placées directement dans la mémoire tampon de transmission et envoyées via le réseau 5G.
Deuxièmement, utiliser l'accélération matérielle. Certaines passerelles avancées pour véhicules intègrent des contrôleurs CAN avec filtrage matériel. Configurez les règles de filtrage au niveau du matériel pour n'accepter que les messages ID intéressants et rejeter les autres. Cela permet de réduire la charge du processeur et d'augmenter la vitesse de traitement.
Troisièmement, gérer soigneusement les horodatages. Chaque trame CAN doit être horodatée dès sa réception par la passerelle. Cet horodatage doit avoir une précision de l'ordre de la microseconde. Les données téléchargées vers le nuage doivent porter cet horodatage afin que le nuage sache quand les données ont été collectées.
Le SV910 prend en charge les protocoles de synchronisation temporelle PTP/GPTP, assurant une synchronisation d'horloge de haute précision entre la passerelle et les autres appareils. Cette fonction est essentielle pour les scénarios nécessitant une coordination entre plusieurs appareils.
La précision des données doit également être garantie. Bien que le bus CAN soit doté d'un système intégré de contrôle des erreurs, des données corrompues apparaissent encore occasionnellement. Les passerelles doivent faire l'objet d'une validation secondaire. En ce qui concerne le régime du moteur, un fonctionnement normal ne peut pas passer soudainement de 1000 à 5000 tours/minute et vice-versa. Marquez ces données anormales comme suspectes plutôt que de les utiliser directement.
Gérer également les situations de silence du bus. Si un certain message n'a pas été reçu pendant de longues périodes, il se peut que le calculateur correspondant soit tombé en panne ou que le bus ait été déconnecté. Les passerelles doivent détecter cette situation et signaler l'anomalie.
Le SV910 est doté d'une architecture double 5G avec deux modules 5G. Pourquoi une double architecture 5G ?
La première raison est la sauvegarde de la redondance. Les véhicules commerciaux effectuant des trajets longue distance peuvent traverser des zones où le signal est faible. Avec la 5G simple, la perte de signal signifie qu'il n'y a pas de transmission de données. La double 5G utilise des cartes SIM de différents opérateurs - China Telecom et China Unicom, ou China Mobile et China Unicom. Lorsqu'un signal se dégrade, on passe à l'autre.
La commutation peut être automatique. La passerelle surveille en temps réel la force du signal et la latence sur les deux liaisons 5G, et utilise celle qui offre la meilleure qualité. Il est également possible d'utiliser les deux liens simultanément pour l'agrégation de liens, ce qui permet de doubler la bande passante.
La deuxième raison est la répartition du trafic. Les applications pour véhicules impliquent généralement plusieurs flux de données - données du bus CAN, vidéo de la caméra, données de positionnement, communication V2X. Ces types de données ont des caractéristiques différentes et des exigences différentes en matière de bande passante et de temps de latence.
Acheminez les données de contrôle critiques par une liaison 5G et les vidéos à fort trafic par l'autre. Cela permet d'éviter les interférences et de garantir la livraison en temps réel des données critiques.
La troisième raison est l'isolement sécuritaire. Certaines plateformes de gestion de flotte exigent une séparation physique entre les canaux de contrôle des véhicules et les canaux de collecte de données pour des raisons de sécurité. La double 5G répond parfaitement à cette exigence. Les commandes de contrôle utilisent des liaisons dédiées, les données collectées en utilisent une autre. Même si des pirates compromettent le canal de données, ils ne peuvent pas altérer les commandes de contrôle.

Après avoir collecté les données, les passerelles de véhicules les téléchargent vers des plateformes de gestion de flotte. Ces plateformes sont généralement des services en nuage qui assurent la surveillance des véhicules, la lecture des itinéraires, les rapports statistiques, les alertes en cas de défaillance et d'autres fonctions.
Il existe plusieurs options de protocole pour le téléchargement des données. MQTT est le plus courant. Il s'agit d'un protocole léger de file d'attente de messages conçu spécifiquement pour l'IdO. Les passerelles agissent comme des clients MQTT, se connectant à des serveurs MQTT dans le nuage et publiant des messages périodiquement.
MQTT prend en charge différents niveaux de qualité de service (QoS). La QoS 0 correspond à un maximum d'une fois, c'est-à-dire qu'il suffit d'envoyer le message et de l'oublier, ce qui peut entraîner des pertes. QoS 1 est au moins une fois - livraison garantie mais duplication possible. QoS 2 est exactement une fois - livraison garantie sans duplication. Choisissez la qualité de service appropriée en fonction de l'importance des données.
HTTP/HTTPS est également largement utilisé. Les passerelles regroupent périodiquement les données collectées et les téléchargent via des requêtes HTTP POST vers les API de l'informatique en nuage. Cette approche est simple et directe et offre une bonne compatibilité. L'inconvénient est que les frais généraux HTTP dépassent ceux de MQTT, ce qui est moins adapté à la transmission de petites données à haute fréquence.
Il existe également des protocoles spécialisés. Par exemple, JT/T 808 est le protocole de communication standard du ministère des transports pour les terminaux du système de positionnement par satellite des véhicules de transport routier. De nombreuses plateformes de gestion de flottes de véhicules commerciaux utilisent cette norme. La prise en charge de la norme JT/T 808 nécessite la mise en œuvre de la pile de protocoles complète.
Le format des données doit faire l'objet d'un accord avec la plateforme. JSON est courant - lisible par l'homme et facile à déboguer. Mais JSON prend de la place, donc si les coûts des données sont sensibles, utilisez des formats binaires comme Protobuf ou des formats compacts personnalisés.
Outre la lecture de données en temps réel, les passerelles pour véhicules peuvent effectuer des diagnostics.
Les calculateurs des véhicules génèrent des codes de diagnostic de panne (DTC). Lorsque le moteur fonctionne mal, il produit des codes tels que P0001, P0002. Ces codes sont stockés dans les calculateurs et peuvent être lus via le bus CAN.
Les protocoles de diagnostic standard sont ISO 14229 (UDS - Unified Diagnostic Services) et SAE J1939-73. La passerelle agit en tant que client de diagnostic, envoyant des requêtes de diagnostic aux calculateurs, qui renvoient des codes d'erreur et des informations connexes.
Après avoir lu les codes d'erreur, traduisez-les en descriptions lisibles. Que signifie P0001 ? Circuit de contrôle du régulateur de volume de carburant/ouvert. Cette traduction nécessite une base de données de codes d'erreur. Les passerelles peuvent stocker les descriptions des codes courants en interne ou les télécharger sur le cloud pour les traduire.
Grâce aux codes d'erreur, les plateformes de gestion de flotte peuvent fournir des alertes précoces. Par exemple, la détection d'un code de température élevée du liquide de refroidissement avertit immédiatement les conducteurs et les services de maintenance, ce qui permet d'éviter les dommages dus à la surchauffe du moteur.
Les applications avancées permettent d'effectuer une maintenance prédictive. Elles analysent les tendances des différents paramètres du véhicule afin de prévoir les défaillances potentielles. Par exemple, une baisse progressive de la pression d'huile moteur n'a pas encore déclenché de codes d'erreur mais montre des signes d'alerte - ce qui incite les conducteurs à vérifier l'huile.
Après de nombreux projets, nous avons rencontré beaucoup d'obstacles.
Première leçon : protéger correctement le bus CAN. Le bus CAN du véhicule est critique. Si des défaillances de la passerelle tirent le bus vers le bas ou transmettent des messages erronés, le fonctionnement normal du véhicule peut être affecté.
Les interfaces CAN des passerelles doivent être isolées électriquement pour éviter la propagation des défauts. Les circuits de protection du bus doivent se déconnecter automatiquement en cas de surtension ou de surintensité. Les logiciels ont également besoin de mécanismes de protection - arrêt de la transmission si des anomalies sont détectées afin d'éviter les interférences avec le bus.
Deuxième enseignement : les modifications apportées aux véhicules doivent être conformes à la réglementation. L'installation de passerelles sur des véhicules commerciaux constitue une modification du véhicule. Elle doit répondre aux exigences réglementaires nationales et locales sans compromettre les performances de sécurité du véhicule. Certaines régions exigent l'enregistrement auprès de l'administration des véhicules après modification.
Troisième leçon : la sécurité des données et la protection de la vie privée ont une grande importance. Les itinéraires et le comportement des véhicules impliquent le respect de la vie privée. Cryptage de la transmission des données, anonymisation du stockage. L'accès à la plate-forme en nuage nécessite des contrôles d'autorisation - les données ne peuvent pas être divulguées à des tiers.
Dans l'ensemble, la lecture des données du véhicule via le bus CAN avec des passerelles pour véhicules constitue la base des applications de véhicules connectés. La technologie elle-même n'est pas complexe, mais pour bien faire, il faut prêter attention à de nombreux détails. L'adaptation à différents modèles de véhicules, la garantie de performances en temps réel, la précision des données, la fiabilité des communications - chaque aspect doit être affiné avec soin pour fournir un service stable et fiable.
Mo