Platforma za ChargeMeCar

Apostol CSMS — motor, ktorý poháňa ChargeMeCar

ChargeMeCar je retailová služba na Apostol CSMS: platforme na správu nabíjacích staníc s tromi verziami OCPP, roamingom OCPI, platbami cez Stripe Connect a niekoľkými nezávislými operátormi na jednej inštancii. Táto stránka hovorí na rovinu, čo je v produkcii, čo je hotové a čo je zatiaľ v pláne.

OCPP 1.5 / 1.6 / 2.0.1OCPI 2.2.1 + 2.3.0Stripe ConnectAd hoc platba podľa AFIRViac operátorov, jedna inštanciaOtvorené jadro
Ako to súvisí

Ako sa ChargeMeCar vzťahuje k platforme

Tri veci, ktoré stojí za to vedieť - kvôli transparentnosti, nie kvôli brožúre.

1

Rovnaký motor, žiadny fork

ChargeMeCar beží na rovnakom zostavení softvéru ako každá iná značka na platforme, pod kryptograficky podpísanou licenciou značky. Vydania platformy k nemu prichádzajú rovnako ako ku všetkým: jeden príkaz aktualizácie, kontroly zdravia, rollback rovnakého tvaru.

2

Prevádzkovo nezávislý

Náš účet Stripe, naša infraštruktúra, naša právnická osoba - FROG IT SARL, Nice. Vlastník platformy ChargeMeCar neprevádzkuje a nemôže siahnuť na jeho peniaze: platby sa strhávajú na účtoch Stripe majiteľov staníc a dáta značky sú šifrované kľúčom vlastným značke.

3

Otvorený základ, dokumentované jadro

Platforma stojí na otvorenom základe zverejnenom pod slobodnou licenciou na GitHube: transportnom frameworku a platformovej vrstve v PostgreSQL. To, čo značka kupuje alebo licencuje, je doménová vrstva nabíjania nad ním - a jadro, od ktorého závisí, si môže prečítať ktokoľvek.

Možnosti

Čo platforma vie - s poctivým stavom každého riadku

Tri úrovne, zámerne oddelené: v produkcii - beží na živých staniciach so skutočnými peniazmi; hotové - implementované a pokryté testami a simulátorom staníc, ale zatiaľ bez produkčného objemu; v pláne - na roadmape, nedodané.

V produkciiHotovéČiastočneV pláne

Stanice

  • OCPP 1.6 - hlavný protokol platformy; každá stanica, ktorá ním hovorí, sa pripojí bez úpravV produkcii
  • OCPP 2.0.1 - 12 zo 16 funkčných blokov kompletne, 4 čiastočneHotové
  • OCPP 1.5 - staršie parkyHotové
  • Zmiešaný park: verzia sa rozpozná automaticky, príkazy sa prekladajú medzi formátmiHotové
  • Pripojenie svojpomocne majiteľom - asi 15 minút; stanica sa registruje pri prvom nadviazaní spojeniaV produkcii
  • Vzdialený štart, stop, odomknutie kábla, reštart, zapnutie a vyradenie - z portálu, aplikácie pre vodičov alebo cez QRV produkcii
  • Aktualizácie firmvéru z odkazu alebo z knižnice súborov platformy; log bezpečnostných udalostí staniceHotové
  • Hromadné operácie nad parkom, hierarchia lokalít (región → mesto → lokalita → zóna)V pláne

Tarify a peniaze

  • Päť účtovateľných služieb: za kWh, za minútu nabíjania, státie po skončení, rezervácia, pauzaV produkcii
  • Tarify podľa rozvrhu: deň v týždni, hodina, deň/nocHotové
  • Stripe a Stripe Connect: priame stiahnutie na účte majiteľa stanice, doklady na meno majiteľa, vráteniaHotové
  • Ad hoc platba QR kódom bez registrácie - požiadavka EÚ AFIR; otestované end-to-end proti skutočnému StripeHotové
  • Poplatok platformy zadržaný z každej platby; mesačný rozpísaný výpis majiteľoviV produkcii
  • Predplatený zostatok organizácie, účtovanie za nabíjanie a kWh pre vlastné flotilyV produkcii
  • Podvojné účtovníctvo na interných účtoch - súčty sedia z princípuV produkcii
  • Dynamické ceny (podľa dopytu, podľa ceny elektriny)V pláne

