直流充电桩 4G 联网调试笔记:从 AT 指令到 OCPP 对接的坑
做直流充电桩的同行都知道,桩本身硬件成熟度已经很高了 —— 功率模块、枪线、主控板都是标准件。真正把一套桩卖给运营方,联网稳定性才是决定项目能不能交付的关键。最近我们给一个 60kW 直流桩项目做通信方案,记录几个典型坑。

一、通信方案选型
先交代一下方案:
-
主控:ARM Linux 工控板,跑 Python + OCPP 客户端;
-
通信模组:移远 EC600N,4G Cat.1,双卡双待;
-
车桩协议:GB/T 27930-2015,CAN 总线跟车交互;
-
桩云协议:OCPP 1.6 over WebSocket,连运营方的云端;
-
本地缓存:SQLite,断网时订单先落本地,恢复后补传。
为什么不用 NB-IoT?很简单 ——远程启停指令对时延敏感。用户扫码那一刻,期望 1 秒内枪就通电。NB-IoT 的 PSM 模式下,模组可能睡在网络里几十分钟,醒过来再收到指令,用户早跑了。
二、踩过的 5 个坑
坑 1:地下车库 RSSI 不够,天线必须外引
直流桩很多装在地下车库。第一次现场测试,工控板上的 PCB 天线 RSSI -105dBm,WebSocket 心跳 30 秒一次,根本连不上 OCPP server。
解决方案:把 4G 模组天线用同轴线外引,装到桩体顶部露出地面的位置。改完之后 RSSI -80dBm,OCPP 长连接稳定保持。地下车库做充电桩项目,第一件事就是测信号,不要相信工控板自带天线。
坑 2:APN 配错,只能上内网不能上公网
交付测试的时候,桩能注册网络、能 ping 通运营商内网网关,但就是连不上运营方的公网 OCPP 服务器。排查半天发现:这批卡走的是运营商物联网专网 APN,只能访问签约的内网 IP,公网默认不通。
找卡商改 APN 成 "公网 APN" 之后立刻通。这个坑告诉我们:做充电桩这种要连公网云平台的项目,买卡的时候就要明确 "公网 APN",不要等到现场再返工。
坑 3:计费数据丢了 = 赔钱
直流桩一次充电几十块钱,订单数据丢一笔就是一笔钱。我们一开始 OCPP 消息直接发,断网就丢。后来改成:
-
本地 SQLite 先记订单流水;
-
OCPP 确认收到才标记为 "已上传";
-
网络恢复后,把所有未确认的订单按时间顺序补传;
-
云端做幂等校验,避免重复扣费。
这套机制写完之后,断网测试 2 小时,恢复后订单一笔不丢。
坑 4:动态 IP 频繁变,WebSocket 老断
4G 物联卡是运营商内网 NAT 出来的动态 IP,过几小时 IP 会变。一开始我们的 OCPP 客户端没做心跳保活,云端那边 TCP 连接被 NAT 表项超时清掉,桩这边还以为连着,结果下一条指令发过来就丢了。
解决方案:OCPP 标准本身自带 Heartbeat 心跳消息,我们把心跳间隔设成 60 秒,主动保活 NAT 表项,同时加一个 "连续 3 次心跳无响应就主动断开重连" 的兜底。改完之后长连接可以稳定保持几天不断。
坑 5:远程启停指令不能丢
用户扫码那一刻,APP 给云端发 "启动",云端给桩下发 RemoteStartRequest。这个消息如果因为网络抖动丢了,用户就要重新扫码,体验很差。
OCPP 协议本身有消息确认机制,但要在应用层做指令重发:云端发完指令 3 秒没收到桩的 conf,自动重发一次;连续 3 次失败,APP 提示用户 "网络异常,请重试"。这个逻辑不复杂,但不做的话,现场投诉会很多。
三、写在最后
直流充电桩这个行业,硬件越来越同质化,真正拉开差距的是后台那一套:联网稳不稳、订单准不准、远程控制灵不灵。而这一切的底子,都是每一台桩里那张 4G 物联网卡。卡稳,桩才稳;桩稳,运营方才敢大规模铺。
关于我们
北京乐讯通科技有限公司始创于 2019 年,持有工信部增值电信业务许可证(许可证编号:B2-20202271),通过 ISO9001 质量体系认证。公司深耕企业通信领域,主营短信平台与物联网卡两大核心业务,面向新能源充电、智慧市政、工业物联网等对在线率要求较高的场景,提供安全、稳定、可批量管理的蜂窝联网底座。官网:www.loktong.com。

浙公网安备 33010602011771号