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.
Ako sa ChargeMeCar vzťahuje k platforme
Tri veci, ktoré stojí za to vedieť - kvôli transparentnosti, nie kvôli brožúre.
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.
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.
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.
Č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é.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.