news 2026/6/9 21:14:50

米尔OCPP协议实战开发指南,赋能欧标充电桩市场

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
米尔OCPP协议实战开发指南,赋能欧标充电桩市场

随着全球电动汽车产业的迅猛发展,充电基础设施的智能化与标准化已成为行业迫切需求。OCPP(Open Charge Point Protocol即开放充电点协议)作为连接充电桩与中央管理系统的"通用语言",正成为解决设备互联互通难题的关键技术。

一、OCPP:为何是出海欧标的必选项?

OCPP是一个开放、标准的通信协议,它确保了不同制造商生产的充电桩能够与任何兼容的后台管理系统进行无缝通信。集成OCPP协议意味着为产品赋予“标准通信接口”,其核心价值在于:

  • 打破互联壁垒:使充电桩能接入任何符合OCPP标准的第三方运营平台,提升产品适配性;

  • 满足法规要求:满足欧盟对充电设施互操作性的强制法规,是市场准入的前提;

  • 解锁智能功能:支持远程控制、充电计费、状态监控与固件OTA,大幅减少上层应用开发量;

  • 降低集成成本:采用广泛认可的协议栈,避免私有协议带来的定制开发和长期维护成本。

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

针对资源受限的嵌入式环境,MicroOcpp提供了理想的OCPP协议栈实现,其主要优势包括:

  • 极低资源占用:采用C/C++编写,专为微控制器和嵌入式Linux优化;

  • 全面协议支持:完整兼容OCPP 1.6,并支持升级至2.0.1;

  • 模块化设计:可仅编译所需功能,最大化利用硬件资源;

  • 开发友好:提供清晰的API接口与丰富的示例,集成门槛低。

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

1、服务端环境搭建

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

xmr@ubuntu:~/MicroOCPP$ wget 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)

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

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)

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

充电枪可用状态

结语

随着全球充电桩市场标准化程度不断提高,OCPP协议支持已成为产品竞争力的关键要素。米尔基于MYC-YF13X平台提供的OCPP完整解决方案,不仅大幅降低了开发门槛,更确保了产品的标准符合性和市场适应性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 19:59:12

gemini :客户端初始化方法

gemini :客户端初始化方法 您提供的代码段是一个 Python 客户端初始化方法(很可能来自于 Google 针对其 AI 服务的 SDK,用于初始化连接到 Gemini/Vertex AI 服务的客户端对象)。 什么是 Vertex AI? Vertex AI 是 Google Cloud Platform (GCP) 提供的一个统一的机器学习 …

作者头像 李华
网站建设 2026/6/8 19:46:29

Jspreadsheet CE v4:如何在企业级应用中构建高效数据管理界面

在当今数字化转型的时代,企业面临着日益复杂的数据管理需求。Jspreadsheet CE v4作为一款轻量级的JavaScript电子表格插件,为企业级应用提供了强大的数据展示和交互能力。无论是CRM客户关系管理、企业资源规划系统,还是库存管理系统&#xff…

作者头像 李华
网站建设 2026/6/9 20:59:16

用cpolar告别局域网限制,PlaylistDL 让你的音乐库 “随身走”

文章目录 前言1.关于PlaylistDL音乐下载器2.Docker部署3.PlaylistDL简单使用4.群晖安装Cpolar工具5.创建PlaylistDL音乐下载器的公网地址6.配置固定公网地址总结 前言 PlaylistDL 主要用于从多个音乐平台下载音频资源,支持将歌曲按专辑、艺术家分类存储&#xff0c…

作者头像 李华
网站建设 2026/6/6 10:30:45

如何快速获取纯净音频:3种格式静音文件完整指南

如何快速获取纯净音频:3种格式静音文件完整指南 【免费下载链接】纯静音音频资源 纯静音音频资源本仓库提供了三种常用音频格式(MP3、OGG、WAV)的纯静音文件,每种格式的文件长度均为30秒 项目地址: https://gitcode.com/open-so…

作者头像 李华
网站建设 2026/6/6 22:39:29

为什么SFT之后仍需要RLHF?

为什么SFT之后仍需要RLHF? 学习大模型的过程中,我们常常会遇到Fine-Tuning相关的概念。SFT 是指监督微调,RLHF 是指基于人类反馈的强化学习,它们都是用于优化大语言模型的重要方法。 监督微调(SFT,Supervi…

作者头像 李华
网站建设 2026/6/7 23:12:08

常见问题整理总结

问题1:IIC为什么要用开漏模式?答:1. 实现总线的 “线与” 逻辑,支持多设备共享总线IIC 总线是半双工、多主多从的串行总线,SDA(数据线)和 SCL(时钟线)两条线需要被总线上…

作者头像 李华