{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/library.properties",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/CHANGES.txt",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/examples/PacketParser/PacketParser.ino#L12-L52",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/examples/LiveWebPage/LiveWebPage.ino",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/examples/PacketParser/example_log.txt",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/.github/workflows/compile.yml",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/.github/workflows/arduino-lint.yml",
    "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/LICENSE",
    "https://github.com/0xCAFEDECAF/VanBus/releases/tag/v0.5.1"
  ],
  "category": "protocol-analysis",
  "description_en": "Arduino library for ESP8266/ESP8285 and ESP32 boards that receives and transmits packets on the VAN (Vehicle Area Network) comfort bus that PSA fitted to Peugeot and Citroën models until about 2009. It decodes the signal from a GPIO pin, wired through a CAN transceiver or a receive-only resistor divider, in software into packets with identifier, command flags, data and a 15-bit CRC that it can check or try to repair by flipping single bits, and reports queue and error statistics. Example sketches dump raw packets, send a packet, and parse comfort-bus traffic into readable fields on the serial port or a live web page.",
  "description_zh": "面向 ESP8266/ESP8285 和 ESP32 开发板的 Arduino 库，可在 VAN（Vehicle Area Network）舒适系统总线上收发报文；PSA 在 2009 年前的部分标致和雪铁龙车型中使用这种总线。它用软件解码经 CAN 收发器或仅供接收的电阻分压电路接入 GPIO 引脚的信号，得到包含标识符、命令标志、数据和 15 位 CRC 的报文，可校验 CRC，或通过逐位翻转尝试修复，并提供队列与错误统计。示例程序可转储原始报文、发送报文，并在串口或实时网页上把舒适总线流量解析为可读字段。",
  "entry_url": "https://awesomerea.org/resources/vanbus/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/vanbus/",
  "evidence_url": "https://github.com/0xCAFEDECAF/VanBus/blob/0c22517eb1a94fa65df98faecd2cf86abbf8fc85/README.md",
  "group": "tools",
  "id": "vanbus",
  "json_url": "https://awesomerea.org/resources/vanbus/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/vanbus/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/vanbus/index.md",
  "name": "VanBus",
  "name_zh": "VanBus PSA VAN 总线收发库",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Latest release at review: v0.5.1, published 2026-05-29, the version library.properties and VanBusVersion.h declare; the single later master commit (2026-08-22) only adds a pin-swap note to two example sketches. The README says the library supports only the 125 kbit/s VAN rate, with other rates such as 62.5 kbit/s still to be added.",
    "Builds in the Arduino IDE (the author uses 1.8.19) with the ESP8266 board package (tested 2.6.3–3.1.2, CPU at 160 MHz) or the ESP32 package (tested 1.0.6, 2.0.17 and 3.3.5, CPU at 240 MHz), installing the library through the Arduino Library Manager. The LiveWebPage example also needs the arduinoWebSockets library and has the browser load jQuery from Google's CDN; dumping packets into a character buffer needs PrintEx.",
    "Live use needs a PSA vehicle with a VAN comfort bus: the README locates it on pins 2 and 3 of ISO block A at the head unit and documents wiring through an MCP2551 transceiver with a 5 V–3.3 V level converter, an SN65HVD230 transceiver, or a receive-only resistor divider that it says works well only with ESP8266 boards. It warns that the transceiver boards' CAN terminator resistors may make other equipment on the bus malfunction, and transmitting puts packets on the car's bus. The only bundled traffic is the author's serial-monitor log, examples/PacketParser/example_log.txt.",
    "CI compiles the example sketches for an ESP8266 D1 mini and for ESP32 board packages 1.0.6, 2.0.17 and the latest, and runs Arduino Lint in strict mode; it does not exercise a bus. PacketParser calls its packet interpretation highly experimental, gathered from various sources and from experiments on the author's own 2003 Peugeot 406, and the README points to external lists of known IDEN values.",
    "MIT."
  ],
  "requirements_zh": [
    "审阅时最新版本为 v0.5.1，发布于 2026-05-29，与 library.properties 和 VanBusVersion.h 声明的版本一致；此后 master 上只有一次提交（2026-08-22），仅在两个示例程序中补充了引脚可能对调的提示。README 称该库目前只支持 125 kbit/s 的 VAN 速率，62.5 kbit/s 等其他速率尚待添加。",
    "使用 Arduino IDE 构建（作者使用 1.8.19），搭配 ESP8266 开发板包（测试过 2.6.3–3.1.2，CPU 设为 160 MHz）或 ESP32 开发板包（测试过 1.0.6、2.0.17 和 3.3.5，CPU 设为 240 MHz），并通过 Arduino 库管理器安装本库。LiveWebPage 示例另需 arduinoWebSockets 库，网页会让浏览器从 Google CDN 加载 jQuery；把报文转储到字符缓冲区需要 PrintEx。",
    "实际使用需要一辆装有 VAN 舒适系统总线的 PSA 车辆：README 指出总线通常位于主机（车载收音机）ISO A 插座的第 2、3 针，并说明了三种接法：MCP2551 收发器配合 5 V–3.3 V 电平转换器、SN65HVD230 收发器，或仅供接收、据称只在 ESP8266 开发板上效果较好的电阻分压电路。README 警告收发器板上为 CAN 设计的终端电阻可能导致总线上其他设备工作异常，而发送功能会把报文写入车辆总线。仓库附带的总线数据只有作者的串口监视器日志 examples/PacketParser/example_log.txt。",
    "CI 针对 ESP8266 D1 mini 以及 ESP32 开发板包 1.0.6、2.0.17 和最新版编译示例程序，并以严格模式运行 Arduino Lint，但不涉及实际总线。PacketParser 称其报文解释“高度实验性”，综合自多方资料以及作者在自己的 2003 款标致 406 上所做的实验；README 还指向外部整理的已知 IDEN 值列表。",
    "采用 MIT 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/0xCAFEDECAF/VanBus",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
