
WebベースのCLIを備え、あらゆるプロトコルに対応するハードウェアハッキングツール
# ESP32 Bit Pirate
[](https://geo-tp.github.io/ESP32-Bit-Pirate/)
**ESP32 Bit Pirate**は、伝説的なBus Pirateにインスパイアされた、デバイスをマルチプロトコルの開発・解析ツールに変えるオープンソースファームウェアです。
シリアルターミナルまたはWebベースのCLIを通じて、さまざまなデジタルプロトコル(I2C、UART、1-Wire、SPIなど)のスニッフィング、送信、スクリプティング、および操作をサポートします。また、Bluetooth、Wi-Fi、Sub-GHz、LoRa、RFIDなどの無線プロトコルとも通信します。
公式プロジェクトサイトにすべてが集約されています:[ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/)。
そこから[ファームウェアのインストール](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)、[Webツール](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)の起動、[ハードウェアガイド](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/)の閲覧、[レシピ](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/)の探索、[ドキュメント](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)へのアクセスが可能です。

[](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)
## 機能
- **USBシリアルまたはWiFi Web**経由のインタラクティブなコマンドラインインターフェース(CLI)。
- **以下のモード:**
- [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ)(デフォルト)
- [I2C](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/05-I2C)(スキャン、グリッチ、スレーブモード、ダンプ、eeprom)
- [SPI](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/06-SPI)(eeprom、flash、sdcard、スレーブモード)
- [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)(ブリッジ、読み取り、書き込み)
- [1WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/02-1WIRE)(ibutton、eeprom)
- [2WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/07-2WIRE)(スニッフ、スマートカード) / [3WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/08-3WIRE)(eeprom)
- [DIO](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/09-DIO)(デジタルI/O、読み取り、プルアップ、設定、pwm)
- [赤外線](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/11-INFRARED)(送信、記録、ユニバーサルリモコン)
- [USB](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/12-USB)(HID、flashrom、ストレージ、usb-uart)
- [Bluetooth](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/13-BLUETOOTH)(BLE HID、スキャン、スプーフィング、スニッフィング)
- [Wi-Fi](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/14-WIFI) / [Ethernet](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/18-ETHERNET)(スニッフ、deauth、nmap、netcat)
- [JTAG](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/15-JTAG)(スキャン、SWD、openOCD)
- [LED](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/10-LED)(アニメーション、LED設定)
- [I2S](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/16-I2S)(スピーカー、マイクのテスト、サウンド再生)
- [CAN](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/17-CAN)(フレームのスニッフ、送受信)
- [SUBGHZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/19-SUBGHZ)(解析、記録、リプレイ)
- [RFID](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/20-RFID)(読み取り、書き込み、クローン)
- [RF24](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/21-RF24)(スキャン、送信、受信)
- [FM](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/22-FM)(解析、放送)
- [CELL](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/23-CELL)(SIMカードのダンプ、SMS、通話)
- [LORA](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA)(スニッフ、ペイロード、meshtatic)
- **プロトコルスニッファ**:I2C、UART、SPI、1Wire、2wire、CAN、Wi-Fi、Bluetooth、SubGhz。
- ボーレートの**自動検出**、ATコマンド、UART用の各種ツール。
- レジスタ操作、**EEPROMダンプツール**、I2C用のデバイス識別。
- あらゆる種類の**EEPROM、Flash**の読み取り、およびSPI用のその他各種ツール。
- **Bus Pirateスタイルのバイトコード**命令または**Python**によるスクリプティング。
- **80以上のプロトコル**をサポートする赤外線機能。
- 直接I/O管理、**PWM、サーボ、GPIO状態**。
- **すべてのバンド**で無線信号と周波数を解析。
- **50近くのアドレス指定可能LEDプロトコル**をサポート。
- ファームウェアを支援する**Pirateアシスタント**。
- **USB-Uartドングル、SPIプログラマ、ロジックアナライザ、ESP-SDR**など。
- Webブラウザ経由でUSBシリアルを使用する[**Web Serialツール**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)。
## 対応デバイス
以下に挙げるすべてのボードは、機能や開発状況に違いなく、まったく同じBit Pirate機能を提供します。一部の機能には追加のハードウェアが必要になる場合があります。
| デバイス | | 説明 |
|-----------------------|------------------------------------------|---------------------------------------------------|
| **ESP32 S3 Dev Kit (N8, N8R2, N8R8, N16R8...)** |  | 20以上の利用可能なGPIO、ボタン1個 |
| **ESP32 S3 Zero / Super Mini** |  | 15 GPIO(露出ピン)、ボタン1個 |
| [**M5 AtomS3 Lite**](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | 8 GPIO(Grove、Header)、IR TX、ボタン1個 |
| **M5 Cardputer** |  | 2 GPIO(Grove)、画面、キーボード、マイク、スピーカー、IR TX、SDカード、バッテリー、[スタンドアロンモード](#standalone-mode-for-the-cardputer) |
| [**M5 Cardputer ADV**](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | 12 GPIO(Grove、Header)、画面、キーボード、マイク、スピーカー、IR TX、SDカード、IMU、バッテリー、[Lora](https://shop.m5stack.com/products/cap-lora-1262-for-cardputer-adv-sx1262-atgm336h?ref=pvosfmid)、[CC1101](https://shop.m5stack.com/products/cap-cc1101-nfc-for-cardputer?ref=pvosfmid)、[スタンドアロンモード](#standalone-mode-for-the-cardputer) |
| [**M5 StampS3**](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | 9 GPIO(露出ピン)、ボタン1個 |
| [**M5 Stick S3**](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | 13 GPIO(Grove、Header)、画面、マイク、スピーカー、IR TX、IR RX、IMU、ボタン3個、バッテリー |
| **LILYGO T-Display** |  | 13 GPIO(1 Qwicc)、画面、ボタン2個 |
| **LILYGO T-Embed** |  | 9 GPIO(Grove、Header)、画面、エンコーダ、スピーカー、マイク、SDカード |
| **LILYGO T-Embed CC1101** |  | 4 GPIO(2x Qwiic)、画面、エンコーダ、スピーカー、マイク、SDカード、CC1101、PN532、IR TX、IR RX、バッテリー |
| **LILYGO T-Embed CC1101 Plus** |  | 4 GPIO(2x Qwiic)、画面、エンコーダ、スピーカー、マイク、SDカード、CC1101、NRF24、PN532、IR TX、IR RX、バッテリー |
| **Heltec WiFi LoRa 32 V4** |  | 15 GPIO(Header)、SX1262 LoRa、ボタン2個、**画面は非対応** |
| **Heltec Vision Master T190** |  | 15 GPIO(Header、Qwiiic)、画面、ボタン2個、SX1262 LoRa |
| **Seeed Studio Xiao S3** |  | 9 GPIO(露出ピン)、ボタン1個 |
| **Waveshare ESP32-S3-GEEK** |  | 7 GPIO(Dupontヘッダー)、画面、ボタン1個、SDカード |
| **Unexpected Maker ProS3**| [](https://www.adafruit.com/product/5401) | 20以上の利用可能なGPIO(Header、STEMMA QT)、ボタン1個|
- **その他のESP32-S3ベースのボード**
- **ESP32-S3**ベースのすべてのボードは、少なくとも**4 MBのフラッシュ**を備えていれば**対応可能**です。
- **s3 dev-kit(8MBフラッシュ)またはsupermini(4MBフラッシュ)ファームウェアを、任意のESP32-S3ボードに書き込むことができます。**
- ファームウェアの**デフォルトのピンマッピングが、お使いの特定のボードと一致しない**可能性があることに注意してください。
## はじめに
[](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)
1. 🔧 ファームウェアを書き込む
- [ESP32 Bit Pirate Web Flasher](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)を使用して、Webブラウザから直接ファームウェアを書き込みます。
- [M5Burner](https://docs.m5stack.com/en/download)のStickS3、AtomS3、M5StampS3、またはCardputerカテゴリから書き込むこともできます。
2. 🔌 シリアルまたはWeb経由で接続
- シリアル:任意のターミナルアプリ、または[無料のブラウザベースWeb Serialターミナル](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/web-serial-terminal/)([シリアル経由で接続](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial)を参照)
- Web:Wi-Fiを設定し、ブラウザ経由でCLIにアクセス([Wi-Fi接続](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal)を参照)
3. 🧪 次のようなコマンドを使用:
```
mode
help
scan
sniff
...
```
## Wiki
[](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)
📚 すべてのモードとコマンドの詳細なドキュメントについては、**[Wikiをご覧ください](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)**。
含まれる内容:
- [ターミナルモード](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - シリアルおよびWebターミナルについて。
- [モードの概要](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - 対応モードを閲覧。
- [シリアル設定](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - USB経由のシリアルアクセス。
Wikiは、すべてがどのように動作するかを学ぶのに最適な場所です。
## スクリプティング
[](https://github.com/geo-tp/ESP32-Bit-Pirate-Scripts/)
🛠️ **シリアル経由のPythonスクリプト**を使用して、[**ESP32 Bit Pirateとのやり取りを自動化**](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Python)できます。
[ESP32 Bit Pirate Python Lab](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/python-lab/)を使用して、ブラウザで直接スクリプトを書いてテストできます。
**含まれる内容:** ファイルへのデータログ、eepromおよびflashダンプ、GPIOとのやり取り、LEDアニメーションなど...
## エクスパンダー
[](https://github.com/geo-tp/ESP32-Bus-Expander)
🔌 追加のハードウェアモジュールで**[ESP32 Bit Pirateの機能を拡張](https://github.com/geo-tp/ESP32-Bus-Expander)**します。
エクスパンダーは、**WiFi 5 GhZ、Zigbee**、またはその他の無線プロトコルのサポートを追加します。
[](https://github.com/geo-tp/ESP32-Bus-Expander)
## ドック
[](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)
🔧 **[ESP32 S3 DevKit用のドッキングステーション](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)は、オリジナルのBus Pirateアダプターと連携するように設計されています。**
オリジナルの[Bus Pirate](https://buspirate.com/)アダプターおよびアクセサリのエコシステムを接続して使用できます。
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[**PCBWayでESP32 Bit Pirate Dockを入手。**](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
## コマンドラインインターフェース
ESP32 Bit Pirateファームウェアは、3つのコマンドラインインターフェース(CLI)モードを提供します:
| インターフェース | 利点 | 最適な用途 |
|------------------|-----------------------------------------------------------------------------|----------------------------------------|
| **Webインターフェース** | - 任意のブラウザからアクセス可能<br>- PC、タブレット、モバイル<br>- Wi-Fi経由で動作<br>- ケーブル不要 | 簡単なテスト、デモ、ヘッドレスセットアップ |
| **シリアルインターフェース** | - より高速なパフォーマンス<br>- 即時の応答性<br>- 大容量データをスムーズに処理 | 集中的なセッション、頻繁な操作 |
| **スタンドアロン** | - Cardputer専用<br>- デバイス上のキーボード<br>- デバイス上の画面 | ポータブルセッション、簡単なテスト |
すべてのインターフェースは同じコマンド構造を共有し、互換的に使用できます([詳細](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal))。
## WiFi経由のモバイルWebインターフェース

## Cardputer用スタンドアロンモード

## コントリビュート
[コントリビュート方法](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Contribute)セクションを参照してください。**新しいボードや新しいコマンドを追加する簡単な方法**が説明されています。
## ビジュアルアセット
#### [](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)
[画像、ロゴ、プレゼンテーション、写真、ビデオ、イラスト](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)を参照してください。これらのビジュアルは、ファームウェアの説明と宣伝に役立てるため、**ブログ記事、ドキュメント、ビデオ、または記事で自由に使用できます**。
## 警告
> ⚠️ **電圧警告**:デバイスは**3.3V**または**5V**でのみ動作させる必要があります。
> - 他の電圧レベルを使用する周辺機器を接続**しないでください** — 接続すると**ESP32が損傷する**可能性があります。
> ⚠️ **使用警告**:このファームウェアは、**教育、診断、および相互運用性テストの目的のみ**で提供されています。
> - 適切な許可なくデバイスに干渉、プローブ、または操作するために使用しないでください。
> - 地域の規制に違反したり、ネットワークや通信を妨害する可能性のある不正なRF送信(例:sub-GHz)を避けてください。
> - 作者は、不正アクセスや信号送信に起因する法的結果を含む、このソフトウェアまたはハードウェアのいかなる誤用についても責任を負いません。
> - 常に自国の法律と責任ある開示ポリシーの範囲内にとどまってください。