Hacker News 中文摘要

RSS订阅

ESP32总线海盗0.5——支持多种协议的硬件黑客工具 -- ESP32 Bus Pirate 0.5 – A hardware hacking tool that speaks every protocol

文章摘要

ESP32 Bus Pirate是一款开源固件,可将设备转变为支持多种数字协议(如I2C、UART、SPI等)的硬件黑客工具。它通过串行终端或基于Web的命令行界面(CLI)实现协议嗅探、发送、脚本编写和交互功能,支持USB串行或WiFi Web操作,适用于多种模式和应用场景。

文章总结

ESP32 Bus Pirate:基于Web CLI的多协议硬件黑客工具

ESP32 Bus Pirate 是一款开源固件,灵感源自经典的 Bus Pirate,能够将你的设备转变为支持多种数字协议的黑客工具。它通过串行终端或基于Web的命令行界面(CLI)支持嗅探、发送、脚本编写以及与多种数字协议(如I2C、UART、1-Wire、SPI等)的交互。

主要功能

  • 交互式命令行界面(CLI):支持通过USB串口或WiFi Web访问。
  • 多种模式:包括HiZ、I2C、SPI、UART、1-WIRE、2WIRE、3WIRE、DIO、红外、USB、蓝牙、Wi-Fi、JTAG、LED控制、I2S、CAN等。
  • 协议嗅探器:支持I2C、Wi-Fi、蓝牙、1Wire、CAN等协议的嗅探。
  • 自动波特率检测:适用于UART的多种工具。
  • 寄存器操作与转储工具:适用于I2C。
  • 脚本编写:使用Bus Pirate风格的字节码指令。
  • Device-B-Gone命令:支持超过80种红外协议。
  • 直接I/O管理:支持PWM、引脚状态控制。
  • 大规模可寻址LED协议支持
  • Web界面:提供实时终端或经典串行CLI。

支持的设备

  • ESP32 S3 Dev Kit
  • M5 Cardputer
  • M5 Stick C Plus 2
  • M5 Atom S3 Lite
  • M5 Stamp S3
  • LILYGO T-Embed
  • LILYGO T-Embed CC1101

使用指南

  1. 刷写固件:从 Releases 页面下载最新版本,并使用你喜欢的工具(如esptool.pyPlatformIO等)进行刷写。也可以通过 M5Burner 在M5stick、AtomS3、M5StampS3或Cardputer类别中烧录。
  2. 连接:通过串口或Web连接。串口可使用任何终端应用,Web则需配置Wi-Fi并通过浏览器访问CLI。
  3. 使用命令:如modehelpscansniff等,详细命令解释可参考 Terminal Commands

Web与串行接口

ESP32 Bus Pirate提供两种命令行界面(CLI)模式:

| 接口 | 优点 | 适用场景 | | --- | --- | --- | | Web界面 | - 可从任何浏览器访问 - 通过Wi-Fi工作 - 无需线缆 | 快速测试、演示、无头设置 | | 串行界面 | - 性能更快 - 即时响应 - 处理大数据流畅 | 高强度会话、频繁交互 |

两种界面共享相同的命令结构,可以互换使用。

警告

⚠️电压警告:设备仅应在 3.3V5V 下运行。请勿使用其他电压连接外设,否则可能 损坏你的ESP32

贡献

欢迎查看 How To Contribute 部分,了解如何为任何模式添加新命令。

更多详细信息,请访问 Wiki

评论总结

评论内容总结:

  1. 期待尝试新项目

    • 用户konraditurbe购买了相关硬件,期待尝试项目。
    • 引用:“bought a t embed cc1101 and stickc2 plus boards to try out your project, arrives in a couple days!”(购买了t embed cc1101和stickc2 plus板子来尝试你的项目,几天后到货!)
  2. 希望解决现有问题

    • 用户yjftsjthsd-h希望通过该项目联网控制空调,但之前尝试的ESP/IR项目未成功,怀疑是硬件问题。
    • 引用:“Hm, maybe this will finally let me network my IR-controlled AC units.”(嗯,也许这次终于能让我联网控制红外空调了。)
    • 引用:“pretty sure it’s a problem with my hand-assembled hardware”(很确定是我手工组装的硬件问题。)
  3. 功能缺失的遗憾

    • 用户jnurmine指出缺少I3C功能。
    • 引用:“No I3C though :)”(不过没有I3C功能。)
  4. 对产品起源的疑问

    • 用户myself248询问该产品是否是原始Bus Pirate的衍生品,还是仅仅重用了名称。
    • 引用:“Is it a derivative of the original Bus Pirate in some way, or just reusing the name?”(这是原始Bus Pirate的某种衍生品,还是仅仅重用了名称?)