目录
4.5、固件状态通知Firmware Status Notification-概述
Firmware Status Notification 消息
Firmware Status Notification 请求消息
Firmware Status Notification 响应消息
使用场景
举例
FirmwareStatusNotification 请求示例
处理 FirmwareStatusNotification 响应
示例代码
发送 FirmwareStatusNotification 请求
处理响应
可能的错误处理
总结
4.5、固件状态通知Firmware Status Notification-原文译文
4.5、固件状态通知Firmware Status Notification-概述
OCPP 1.6 协议的第 4.5 章节 "Firmware Status Notification" 主要讲述了充电站在固件更新过程中向中央系统报告固件状态的机制。固件状态通知(Firmware Status Notification)使得中央系统能够实时了解充电站固件更新的进展或结果,从而进行相应的后续操作或进行故障排查。
Firmware Status Notification 消息
FirmwareStatusNotification
消息用于通知中央系统固件更新的当前状态。这些状态有助于中央系统及时了解固件更新的阶段及是否成功。
Firmware Status Notification 请求消息
充电站发送 FirmwareStatusNotification
请求消息给中央系统以报告固件更新的状态。消息结构如下:
{ "status": "string" }
-
status
: 固件更新的当前状态。可能的状态值包括:-
Downloaded
:固件已经成功下载。 -
DownloadFailed
:固件下载失败。 -
Installing
:固件正在安装中。 -
InstallationFailed
:固件安装失败。 -
Installed
:固件已经成功安装。
-
Firmware Status Notification 响应消息
中央系统在接收到 FirmwareStatusNotification
请求后,会发送一个简单的响应消息来确认收到该通知。
响应消息的结构如下:
{}
这个响应消息不包含额外的字段,仅用于确认接收请求。
使用场景
固件状态通知消息在以下场景中非常有用:
-
固件下载完成:当新的固件成功下载到充电站后,充电站会发送状态为
Downloaded
的通知到中央系统。 -
固件下载失败:如果固件下载过程中出现错误,充电站会发送状态为
DownloadFailed
的通知到中央系统。 -
固件安装开始:固件下载完成后,充电站开始安装固件,此时会发送状态为
Installing
的通知到中央系统。 -
固件安装失败:如果安装过程中出现问题,充电站会发送状态为
InstallationFailed
的通知到中央系统。 -
固件安装成功:固件成功安装后,充电站会发送状态为
Installed
的通知到中央系统。
举例
以下是一个具体示例,展示了如何从充电站向中央系统发送 FirmwareStatusNotification
消息,并处理响应。
FirmwareStatusNotification 请求示例
假设当前固件状态为 Downloaded
,请求消息如下:
{ "status": "Downloaded" }
处理 FirmwareStatusNotification 响应
中央系统在接收到固件状态通知后,确认响应如下:
{}
示例代码
以下是示例代码,展示了如何发送和处理 FirmwareStatusNotification
消息。
发送 FirmwareStatusNotification
请求
const firmwareStatusRequest = { status: "Downloaded" }; // 假设 WebSocket 已连接到中央系统 webSocket.send(JSON.stringify({ action: "FirmwareStatusNotification", payload: firmwareStatusRequest })); webSocket.onmessage = (event) => { const response = JSON.parse(event.data); if (response.action === "FirmwareStatusNotification") { console.log("FirmwareStatusNotification response received"); } };
处理响应
webSocket.onmessage = (event) => { const response = JSON.parse(event.data); if (response.action === "FirmwareStatusNotification") { console.log("FirmwareStatusNotification response received: ", response); } };
可能的错误处理
在处理 FirmwareStatusNotification
消息时,可能会需要处理以下情况,并进行适当的操作:
-
固件下载失败:
-
将状态设置为
DownloadFailed
并发送通知消息。 -
可以记录日志或重试下载机制。
-
-
固件安装失败:
-
将状态设置为
InstallationFailed
并发送通知消息。 -
可以记录日志,可能需要手动干预重新安装。
-
总结
OCPP 1.6 协议的第 4.5 章 "Firmware Status Notification" 提供了一种机制,使得充电站可以向中央系统报告固件更新过程中的各种状态。这有助于中央系统及时掌握固件更新的进展情况,并可以在必要时采取相应的措施。通过 FirmwareStatusNotification
消息,充电站可以报告固件下载完成、下载失败、安装中、安装失败以及安装成功等状态,确保中央系统对充电站的固件更新过程有全面的掌握。
4.5、固件状态通知Firmware Status Notification-原文译文
充电桩发送通知以通知中央系统有关固件更新的进度。充电桩应发送 FirmwareStatusNotification.req PDU,以通知中央系统有关固件更新下载和安装的进度。当充电桩不忙于下载/安装固件时,仅在收到固件状态通知的 TriggerMessage 后才发送空闲状态。
收到 FirmwareStatusNotification.req PDU 后,中央系统应使用 FirmwareStatusNotification.conf 进行响应。
应发送 FirmwareStatusNotification.req PDU,以使中央系统更新更新过程的状态,更新过程由中央系统通过 FirmwareUpdate.req PDU 启动。