电单车TCP通讯协议对接phpworkerman

出厂参数:
心跳30秒(固定)上报一次
充电功率5分钟上报一次
单路最高功率1000w
启动充电自检时间10秒,自检功率小于10w(固定)
插头掉落时间10秒,插头掉落功率小于10w(固定)
充满自停功率30w浮充60分钟上报充满
刷卡禁用时间、刷卡网络超时时间均为自检时间
离线持续1800秒(固定)断开所有继电器
备注:
信号1~31
刷卡流程:

一.协议基本格式
发送方:
长度(Byte) 名称 描述
1 包头低位 0x55
1 包头高位 0xaa
1 长度低位 长度包含包头信息
1 长度高位
1 命令字 命令标识
n 命令内容 命令的长 度由具体的通讯命令而定
1 CRC 从包头到命令内容(包含命令内容)的所有数据的累加和取低字节
回复方:
长度(Byte) 名称 描述
1 包头低位 0x55
1 包头高位 0xaa
1 长度低位 长度包含包头信息
1 长度高位
1 回复命令标识 0x66
1 命令字
n 命令内容 命令的长 度由具体的通讯命令而定
1 CRC 从包头到命令内容(包含命令内容)的所有数据的累加和取低字节
0x06 主板程序远程升级
a. 命令字
0x06
b. 命令内容
1.发送方-(服务器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
2 升级包总数 BIN(低位在前)
2 当前升级包数 从1开始(低位在前)
4 当前升级包的CRC校验 HEX(低位在前)
512 当前包的数据 HEX
2.回复方-(中继器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x06
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
2 升级包总数 BIN(低位在前)
2 当前升级包数 从1开始
0x07 主板程序远程升级结果
a. 命令字
0x07
b. 命令内容
1.发送方-(中继器)
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
1 升级结果 0成功1失败
2.回复方-(服务器)
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x07
1 命令返回码 0,成功,非零代表通讯错误
1 软件程序版本号 如0x01表示V1.0(以升级包内版本号为主)
0x10 桩登录
a.命令字
0x10
b.命令内容
1.命令发送-中继器
长度(Byte) 内容 描述
11 终端设备ID 详见前言
1 中继器硬件版本 如0x01表示V1.0
1 中继器程序版本 如0x01表示V1.0
2.命令回复-服务器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x10
1 命令返回代码 命令返回代码,非零即被服务器断开连接
4 设备保持在线时间 0立即断线
0XFFFFFFFF永远在线,
其他服务器要求DTU在线时间,
0x15 桩心跳包
a. 命令字
0x15
b.命令内容
1.发送方-中继器
长度(Byte) 内容 描述
11 终端设备ID ASCII码
1 桩信号强度 BIN码
2.回复方-服务器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x15
1 命令返回码 0,成功,非零代表通讯错误
1 下次心跳包发送时间间隔 以秒为单位,超时周期为3,3次收不到,重新登录(废弃)
0x16 读取sim卡
a.命令字
0x16
b.命令内容
1.发送方-服务器
长度(Byte) 内容 描述
0 空
2.回复方-中继器
长度(Byte) 内容 描述
1 命令字 回复的命令字 0x16
1 命令返回码 0,成功,非零代表通讯错误
11 终端设备ID 详见前言
32 中继器状态信息:
集成电路卡识别码即SIM卡卡号ICCID 字符串,不足末尾补零
32 中继器状态信息:
国际移动设备识别码IMEI 字符串,不足末尾补零
1 备用 备用,为了兼容原来老协议
4 当月话费 以分为单位,
0xffff ffff代表未知 (未实现)
4 话费余额 以分为单位,
0xffff ffff代表未知 (未实现)
4 当月流量总量 字节 (未实现)

### 电单车控制器的通信协议分析 #### 1. 基础通信架构 电单车控制器通常依赖于多种通信协议来实现与其他组件之间的数据交互。这些协议可以分为两类:底层硬件级通信协议和高层应用级通信协议。 - **底层硬件级通信** 主要是用于控制器与传感器、电机驱动模块等本地设备的数据交换,这类通信多采用串口通信的方式[^2]。例如,通过 RS-232 或者更现代的 UART 接口完成信号传递。 - **高层应用级通信** 则涉及控制器如何接入外部网络环境或者云端平台。对于支持联网功能的电单车而言,可能需要借助 MQTT 这样的轻量级消息队列协议来实现实时监控和远程控制[^3]。 #### 2. 具体技术细节 ##### (1) 硬件层 - 串口通信的应用场景 在实际产品设计中,许多电单车会利用串口作为内部各单元之间信息流通的主要手段之一。这种方式具有线路简单、抗干扰能力强等特点,非常适合短距离范围内的稳定传输需求。以下是典型应用场景: - 控制器读取电池管理系统(BMS)反馈的状态参数; - 获取速度编码器提供的实时车速数值; ```python import serial def read_serial_data(port='/dev/ttyS0', baudrate=9600, timeout=1): ser = serial.Serial(port, baudrate, timeout=timeout) data = ser.readline().decode('utf-8').strip() ser.close() return data ``` 上述代码片段展示了如何通过 Python 脚本操作串口获取来自其他电子部件的信息。 ##### (2) 应用层 - MQTT 的优势体现 当涉及到智能化管理和服务增值时,则更多考虑引入基于 IP 架构下的高级别解决方案。比如让每辆电动车都能成为物联网节点的一员,从而享受大数据带来的便利性。此时选用像 MQTT 那样专门为低带宽、不可靠网络优化过的发布/订阅模式显得尤为重要。 #### 3. 总结说明 综上所述,针对不同层次的功能要求分别选取合适的通讯机制至关重要。一方面确保基础动作指令能够快速准确下达执行;另一方面也要兼顾长远发展愿景下开放互联的可能性探索。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值