ما هو OCA؟

OCA هو اختصار لـ Open Charging Alliance، وتم الإعلان عن النسخة الأولى من معيار OCPP في عام 2009. وكان الغرض من OCA هو إنشاء معيار نظام لمحطات شحن المركبات الكهربائية.
منذ تطبيقه، حظي باعتراف واسع في قطاع المركبات الكهربائية. أحدث إصدار هو OCPP 2.0. مع ذلك، تجدر الإشارة إلى أن OCPP يحظى باعتراف واسع النطاق فقط، ولم يُعتمد كمعيار رسمي من قِبل أي منظمة معايير وطنية أو دولية.
ما هو OCPP؟
OCPP هو بروتوكول شحن مفتوح المصدر، ما يتيح لمصنعي أعمدة شحن المركبات الكهربائية استخدامه دون أي شروط. يهدف OCPP بشكل أساسي إلى تسهيل الربط بين محطات شحن المركبات الكهربائية والخوادم البعيدة، مما يسمح للخادم البعيد بالتحكم الدقيق في مختلف وظائف محطات شحن المركبات الكهربائية. بالإضافة إلى ذلك، يتيح OCPP لمصنعي أعمدة الشحن التبديل بحرية بين الخوادم البعيدة والاستفادة من خدمات مختلف مزودي الشبكات.

مبدأ عمل OCPP
يتم تنفيذ مبدأ عمل OCPP من خلال عمليات متعددة في آنٍ واحد، وتختلف الإصدارات المختلفة اختلافًا طفيفًا. سنتحدث هنا بإيجاز عن مبادئ عملها، والتي يمكن تقسيمها إلى النقاط التالية:
الاتصال ثنائي الاتجاه
يستخدم OCPP بروتوكول WebSocket للتواصل، مما يسمح لمنصة شحن المركبات الكهربائية (العميل) ونظام الإدارة المركزي (الخادم) بإرسال واستقبال المعلومات. وهذا هو المبدأ نفسه الذي نستخدمه عند استخدام برامج التواصل الاجتماعي للدردشة.
بهذه الطريقة، يمكننا الحصول على معلومات في الوقت الفعلي حول حالة الشحن، والطاقة المستهلكة، وعدد مرات الشحن، وما إلى ذلك من كومة الشحن على كومة الشحن.
نظام التنسيق
يحتوي نظام OCPP أيضًا على رابط للحفاظ على تفاعل المعلومات مع شبكة الكهرباء. من خلال تنسيق الحمل والطاقة والتيار في شبكة الكهرباء، يمكن التحكم بمرونة في وقت الشحن وطاقة الخرج، وهي ميزة الشحن الذكي التي توفرها العديد من البرامج.
الإدارة والتحكم عن بعد
بإرسال المعلومات إلى تطبيقنا بشكل متزامن عبر الخادم، يُمكننا معرفة حالة الشحن المُحددة. وفي الوقت نفسه، يُمكننا إرسال التعليمات إلى OCPP عبر الخادم على التطبيق لاختيار معلومات مثل طاقة الخرج ومدة الشحن. وإذا أردنا إدارة أكوام الشحن والتحكم فيها بشكل مُوحد، يُمكننا تحقيق ذلك أيضًا عبر الخادم.
حماية
بما أن بروتوكول OCPP يستخدم تشفير TLS/SSL، فإنه حتى في حال اعتراضه بواسطة أحصنة طروادة أو وسيط (تقنية اختراق)، لا يمكن الحصول على أي معلومات بداخله. وهذا يضمن أمان البيانات وموثوقيتها أثناء النقل.

