Unifique dados e operações de carregamento de EV com o MongoDB para criar experiências de carregamento escaláveis e responsivas e adapte-se rapidamente à medida que sua infraestrutura cresce.
Casos de uso: Internet das coisas
Setores: Manufatura e Mobilidade
Produtos e ferramentas: MongoDB Atlas, MongoDB Search, MongoDB Time Series
Parceiros: Vercel, Apollo GraphQL
Visão Geral da Solução
Quer você seja um fabricante de automóveis, um fornecedor de energia ou de serviços públicos ou uma startup de tecnologia de movimentação, o carregamento de veículos eléctricos conectados (EV) requer a união de dados que mudam em diferentes velocidades e alimentam diferentes partes da experiência de carregamento.
Esses dados incluem:
Localizações de estações e recursos de conectores.
Disponibilidade da estação e sessões ativas.
Preços.
Eventos operacionais.
À medida que as redes de cobrança crescem, manter esses dados consistentes e acessíveis nas experiências operacionais e voltadas para o motorista se torna cada vez mais importante para fornecer serviços confiáveis e tomar decisões informadas.
Esta solução demonstra como uma camada de dados operacionais unificada pode reunir essas cargas de trabalho no MongoDB. Uma base de dados compartilhada oferece suporte a experiências de cobrança em tempo real e fornece aos operadores uma visão consistente da atividade da estação e da sessão.
Dentro de uma única arquitetura de aplicação , a solução gerencia:
Descoberta e disponibilidade da estação.
Cobrança de reservas e sessões ativas.
Eventos operacionais e telemetria.
A abordagem usa o modelo de documento MongoDB para organizar dados em torno de padrões de acesso a aplicação , enquanto as queries geoespaciais suportam descoberta com reconhecimento de localização, atualizações condicionais ajudam a manter a disponibilidade precisa e os change streams conectam as alterações de estado operacional ao processamento downstream. A consolidação de dados operacionais em uma plataforma flexível permite que sua equipe crie aplicativos de cobrança conectados que se adaptam à medida que as redes, os requisitos de dados e as necessidades operacionais aumentam.
Gráfico 1. Visão geral da plataforma de dados que atende ao ecossistema de cobrança de EV
Arquiteturas de referência
A solução reúne experiências de motorista, operações de cobrança, simulação de estação e dados operacionais por meio de uma arquitetura de aplicativos unificada.
Gráfico 2. Arquitetura de demonstração de cobrança de EV
O aplicativo Next.js oferece duas experiências principais:
Aplicativo do driver: usado para descoberta de estações e gerenciamento de sessões de cobrança.
Centro de controle de operações: usado para monitorar a atividade de cobrança em tempo real e os dados operacionais.
O aplicativo se comunica bidirecionalmente com o Sistema de gerenciamento de estações de carregamento (CSMS), criado com o Apollo GraphQL. O CSMS fornece o contrato de aplicação para fluxos de trabalho de carregamento e conecta ações de aplicativo com operações de estação de carregamento. O aplicativo também se integra a serviços baseados em localização por meio do OpenStreetMap para dar suporte à descoberta de estações e a experiências com reconhecimento de localização.
Um simulador Python FastAPI representa a atividade da estação de carregamento e gera telemetria de sessão. Oschange streams do MongoDB capturam alterações de estado na sessão de cobrança do fluxo de trabalho do CSMS para simulador. O simulador usa esses eventos para:
Inicie ou pare de processar uma sessão de cobrança.
Calcule o estado de carregamento simulado.
Gerar telemetria de sessão.
O MongoDB fornece a plataforma de dados operacionais unificada em toda a arquitetura. Ele integra todos os dados necessários para a experiência de cobrança de ponta a ponta - do contexto do motorista e do veículo à infraestrutura de cobrança, atividade da sessão, eventos operacionais e telemetria de alto volume.
À medida que sua solução desenvolve, os recursos do MongoDB , como queries geoespaciais, coleções de séries temporais, Atlas Search e Online Archive, oferecem suporte a dados e padrões de acesso variados.
Abordagem do modelo de dados
O modelo de dados segue a forma como os aplicativos de carregamento EV realmente funcionam: os motoristas precisam de uma visão completa de uma sessão de carregamento, as pesquisas de estações precisam de localização e disponibilidade juntas, enquanto a telemetria precisa ser tratada como um fluxo de alto volume. O modelo de documento MongoDB permite moldar cada coleção em torno desses padrões de acesso específicos.
A solução usa as seguintes collections principais:
usersevehicles: armazenar informações do motorista e do veículo.chargingStationsechargingPoints: acompanhar a descoberta da estação e o estado do Sistema de Fornecimento de Automóveis (EVSE).chargingSessions: Gerencie agendamentos, sessões ativas e histórico de cobranças.incidents: acompanhar problemas operacionais.telemetry: Armazene dados de carregamento de alto volume.
O modelo de documento torna a solução intuitiva e fácil de implementar.
Por exemplo, a collection chargingSessions usa o Padrão de Referência Estendida para manter juntos os dados do histórico de sessões. Juntamente com referências ao veículo e à estação subjacentes, a sessão armazena pequenos instantâneos dos detalhes relevantes.
{ "status": "COMPLETED", "stationSnapshot": { "name": "Downtown Mall Charging", "addressShort": "Main St 10, Zurich", "chargingPointLabel": "Bay 1" }, "vehicleSnapshot": { "make": "BMW", "model": "i3" }, "charging": { "energyDeliveredKwh": 52.4 }, "pricingSnapshot": { "currency": "EUR", "priceCentsPerKwh": 55 }, "cost": { "totalCents": 2882 } }
Quando os motoristas visualizam o histórico de sessões, o aplicativo recupera essas informações de um único documento sem ingressar em várias collections. Os snapshots também preservam o contexto histórico da sessão, mesmo que os dados subjacentes da estação ou do veículo sejam alterados posteriormente.
O mesmo princípio simplifica a descoberta de estações. A coleção chargingStations armazena sua localização como GeoJSON, permitindo que as queries geoespaciais do MongoDB encontrem estações próximas à localização de um motorista. Ele também mantém contagens de disponibilidade computadas e uma projeção limitada de capacidades de ponto de carregamento, para que queries comuns de mapa e pesquisa possam ser respondidas diretamente do documento da estação.
{ "name": "Downtown Mall Charging", "location": { "type": "Point", "coordinates": [8.5417, 47.3769] }, "availability": { "availableNowPoints": 7 }, "chargingPoints": [ { "connectors": [ { "type": "CCS", "power": 150 }, { "type": "TYPE2", "power": 22 } ] } ] }
O estado operacional em constante mudança permanece na coleção chargingPoints separada para evitar a atualização dos documentos da estação sempre que o status de um ponto de carregamento mudar. Essa separação também mantém o modelo eficiente à medida que o volume de telemetria cresce.
A telemetria tem um padrão de acesso diferente: é de alto volume, baseada no tempo e em contínuo crescimento. A solução mantém a telemetria separada e usa uma coleção de séries temporais do MongoDB com um índice TTL para aplicar automaticamente as políticas de retenção. Para dados de duração mais longa, oMongoDB Online Archive move dados mais antigos para armazenamento de menor custo, fornecendo uma maneira nativa de gerenciar o ciclo de vida dos dados sem criar fluxos de trabalho de arquivamento separados.
{ "timestamp": "2026-02-12T08:11:58Z", "meta": { "stationId": "65c8f2e2d2f4c3a9b3b9b001", "chargingPointId": "65c8f2e2d2f4c3a9b3b9b101", "stationCode": "station-001", "chargingPointCode": "cp_station-001_01" }, "messageType": "SESSION_SAMPLE", "ok": true, "powerKw": 120, "energyKwhDelta": 0.4, "voltageV": 400, "currentA": 300, "temperatureC": 31.2 }
Esses padrões mantêm a implementação focado nos fluxos de trabalho reais do aplicativo, permitindo que cada tipo de dados seja dimensionado e evolua de forma independente. O resultado é um modelo prático de documento que reduz a complexidade do aplicativo sem sacrificar a flexibilidade.
Construir a solução
Para executar a solução localmente, complete as seguintes etapas:
Para obter as instruções completas de configuração, opções de desenvolvimento local, variáveis de ambiente e comandos adicionais, consulte o repositório do GitHub.
Principais Aprendizados
Unifique dados e operações de carga de VEs: consolide as experiências de motoristas, a infraestrutura de cobrança, os dados operacionais e a telemetria em uma única plataforma de dados operacionais para melhorar a visibilidade e simplificar a arquitetura.
Simplifique o desenvolvimento e a evolução: use o modelo de documento flexível e os padrões de esquema do MongoDB para criar e adaptar os fluxos de trabalho de cobrança à medida que os requisitos mudam.
Crie para disponibilidade e escala: Combine dados em tempo real, processamento orientado a eventos e recursos nativos do MongoDB para oferecer suporte a experiências de cobrança responsivas à medida que a infraestrutura e os volumes de dados crescem.
Amplie as operações com IA: use o contexto de estação, sessão, incidente e telemetria conectados como base para o suporte assistido por IA e os fluxos de trabalho de decisão operacional.
Autores
Rami Pinto, MongoDB
Humza Akhtar, MongoDB
Daniel Jamir, MongoDB