你的位置:首页 > 电源管理 > 正文

嵌入式 OCPP 方案首选:MicroOcpp 的四大核心优势

发布时间:2025-12-11 来源:转载 责任编辑:lily

【导读】在新能源充电设施的快速普及下,不同品牌充电桩与管理平台间的通信兼容性成为行业痛点。OCPP(Open Charge Point Protocol)作为开放标准的通信协议,为这一问题提供了完美解决方案。它为充电桩赋予标准化通信接口,成为连接硬件设备与管理系统的“通用语言”,其核心价值已在行业应用中得到充分验证。


一、OCPP协议:破解充电桩通信困局的核心支撑

OCPP协议的核心价值在于构建标准化通信体系,打破行业发展中的各类壁垒,具体体现在四个关键维度:


打破互联壁垒:使单一充电桩可无缝接入任何符合OCPP标准的第三方运营平台,大幅提升产品市场适配能力,为设备跨平台应用提供可能。


满足法规要求:支持OCPP协议成为产品进入这些市场的“准入凭证”,是企业拓展国际业务的必要条件。


解锁智能功能:协议原生支持远程控制、精准充电计费、设备状态实时监控及固件OTA升级等智能功能,上层应用无需重复开发核心通信模块,显著降低开发成本与周期。


降低集成成本:OCPP作为广泛认可的标准协议栈,可避免定制化开发带来的高额成本,同时减少长期维护中的兼容性问题,降低全生命周期成本。


二、MicroOcpp:专为嵌入式设备优化的轻量级方案

极致资源优化:采用C/C++语言开发,针对微控制器(MCU)和嵌入式Linux系统进行深度优化。


全面协议兼容:完整支持OCPP 1.6版本协议,同时预留2.0.1版本升级路径,可满足不同地区、不同场景的协议需求。


高度模块化设计:采用模块化架构,开发者可根据实际需求选择性编译功能模块,最大化利用有限的硬件资源。


低门槛开发体验:提供清晰易懂的API接口及丰富的开发示例,即使是嵌入式开发新手也能快速上手。


三、部署实践:从零构建OCPP通信系统

1、服务端环境搭建


使用Docker容器快速部署SteVe OCPP服务器,SteVe作为开源中央管理系统,提供了完整的充电桩管理能力,包括WebSocket通信维护、充电状态监控、远程控制指令下发等功能。

xmr@ubuntu:~/MicroOCPP$ wget https://github.com/steve-community/steve/archive/steve-3.6.1.tar.gz

xmr@ubuntu:~/MicroOCPP$ tar -xzvf steve-3.6.1.tar.gz

xmr@ubuntu:~/MicroOCPP$ cd steve-steve-3.6.1

xmr@ubuntu:~/MicroOCPP/steve-steve-3.6.1$ ls

docker-compose.yml  k8s     LICENSE.txt  mvnw.cmd  README.md

Dockerfile    LICENSE-HEADER.txt  mvnw   pom.xml  src   website


2、客户端部署关键步骤

在MYD-YF13X平台部署MicroOcpp客户端的过程中,我们充分利用了平台提供的Linux 6.6.78系统环境。首先交叉编译MicroOcpp源码库,生成针对ARM架构的优化可执行文件。随后配置GPIO引脚模拟充电枪连接状态:使用两个GPIO口分别代表两个充电接口的状态检测。

xmr@ubuntu:~$ mkdir MicroOCPP

xmr@ubuntu:~$ cd MicroOCPP

xmr@ubuntu:~/MicroOCPP$ git clone --recurse-submodules https://github.com/MYiR-Dev/Ocpp_Mongoose_demo.git -b myd-yf13x 

xmr@ubuntu:~/MicroOCPP$ cd Ocpp_Mongoose_demo

xmr@ubuntu:~/MicroOCPP/Ocpp_Mongoose_demo$ tree -L 2

├── CMakeLists.txt

├── external

│   ├── ArduinoJson

│   ├── MicroOcpp

│   ├── MicroOcppMongoose

│   └── mongoose

├── include

│   └── hardware.h

├── libs

└── src

    ├── hardware.c

    └── main.c


3、服务端与客户端通信建立

部署完成后,客户端成功与SteVe服务器建立WebSocket连接:

root@myd-yf13x:~/Microocpp# export LD_LIBRARY_PATH=/home/root/Microocpp/lib

root@myd-yf13x:~/Microocpp# ./yf13x_ocpp_client &

oot@myd-yf13x:~/Microocpp# Starting MicroOcpp on STM32MP135P...

GPIO PC13 already exported.

GPIO PI7 already exported.

PC13 and PI7 simulate evse connecto

[MO] info (MicroOcpp.cpp:379): initialized MicroOcpp v1.2.0 running OCPP 1.6.0

OCPP client initialized. Entering main loop...

[MO] warning (MicroOcppMongooseClient.cpp:707): Insecure connection (WS)

[MO] info (MicroOcppMongooseClient.cpp:711): connection ws://192.168.40.187:8180/steve/websocket/CentralSystemService/stm32mp1-charger1 -- connected!

[MO] info (BootNotification.cpp:92): request has been Accepted

[MO] info (StatusNotification.cpp:52): New status: Available (connectorId 0)

[MO] info (StatusNotification.cpp:52): New status: Available (connectorId 1)

[MO] info (StatusNotification.cpp:52): New status: Available (connectorId 2)


服务端管理界面将实时显示新上线的充电桩,证明底层链路与协议交互正常。


1765423798750333.png


4、状态上报功能验证


通过操作GPIO电平变化模拟充电枪插拔过程,我们观察到客户端实时向服务器上报状态变更。

root@myd-yf13x:~/Microocpp# echo 0 > /sys/class/gpio/PI7/value

root@myd-yf13x:~/Microocpp# [MO] info (StatusNotification.cpp:52): New status: Available (connectorId 2

root@myd-yf13x:~/Microocpp# echo 0 > /sys/class/gpio/PC13/value

root@myd-yf13x:~/Microocpp# [MO] info (StatusNotification.cpp:52): New status: Available (connectorId 1)


服务器界面同步更新连接器状态,证明整个通信链路工作正常。


1765423815508027.png

充电枪可用状态


次实践基于MYD-YF13X平台与MicroOcpp方案,成功构建了符合OCPP标准的充电桩通信系统,验证了MicroOcpp在嵌入式场景的适用性与可靠性。通过标准化协议的引入,不仅解决了设备与平台的兼容性问题,还为充电桩的智能化升级提供了高效路径。


随着OCPP 2.0.1协议的普及,可进一步基于现有架构实现充电会话安全性提升、智能电网互动等高级功能。而MicroOcpp的轻量级优势,也将使其在更多资源受限的物联网设备通信场景中发挥重要作用,推动新能源充电行业的标准化与智能化发展。



特别推荐
技术文章更多>>
技术白皮书下载更多>>
热门搜索

关闭

 

关闭