Maison >développement back-end >Tutoriel Python >Comment les développeurs permettent aux chargeurs de véhicules électriques de communiquer avec les applications mobiles
Dans le monde des véhicules électriques (VE), l'une des expériences les plus magiques pour un conducteur de VE consiste à appuyer sur « Démarrer » sur son application mobile et à regarder le chargeur prendre vie.
Mais comment cette magie se produit-elle ?
Plongeons dans les coulisses de la communication entre les chargeurs de véhicules électriques et les applications mobiles.
La communication entre ces acteurs suit un protocole standardisé appelé OCPP (Open Charge Point Protocol). Plus précisément, la plupart des systèmes utilisent OCPP sur WebSocket, qui garantit une communication fiable et en temps réel.
Le processus commence lorsqu'un utilisateur appuie sur le bouton « Démarrer ». Le serveur backend prépare une commande RemoteStartTransaction avec les détails suivants :
{ "connectorId": 1, "idTag": "remote-11902", "chargingProfile": { "transactionId": 11902, "chargingProfileId": 1, "stackLevel": 1, "chargingProfilePurpose": "TxProfile", "chargingProfileKind": "Relative", "chargingSchedule": { "chargingRateUnit": "A", "chargingSchedulePeriod": [ ... ] } } }
Cette commande est envoyée au chargeur via le backend à l'aide d'un appel RPC :
await client.call( 'RemoteStartTransaction', remoteStartTransactionBody );
Le chargeur accuse réception de la commande avec une réponse :
{"status": "Accepted"}
Cela indique que le chargeur est prêt à commencer la transaction.
Lorsque le chargeur est entièrement préparé, il renvoie un message StartTransaction au backend :
{ "connectorId": 1, "idTag": "remote-11902", "meterStart": 0, "timestamp": "2025-01-15T02:09:54.000Z" }
Tout au long de la session de charge, le chargeur envoie périodiquement des mises à jour MeterValues, qui incluent des mesures telles que la tension, le courant et l'énergie fournie. Ces mises à jour peuvent être configurées pour se produire toutes les 30 secondes ou à un intervalle différent :
{ "connectorId": 1, "transactionId": 11902, "meterValue": [ { "timestamp": "2025-01-15T02:09:54.000Z", "sampledValue": [ { "value": "241.10", "measurand": "Voltage", "unit": "V" }, { "value": "0.00", "measurand": "Current.Import", "unit": "A" }, { "value": "0", "measurand": "Power.Active.Import", "unit": "W" }, { "value": "32", "measurand": "Current.Offered", "unit": "A" } ] } ] }
Lorsque l'utilisateur appuie sur « Stop », le backend envoie une commande RemoteStopTransaction au chargeur :
await client.call( 'RemoteStopTransaction', { transactionId: 11902 } );
Le chargeur accuse réception avec :
{"status": "Accepted"}
Une fois l'arrêt terminé, le chargeur envoie un message StopTransaction avec des détails tels que l'énergie totale fournie :
{ "connectorId": 1, "idTag": "remote-11902", "chargingProfile": { "transactionId": 11902, "chargingProfileId": 1, "stackLevel": 1, "chargingProfilePurpose": "TxProfile", "chargingProfileKind": "Relative", "chargingSchedule": { "chargingRateUnit": "A", "chargingSchedulePeriod": [ ... ] } } }
Tout comme une pompe à essence peut avoir différentes buses pour le diesel ou l'essence, les chargeurs de véhicules électriques peuvent avoir plusieurs connecteurs. Les types courants incluent :
Chaque connecteur fonctionne indépendamment, permettant à un chargeur de desservir plusieurs véhicules.
OCPP (Open Charge Point Protocol) est une norme de communication ouverte conçue pour l'interaction entre les bornes de recharge pour véhicules électriques (VE) (points de recharge) et les systèmes de gestion centraux (souvent appelés systèmes backend ou systèmes de gestion des points de charge).
Il permet l'interopérabilité entre les infrastructures de recharge de différents fabricants et fournisseurs de logiciels.
OCPP définit les structures de messages et les protocoles de communication entre la borne de recharge et le système central. Par exemple :
OCPP est géré par l'Open Charge Alliance (OCA), qui continue de développer et de promouvoir le protocole.
Chaque fois que vous démarrez ou arrêtez la charge depuis votre application, une série de messages précis en temps réel circulent entre votre application, le backend et le chargeur.
Le protocole OCPP rend tout cela possible, en garantissant que les chargeurs et les applications de différents fabricants peuvent fonctionner ensemble de manière transparente.
Donc, la prochaine fois que vous branchez votre véhicule électrique et appuyez sur « Démarrer », vous en saurez un peu plus sur la magie qui se cache derrière les coulisses !
Je travaille sur un outil très pratique appelé LiveAPI.
Il est conçu pour faciliter la documentation des API pour les développeurs.
Avec LiveAPI, vous pouvez générer rapidement une documentation interactive sur les API qui permet aux utilisateurs d'exécuter des API directement depuis le navigateur.
Si vous en avez assez de créer manuellement des documents pour vos API, cet outil pourrait bien vous faciliter la vie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!