OpenSource-Hub

ESP32-Bit-Pirate

CLI 도구

geo-tp/ESP32-Bit-Pirate

ESP32 멀티 프로토콜 하드웨어 디버깅 도구로, 웹 명령줄을 지원합니다.

개요

ESP32-S3 개발 보드를 다중 프로토콜 분석 디버깅 도구로 변환하여 I2C, SPI, UART, 1-Wire, JTAG, CAN, 적외선, 블루투스, Wi-Fi, Sub-GHz 및 RFID 등의 프로토콜을 지원합니다. 스니핑, 스크립트 제어, EEPROM 읽기 및 웹 터미널 기능을 갖추고 있습니다.

README 미리보기

# ESP32 Bit Pirate\n\n[](https://geo-tp.github.io/ESP32-Bit-Pirate/)\n\n\n**ESP32 Bit Pirate** is open-source firmware that turns your device into a multi-protocol development and analysis tool, inspired by the legendary Bus Pirate.\n\nIt supports sniffing, sending, scripting, and interacting with various digital protocols (I2C, UART, 1-Wire, SPI, etc.) via a serial terminal or web-based CLI. It also communicates with radio protocols like Bluetooth, Wi-Fi, Sub-GHz and RFID.\n\nThe official project website centralizes everything: [ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/).\n\nFrom there you can [install the firmware](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/), open the [web tools](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/), follow [hardware guides](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/), explore [recipes](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/), and access the [documentation](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki).\n\n\n\n\n## Features\n\n- Interactive command-line interface (CLI) via **USB Serial or WiFi Web**.\n- **Modes for:**\n   - [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (default)\n   - [I2C](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/05-I2C) (scan, glitch, slave mode, dump, eeprom)\n   - [SPI](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/06-SPI) (eeprom, flash, sdcard, slave mode)\n   - [UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/03-UART) / [Half-Duplex UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/04-HDUART) (bridge, read, write)\n   - [1WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/02-1WIRE) (ibutton, eeprom)\n   - [2WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/07-2WIRE) (sniff, smartcard) / [3WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/08-3WIRE) (eeprom)\n   - [DIO](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/09-DIO) (Digital I/O, read, pullup, set, pwm)\n   - [Infrared](https://github.com/geo-t

FAQ (4)

compatibility
Cardputer ADV에서 M5Stack LoRa Cap SX1262를 사용하면 LoRa 모드가 작동하나요?

네. LoRa cap을 Cardputer ADV에 연결하고 기본 핀 구성을 사용하세요. 필요한 핀은 이미 사전 구성되어 있습니다.

원본 Issue #160
문제 해결
IRremoteESP8266이 긴 에어컨 리모컨 raw 신호를 여러 프레임으로 분할하고 marks/spaces를 누락하는 문제를 해결하는 방법

기본 raw 캡처 버퍼가 너무 작습니다. IRremoteESP8266에서 kRawBuf = 100은 mark/space 항목을 99개만 저장하므로, 반복되는 72비트 프레임과 같은 긴 AC 리모컨 신호가 이를 초과하여 분할되거나 잘릴 수 있습니다. InfraredService.cpp에서 더 큰 버퍼(예: 512)로 IRrecv를 할당하세요:

_receiver = new IRrecv(_rxPin, 512);

각 configure() 호출에서 재할당하기 전에 이전 수신기를 해제하여 더 큰 버퍼가 누수되지 않도록 하세요:

if (_receiver != nullptr) {
  _receiver->disableIRIn();
  delete _receiver;
  _receiver = nullptr;
}
_receiver = new IRrecv(_rxPin, 512);

그런 다음 ESP32 Bit Pirate 펌웨어를 다시 빌드하고 플래시하세요. 임시 대안으로 라이브러리의 IRrecv.h에서 kRawBuf를 변경할 수도 있지만, IRrecv 생성자에 크기를 전달하고 객체 수명 주기를 수정하는 것이 권장되는 해결 방법입니다.

원본 Issue #154
문제 해결
ESP32-S3FH4R2, 4 MB 플래시, 2 MB PSRAM을 탑재한 ESP32-S3-Zero 또는 ESP32-S3 SuperMini 지원을 추가하려면 어떻게 해야 하나요?

ESP32-S3 DevKit을 기반으로 사용자 정의 PlatformIO 환경/프로필을 사용하고 board_build.flash_size = 4MB를 설정하세요. 4 MB 파티션 테이블을 생성하세요. 예를 들어 partitions_s3_4m.csv:

# Name,     Type, SubType,   Offset,    Size,
nvs,        data, nvs,       0x9000,    0x6000,
phy_init,   data, phy,       0xF000,    0x1000,
factory,    app, factory,   0x10000,   0x390000,
spiffs,     data, spiffs,    0x3A0000,  0x60000,

board_build.partitions = partitions_s3_4m.csv로 이를 참조한 다음, 새 PlatformIO 환경에서 보드별 GPIO를 구성하세요. 이 레이아웃은 coredump 파티션을 생략하고 384 KB SPIFFS 파티션을 사용하여 4 MB 플래시에 맞춥니다. 전용 환경에서 issue #180의 memset 관련 크래시가 발생하는 경우, ::memset()을 명시적으로 호출하는 것이 알려진 해결 방법입니다.

원본 Issue #151
문제 해결
기본 TX 핀을 사용할 때 M5StickS3에서 IR 신호 수신 또는 기록이 작동하지 않는 문제를 어떻게 해결하나요?

기본 TX 핀 대신 RMT 페리페럴을 통해 M5StickS3의 내장 IR 수신기를 사용하십시오. M5StickS3 IR 수신 구현이 포함된 라이브러리/펌웨어 버전으로 업데이트한 다음, M5Stack의 M5StickS3 IR NEC 예제에 나온 것처럼 RMT 읽기 및 디코딩을 사용하도록 IR 수신을 구성하십시오. 다시 빌드한 후 NEC 호환 리모컨으로 녹화를 테스트하십시오.

원본 Issue #161