Dejan-Port/re7500-control-room
GitHub: Dejan-Port/re7500-control-room
该项目是一个通过逆向工程 FTDI 协议实现的 Jovy RE-7500 SMD 返修站 Linux 控制软件,提供实时温度监控与自定义回流焊曲线管理功能。
Stars: 0 | Forks: 0
**塞尔维亚语 · [英语](README.en.md)**
# 🔥 Jovy RE-7500 控制室 — Linux
适用于 Jovy RE-7500 SOD 返修站的 Linux 控制应用程序。作为
原版 Windows 软件的替代品 — 通信协议是完全通过
逆向工程原版 `.NET` 软件得出的(无需抓包,不依赖 Wine/VM)。



## 功能
- 实时温度图表(60 秒滑动窗口)
- 控制顶部加热器(OFF / Reflow / Fast Reflow)和底部加热器
(OFF / Preheat / Reflow / Fast Reflow)
- 风扇控制,具备针对站点 PARK/NORMAL 模式的自动规则
- **Reflow 配置文件** — 任意数量的步骤(目标温度 + 持续时间),
通过加热器的离散级别进行 bang-bang 控制,支持在 JSON 文件中保存/加载
配置文件
- 每个配置文件步骤及模式切换时的声音提示
- 双语界面(塞尔维亚语 / 英语,切换按钮)
## 协议(逆向工程)
该站点使用 FTDI **D2XX**(而非标准的 COM/串口),因此
通信是通过 `pyftdi`/`libusb` 进行的,而不是通过 `pyserial`。
```
Konekcija: 115200 8N1, RTS/CTS flow control, latency 1
Komanda: AA | checksum | 01 | cmd (cmd = 0xF0 + key, checksum = (1+cmd)&0xFF)
Status: AA 02 01 01 -> 10B odgovor (header 0x55):
[4]|[5]<<8 = temperatura °C
[6] = LHStatus (donji grejač) 1=OFF 2=Preheat 3=Reflow 4=FastReflow
[7] = UHStatus (gornji grejač) 1=OFF 2=Reflow 3=FastReflow
[8] = MachineMode 1=NORMAL 2=PARK
[9] = FanMode 0=OFF 1=ON
Tasteri (GetKey): UH-Up=1 UH-Down=2 LH-Up=3 LH-Down=4 Fan=6 Buzzer=7
```
## 架构
通过 root 权限(用于 USB 重置)访问 FTDI/libusb 设备时,
不允许显示 X11 窗口(因为 root 用户无权访问用户的 display)。因此,
控制部分被拆分为两个进程:
```
┌──────────────────────┐ unix socket ┌──────────────────────┐
│ ROOT daemon │ ◄────────────────────────► │ GUI (obican user) │
│ drži FTDI vezu │ /tmp/re7500.sock │ tkinter + matplotlib│
└──────────────────────┘ └──────────────────────┘
```
## 运行
```
git clone https://github.com/Dejan-Port/re7500-control-room.git
cd re7500-control-room
pip install pyftdi pyusb matplotlib
./pokreni.sh
```
`pokreni.sh` 会启动 root daemon(需要 sudo/身份验证)以及以
普通用户身份运行 GUI。
## 依赖
- Python 3
- `pyftdi`, `pyusb` — FTDI D2XX 通信
- `matplotlib` — 温度图表
- `tkinter` — GUI(通常已包含在系统 Python 中)
## 许可证
MIT
# 🔥 Jovy RE-7500 控制室 — Linux
适用于 Jovy RE-7500 SOD 返修站的 Linux 控制应用程序。作为
原版 Windows 软件的替代品 — 通信协议是完全通过
逆向工程原版 `.NET` 软件得出的(无需抓包,不依赖 Wine/VM)。



## 功能
- 实时温度图表(60 秒滑动窗口)
- 控制顶部加热器(OFF / Reflow / Fast Reflow)和底部加热器
(OFF / Preheat / Reflow / Fast Reflow)
- 风扇控制,具备针对站点 PARK/NORMAL 模式的自动规则
- **Reflow 配置文件** — 任意数量的步骤(目标温度 + 持续时间),
通过加热器的离散级别进行 bang-bang 控制,支持在 JSON 文件中保存/加载
配置文件
- 每个配置文件步骤及模式切换时的声音提示
- 双语界面(塞尔维亚语 / 英语,切换按钮)
## 协议(逆向工程)
该站点使用 FTDI **D2XX**(而非标准的 COM/串口),因此
通信是通过 `pyftdi`/`libusb` 进行的,而不是通过 `pyserial`。
```
Konekcija: 115200 8N1, RTS/CTS flow control, latency 1
Komanda: AA | checksum | 01 | cmd (cmd = 0xF0 + key, checksum = (1+cmd)&0xFF)
Status: AA 02 01 01 -> 10B odgovor (header 0x55):
[4]|[5]<<8 = temperatura °C
[6] = LHStatus (donji grejač) 1=OFF 2=Preheat 3=Reflow 4=FastReflow
[7] = UHStatus (gornji grejač) 1=OFF 2=Reflow 3=FastReflow
[8] = MachineMode 1=NORMAL 2=PARK
[9] = FanMode 0=OFF 1=ON
Tasteri (GetKey): UH-Up=1 UH-Down=2 LH-Up=3 LH-Down=4 Fan=6 Buzzer=7
```
## 架构
通过 root 权限(用于 USB 重置)访问 FTDI/libusb 设备时,
不允许显示 X11 窗口(因为 root 用户无权访问用户的 display)。因此,
控制部分被拆分为两个进程:
```
┌──────────────────────┐ unix socket ┌──────────────────────┐
│ ROOT daemon │ ◄────────────────────────► │ GUI (obican user) │
│ drži FTDI vezu │ /tmp/re7500.sock │ tkinter + matplotlib│
└──────────────────────┘ └──────────────────────┘
```
## 运行
```
git clone https://github.com/Dejan-Port/re7500-control-room.git
cd re7500-control-room
pip install pyftdi pyusb matplotlib
./pokreni.sh
```
`pokreni.sh` 会启动 root daemon(需要 sudo/身份验证)以及以
普通用户身份运行 GUI。
## 依赖
- Python 3
- `pyftdi`, `pyusb` — FTDI D2XX 通信
- `matplotlib` — 温度图表
- `tkinter` — GUI(通常已包含在系统 Python 中)
## 许可证
MIT标签:FTDI, Python, SMD返修站, 云资产清单, 嵌入式, 无后门, 硬件控制, 逆向工具, 逆向工程