Operátori a vodiči

  • Viac nezávislých operátorov na jednej inštancii, každý vidí len svojeV produkcii
  • Roly: vlastník, administrátor, operátor, inžinier, podpora, vodič, partnerV produkcii
  • Partneri - podsieť vnútri operátora, s evidenciou výnosovHotové
  • Webová aplikácia pre vodičov: mapa s filtrami, štart a stop, priebeh nabíjania, história, uložené karty, RFID, rezervácie - osem jazykovV produkcii
  • Notifikácie: push, e-mail, v aplikácii; hromadné správyHotové
  • AI asistent podpory v aplikácii pre vodičov, konajúci prísne v právach vodičaHotové
  • Natívne aplikácie v App Store a Google PlayV pláne

Roaming a integrácie

  • OCPI 2.2.1 a 2.3.0 súčasne, v oboch rolách: prevádzkovateľ nabíjacích bodov aj poskytovateľ služieb mobilityHotové
  • Publikácia staníc, taríf, nabíjaní a zúčtovacích záznamov partnerskej sieti cez hub - prešla živou výmenouV produkcii
  • Príjem tokenov a príkazov partnera v živej výmeneČiastočne
  • Zmluvy s Hubject a Gireve - obchodný krok operátora; technický predpoklad je splnenýV pláne
  • Otvorené REST API - stovky metód so špecifikáciou OpenAPI, udalosti v reálnom čase, webhookyV produkcii
  • Konektory pre účtovníctvo a ERPV pláne

Prevádzka a bezpečnosť

  • Prehľad operátora: stanice podľa stavu, energia, výnosy, vyťaženie, alarmy; konzola incidentov so živým prúdom udalostíV produkcii
  • Dodávka v kontajneroch; inštalácia, aktualizácia bez výpadku a rollback - štyri nasadenia na jednej pipelineV produkcii
  • Prihlásenie OAuth 2.0 vrátane Googlu; ochrana relácie prehliadača; tri nezávislé úrovne riadenia prístupu; auditné denníkyV produkcii
  • Export reportov do Excelu/CSV, tvorca reportov, metriky vyťaženia a dostupnostiV pláne
  • Externý monitoring a upozornenia, záloha k bodu v časeV pláne
  • ISO 15118 Plug & Charge, vzájomné certifikátyV pláne
Protokoly

Otvorené štandardy, žiadna závislosť od dodávateľa

Platforma hovorí protokolmi, ktoré používa každá moderná nabíjacia sieť - OCPP smerom k hardvéru, OCPI smerom k ostatným sieťam. Funguje každá stanica kompatibilná s OCPP, nech ju vyrobil ktokoľvek.

OCPP - tri verzie, jeden runtime

  • OCPP 1.5 (SOAP)

    Kompatibilita so starším zariadením, ktoré je stále v prevádzke.

  • OCPP 1.6 (JSON / WebSocket)

    Hlavný protokol platformy: stanica, ktorá ním hovorí, sa pripojí bez úprav.

  • OCPP 2.0.1

    Trojvrstvový model Stanica → EVSE → Konektor, perzistentný model zariadenia, bezpečnostné udalosti, správa firmvéru. 12 zo 16 funkčných blokov kompletne.

Verzia sa rozpozná pri pripojení. Príkazy z portálu sa prekladajú 1.6 ↔ 2.0.1, takže zmiešaný park sa spravuje v jednom rozhraní.

OCPI - roaming s oboma aktívnymi verziami

  • Rola CPO

    Sprístupňuje stanice, tarify a nabíjania značky partnerským sieťam - publikácia cez hub prešla živou výmenou.

  • Rola eMSP

    Prijíma tokeny vodičov partnerov a príkazy vzdialeného štartu rovnakým kanálom - implementované a otestované, v živej výmene zatiaľ nepreukázané.

Neutrálna k hardvéru už z návrhu

Akákoľvek stanica OCPP 1.5 / 1.6 / 2.0.1 - aj konkurenčná. Zmiešaný park sa zlúči do jedného portálu bez preflashovania: adresa servera OCPP sa mení vo vlastnom webovom rozhraní stanice.

Platby a súlad s predpismi

Postavené okolo regulačného rámca EÚ

Priame stiahnutia Stripe Connect na účet majiteľa stanice, ad hoc platba QR kódom pre AFIR, silné overenie zákazníka podľa PSD2, GDPR v dátovej vrstve.

