P1rate5ec/calpt

GitHub: P1rate5ec/calpt

通过 ESP32-C3 桥接 TI-84 Plus 计算器与云端 SymPy 符号计算引擎,实现⽆需笔记本、仅靠手机热点即可进行真正微积分运算的硬件+AI教育项目。

Stars: 2 | Forks: 0

# 🧮 calpt — Calc-AI-Bridge ### 一台能进行真正微积分运算的原装 TI-84 Plus。输入 `DIFF X^2`,在计算器自带的屏幕上得到 `2*X` —— 无需笔记本电脑,无需家庭网络,无需越狱。 七行 TI-BASIC 代码通过 link port 将你的问题发送出去;一块 ESP32-C3 通过**手机热点**将其转发到云端的 **SymPy** 引擎;答案随后返回到计算器上。**SymPy 负责数学运算 —— LLM 仅负责翻译英语。** ![calc](https://img.shields.io/badge/calculator-TI--84%20Plus-000) ![mcu](https://img.shields.io/badge/MCU-ESP32--C3-E7352C?logo=espressif&logoColor=white) ![brain](https://img.shields.io/badge/brain-SymPy%20%2B%20Flask-3776AB?logo=python&logoColor=white) ![transport](https://img.shields.io/badge/transport-HTTPS%20%2B%20Bearer-22c55e) ![license](https://img.shields.io/badge/license-MIT-blueviolet)
Inside a TI-84 Plus — the mainboard and 2.5mm link port TI-84 Plus 内部 —— 该构建项目所接入的主板、2.5 mm link port 和电池仓。
## 🎓 教育用途与学术诚信 这是一个**硬件 + AI 工程项目** —— 对 TI link 协议进行逆向工程,从不稳压的电池总线进行安全的电平转换,一个经过安全加固的 API 中继,在微控制器上应用 pinned-TLS,以及符号数学。它的初衷是用于 **学习并动手改造你拥有的硬件**。 **不要用它作弊。** 在考试或任何限制使用计算器的场合使用它是不诚实的, 通常违反规则,并可能带来真实的学术和法律后果。构建它是为了理解各个部分是如何协同工作的 —— 那种理解才是真正的收获。 ## ✨ 为什么它很有趣 | | | |---|---| | 🧠 **SymPy 进行计算,LLM 仅负责翻译** | LLM 依赖模式匹配,在复杂的微积分上容易出错。在这里,模型*从不直接生成数字* —— 它将英语重写为一个由解析器验证的命令,然后由 SymPy 精确求解。解析结果会被回显,因此错误的读取是可见的,而不是静默的。 | | 🔒 **设计上的安全加固** | Bearer-token 认证(fail-closed),使用**字符白名单**代替沙盒化的 eval,并且 API key 仅隔离在服务器端 —— 永远不会出现在设备上。每次运行都会对 5 个注入 payload 进行回归测试。 | | 🔌 **真实的电子设计** | link port 空闲时处于**电池电压**,直接连接到 3.3 V 引脚 —— 因此 BSS138 电平转换器不是可选项。文档解释了*原因*,并提供了精确的 9 线连接方法。 | | 📡 **随处运行** | 仅需手机热点。无需笔记本电脑,无需家庭 Wi-Fi,设备上无需云账户。 | | 🧾 **7 行 TI-BASIC** | 无需越狱,无需汇编,无需 App。计算器自带的屏幕就是 UI。 | ## 🗺️ 工作原理 ``` flowchart LR C["🧮 TI-84\n7-line TI-BASIC"] <-->|2.5mm link| S["🔌 BSS138\n5V ⇄ 3.3V"] S <--> E["📶 ESP32-C3\nArTICL · TLS · NTP"] E <-->|"HTTPS + Bearer\n(phone hotspot)"| B["☁️ Brain\nSymPy + gate"] B -. "LLM translates\nEnglish only" .-> B ``` 完整图表:**[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**。 ## 🚀 构建指南 | 步骤 | 指南 | |------|-------| | 1. 🧰 焊接硬件 | **[docs/HARDWARE.md](docs/HARDWARE.md)** — BOM、9 根线、转换器引脚顺序、焊前检查 | | 2. ☁️ 部署大脑 | **[docs/SERVER.md](docs/SERVER.md)** — 运行 `brain.py`、自测、部署到 Railway | | 3. 🔌 烧录 ESP32 | **[docs/FIRMWARE.md](docs/FIRMWARE.md)** — 库、开发板设置、`secrets.h` | | 4. 🧮 输入程序 | **[calculator/PROGRAM.md](calculator/PROGRAM.md)** — 逐个 token 解读 TI-BASIC | | ▶️ 使用它 | **[docs/USAGE.md](docs/USAGE.md)** · 遇到困难?**[docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)** | 在 30 秒内无需硬件测试大脑: ``` cd brain python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python brain.py test # 22 checks: maths + injection + routing ``` ## 📦 仓库内含什么 ``` brain/ the cloud compute server (SymPy + Flask) — original, MIT brain.py solver · bearer auth · char whitelist · English router · self-test requirements.txt · Procfile · .env.example firmware/ secrets.h.example (config template — no code redistributed) calculator/ PROGRAM.md — the 7-line TI-BASIC and how to enter it docs/ HARDWARE · FIRMWARE · SERVER · ARCHITECTURE · USAGE · TROUBLESHOOTING ``` ## ⚠️ 安全提示 - link port 带有**原始电池电压** —— 切勿将其直接连接到 3.3 V GPIO。请使用电平转换器。 - 如果你接入了电池 `5V`,在插入 USB 前**请取出电池**。 - 将你的 **LLM key** 仅保留在服务器端,并设置支出限额。
**MIT Licensed**(本仓库的原创工作) · 由 [P1rate5ec](https://github.com/P1rate5ec) 制作
标签:逆向工具