تاريخ OCPP
- تم إصدار OCPP 1.0 في عام 2010، والذي أنشأ وظائف الاتصال الأساسية.
- تم إصدار OCPP 1.2 في عام 2012. واستنادًا إلى الإصدار 1.0، أضافت هذه النسخة إدارة جلسة الشحن الأساسية وإدارة الأجهزة والوظائف الأخرى.
- تم إصدار OCPP 1.5 في عام 2013. وقد أدى هذا الإصدار إلى تحسين توافق النظام وموثوقيته، كما عزز مرونة وقابلية توسع نقل الرسائل.
- أُطلق بروتوكول OCPP الإصدار 1.6 عام 2015. يُعد هذا البروتوكول تحديثًا رئيسيًا، ويتضمن وظائف مثل الشحن الذكي والتشخيص عن بُعد وتشفير الرسائل، ويدعم بروتوكول WebSocket.
- تم إصدار OCPP 2.0 في عام 2018. وقد خضع هذا الإصدار لإصلاحات كبيرة، ليس فقط لتحسين الأمان، ولكن أيضًا لإجراء تحسينات في إدارة الطاقة والشحن الذكي، بما في ذلك دعم الفواتير والتشخيصات المعقدة.
- تم إصدار OCPP 2.0.1 في عام 2020، وهو أحدث إصدار. بناءً على الوظائف السابقة، يُمكنه تحقيق وظائف التوصيل والتشغيل من خلال التكامل مع ISO 15118، ويدعم المصادقة التلقائية للمركبات. بالإضافة إلى ذلك، يدعم أيضًا التوصيل من المركبة إلى الشبكة (V2G) ويُحقق الشحن ثنائي الاتجاه.
الفرق بين OCPP 1.6 و OCPP 2.0
يُعدّ إصدار OCPP 1.6 الإصدار الأكثر شيوعًا في النشر التجاري. وغالبًا ما يُقارن بأحدث إصدار من OCPP 2.0. وهو أيضًا سؤالٌ يُثير قلق العديد من القراء. بعد مراجعة العديد من المراجع، نُدرج بعضًا من أهمّ الاختلافات للمقارنة.
تعريف العمارة والرسالة
OCPP 1.6: يعتمد تعريف الرسائل المركزي، وبنيته بسيطة نسبيًا. طريقة إرسال الرسائل ثابتة نسبيًا، ولا يمكن توسيعها بفعالية.
OCPP 2.0: ويتبنى نهجًا لامركزيًا ويسمح بإضافات مخصصة، مما يجعله أكثر مرونة في تلبية احتياجات المستخدمين المحددة ويمكنه التكيف بشكل أفضل مع سيناريوهات الأعمال المختلفة والتغييرات المستقبلية.
حماية
OCPP 1.6: يُستخدم تشفير TLS لضمان أمان الاتصالات. ورغم أن مستوى الأمان مرتفع نسبيًا، إلا أن استخدام المهاجم لتقنية تزوير الهوية لا يزال ينطوي على خطر تسرب البيانات.
OCPP 2.0: تم تعزيز الأمان. بالاعتماد على تشفير TLS، أُضيفت مصادقة المستخدم OAuth 2.0/OpenID Connect لمنع المهاجمين من تزوير معلومات الهوية، مما يضمن نقل البيانات بأمان.
وظيفة الشحن الذكي
OCPP 1.6: أول من قدم وظيفة الشحن الذكي، والتي يمكنها ضبط طاقة الشحن وفقًا لحمل شبكة الطاقة، وبالتالي تحقيق وظائف مثل موازنة الحمل، ولكن الوظيفة الإجمالية محدودة نسبيًا.
OCPP 2.0: يقوم بتوسيع وظيفة الشحن الذكي بشكل أكبر ويدعم معيار ISO 15118 بشكل كامل، مما يحقق العديد من الوظائف التي لا يمتلكها OCPP1.6، مثل التوصيل والتشغيل، وقيمة القياس، وجدول الشحن، وقائمة التفويض المحلية، وما إلى ذلك، ويدعم أيضًا تدفق الطاقة ثنائي الاتجاه V2G لتحسين استخدام الطاقة.
تغييرات بروتوكول الاتصال
OCPP 1.6: يتم نقل البيانات بشكل رئيسي عبر بروتوكول SOAP/HTTP أو WebSocket+JSON محدود. في بعض بيئات الشبكات المعقدة، قد تحدث اختناقات في الأداء.
OCPP 2.0: لم يعد بروتوكول SOAP مدعومًا، ولكن تم تحويله بالكامل إلى الاتصال المستند إلى JSON، مما يقلل من كمية نقل البيانات ويحسن كفاءة النقل.
التوافق مع الإصدارات السابقة
OCPP 1.6: باعتباره إصدارًا سابقًا، فهو متوافق تمامًا مع جميع الإصدارات بينهما.
OCPP 2.0: لم يعد متوافقًا مع الإصدارات الأقدم من OCPP 1.6، مما يعني أن الأجهزة التي تستخدم OCPP 1.6 قد لا تتمكن من الاتصال مباشرة بأنظمة OCPP 2.0.
ملخص
على الرغم من أن OCPP 2.0 يتفوق على OCPP1.6 بكثير من جميع النواحي، إلا أن مشاكل توافقه تُسبب تكاليف استبدال باهظة. لذلك، لا يزال بروتوكول التطبيق السائد الحالي يعتمد على OCPP1.6.