Stripe Connect

«Pripojiť cez Stripe» z portálu - váš vlastný účet Stripe, z akejkoľvek krajiny; priame stiahnutia na účte majiteľa; doklad sa vystavuje z účtu majiteľa na jeho meno; poplatok platformy sa zadrží z každej platby, s mesačným výpisom pre účtovníctvo; vrátenia rovnakým kanálom.

AFIR - ad hoc platba

Verejne prístupné body musia prijímať platbu od akéhokoľvek vodiča bez zmluvy či aplikácie: vodič naskenuje QR kód na stanici, vidí tarifu, zaplatí kartou a nabíja. Implementované a otestované end-to-end proti skutočnému Stripe.

PSD2 / 3-D Secure

Silné overenie zákazníka pri európskych kartách vynucuje Stripe; žiadna platobná cesta ho neobchádza.

GDPR

Dáta zostávajú v EÚ, vodič si môže zmazať účet z aplikácie, súhlasy sa evidujú, každá akcia zanecháva auditnú stopu.

Architektúra

Tenký transport, logika v databáze

Dve vrstvy v jadre: transport s jednou slučkou napísaný v modernom C++ - HTTP, WebSocket, TLS, OCPP - a biznis logika napísaná priamo v PostgreSQL. Zámerné inžinierske rozhodnutie, s uvedenými argumentmi.

Jedna slučka udalostí pre HTTP aj PostgreSQL

Databázové spojenia žijú v rovnakej slučke udalostí ako spojenia HTTP a WebSocket: požiadavka je jedna cesta do databázy, jedna transakcia. Desaťtisíce staníc držia trvalé spojenia k jedinému uzlu so stabilnou latenciou.

Integrita peňazí z princípu

Výpočet ceny, kontrola zostatku, ochrana proti dvojitému minutiu a fakturácia bežia v jednej databázovej transakcii - atomicitu zaručuje PostgreSQL, nie aplikačný kód. Dokončené nabíjanie so stratenou faktúrou alebo dvojité stiahnutie pri súbežných požiadavkách je vylúčené návrhom.

Licencia a manifest značky

Značka beží pod kryptograficky podpísanou licenciou - názov, právnická osoba, trh, doména, daňové údaje - ktorú nemožno znovu vydať bez vlastníka platformy. Vzhľad, poskytovateľ platieb, jazyk, mena a mapy žijú v manifeste značky, ktorý sa upravuje v portáli a aplikuje bez nového zostavenia.

Otvorený základ

Transportný framework a platformová vrstva v PostgreSQL sú zverejnené pod slobodnou licenciou na GitHube; doménová vrstva nabíjania nad nimi je produkt. Dodávka je Docker Compose na vlastnom serveri značky, s databázou nedostupnou z vonkajšieho sieťového segmentu.

Roadmapa

Kde platforma zaostáva za enterprise lídrami - a hovorí to

Nič z toho nebráni prevádzkovať a zarábať už dnes; všetko je plánovaná práca.

V pláne

ISO 15118 Plug & Charge

Auto sa autorizuje samo, bez karty či aplikácie. Dôležité pre prémiové DC flotily a súčasť niektorých národných dotačných programov.

V pláne

Natívne mobilné aplikácie

Vodiči používajú webovú aplikáciu, ktorá sa nainštaluje do telefónu jedným ťuknutím; prítomnosť v App Store a Google Play je ďalší krok.

V pláne

Vyvažovanie záťaže na úrovni lokality

Výkonové profily sa odovzdávajú stanici a ukladajú; rozdeľovanie výkonu medzi stanice jednej lokality a reakcia na špičky v sieti sú v pláne.

V pláne

Prevádzka parku vo veľkom

Hromadné operácie s firmvérom a nastavením, hierarchia lokalít, export reportov a tvorca reportov - to, čo žiada operátor s päťdesiatimi a viac stanicami.

V pláne

Roamingové huby

Polovica eMSP v OCPI v živej výmene a zmluvy s Hubject a Gireve.

Chcete platformu pod vlastnou značkou?

Nová značka sa nasadí na pripravený server za pár minút - s vlastnou doménou, právnickou osobou, poskytovateľom platieb a vzhľadom. Výrobcovia a operátori: white-label program je na ďalšej stránke.