ESP32 Bus Expander

Hardware & Industrial v0.2 · 04.09.2026 активный

Модуль расширения для ESP32 Bus Pirate с поддержкой дополнительных радиочастотных модулей, включая Wi-Fi 5 ГГц.

v0.2
04.09.2026 current

Установка
# Используйте веб-прошивальщик и выберите ESP32 Bus Expander
# https://geo-tp.github.io/ESP32-Bit-Pirate/
# Для сборки из исходников используйте PlatformIO (environments: c5slave или c6slave)
показать оригинал переведено ИИ

ESP32 Bus Expander

Logo banner of the ESP32 Bus Expander

ESP32 Bus Expander — это сопутствующая прошивка, разработанная для расширения возможностей ESP32 Bit Pirate.

Она работает на ESP32-C5 или ESP32-C6 и подключается к основному устройству Bit Pirate через UART, добавляя аппаратные функции, которых нет на основной плате.

Первая цель этого модуля расширения — расширить Bit Pirate дополнительными беспроводными возможностями, включая Wi-Fi 5 ГГц и поддержку радиопротоколов на базе IEEE 802.15.4, таких как Zigbee, Thread и Matter.

Для прошивки используйте веб-флешер и выберите ESP32 Bus Expander: ESP32 Bit Pirate Web Flasher.

Концепция

Многие платы, используемые с ESP32 Bit Pirate, поддерживают только Wi-Fi 2.4 ГГц.

ESP32 Bus Expander решает это ограничение, добавляя второе устройство, которое обеспечивает дополнительные радиовозможности.

Архитектура становится следующей:

ESP32 Bit Pirate (ESP32-S3)
        │
        │ UART
        ▼
ESP32 Bus Expander (ESP32-C5)
  • Bit Pirate остаётся основным интерфейсом (CLI, скрипты, инструменты).
  • Bus Expander предоставляет дополнительные аппаратные радиофункции.

Это позволяет добавлять новые радиотехнологии без изменения основной прошивки.

Текущие функции

  • Поддержка Wi-Fi (C5 и C6) — см. Режим Wi-Fi
  • Поддержка Zigbee (C5 и C6) — см. Режим Zigbee
  • Подключено к Bit Pirate через UART
  • Работает как радио-копроцессор
  • Может управляться из прошивки Bit Pirate

С подключённым расширителем Bit Pirate может взаимодействовать с сетями, требующими радиопротоколов на базе 802.15.4.

Планируемые функции

Будущие версии прошивки могут расширить поддержку дополнительных радиопротоколов:

  • Thread
  • Matter
  • Другие протоколы на базе 802.15.4

Это позволит экосистеме ESP32 Bit Pirate взаимодействовать с большим количеством беспроводных IoT-сетей и устройств.

Аппаратная часть

Bus Expander разработан для плат на базе ESP32-C5 и ESP32-C6 с минимум 4 МБ флеш-памяти, PSRAM не требуется.

Подключение

Bus Expander подключается к основному Bit Pirate через UART.

Типичная проводка для C5:

Bit Pirate Bus Expander (C5)
RX GPIO 9
TX GPIO 10
GND GND

Типичная проводка для C6:

Bit Pirate Bus Expander (C6)
RX GPIO 19
TX GPIO 18
GND GND

После подключения прошивка Bit Pirate может обнаружить расширитель и связаться с ним. Настройки UART можно задать в файле platformio.ini.

Режим Wi-Fi

Режим Wi-Fi превращает расширитель в контроллер беспроводной сети со своим собственным CLI, доступным через терминал Bit Pirate.

Окружения сборки:

Окружение Плата Диапазоны Wi-Fi
c5slave ESP32-C5 DevKitC-1 2.4 ГГц и 5 ГГц
c6slave ESP32-C6 DevKitM-1 только 2.4 ГГц

Функции 5 ГГц доступны только в сборке c5slave. Прошивка C6 использует те же команды Wi-Fi, но её радиомодуль поддерживает только 2.4 ГГц.

Доступные команды в режиме Wi-Fi:

Команда Описание
connect [ssid] [password] Подключиться к Wi-Fi сети
disconnect / status Отключиться или показать статус подключения
scan Сканировать близлежащие Wi-Fi сети
ap <ssid> <password> Запустить точку доступа
repeater Запустить или остановить режим повторителя Wi-Fi
sniff Захватить Wi-Fi трафик
deauth [ssid] Отправить кадры деаутентификации
flood [channel] Зафлудить кадрами beacon на канале
spam Отправлять кадры beacon на каналах 5 ГГц (только C5)
evil Запустить активный снифф/деаутх/захват рукопожатий (только C5)
probe Пробить открытые сети на наличие интернета
nmap <host> [-p port] Сканировать порты на хосте
http get <url> Отправить HTTP(S) GET запрос
lookup mac\|ip <host> Запустить утилиты сетевого поиска
reset Сбросить Wi-Fi интерфейс

Примечания:

  • Сборка C5 обеспечивает дополнительный диапазон Wi-Fi 5 ГГц и связанные функции.
  • Сборка C6 сохраняет тот же интерфейс команд, но ограничена 2.4 ГГц.
  • Используйте функции сканирования, захвата и передачи Wi-Fi только в сетях и на устройствах, для которых у вас есть явное разрешение.

Режим Zigbee

ZIGBEE режим превращает экспандер в автономный эмулятор Zigbee-устройства и контроллер сети с собственным CLI, доступным через терминал Bit Pirate.

Среды сборки:

Среда Плата Zigbee-роли
c6slave ESP32-C6 DevKitM-1 2.4 GHz Wi-Fi; Координатор + Роутер по умолчанию, или Конечное устройство
c5slave ESP32-C5 DevKitC-1 2.4/5 GHz Wi-Fi; Координатор + Роутер по умолчанию, или Конечное устройство

Среда собирает прошивку Координатора/Роутера по умолчанию с -D ZIGBEE_MODE_ZCZR. Для сборки прошивки Конечного устройства замените этот флаг в platformio.ini на -D ZIGBEE_MODE_ED перед компиляцией. Это отдельные конфигурации Zigbee на этапе компиляции; не включайте оба флага одновременно.

UART C6 — это транспорт команд. USB Serial/JTAG может использоваться для отладки платы, но не является транспортом команд Bit Pirate. Сборка C5 сохраняет существующее поведение UART на GPIO9/10.

Команды, доступные в режиме ZIGBEE:

Команда Описание
start [coordinator\|router] Запустить сеть в заданной роли
stop / status / config Управление стеком и статус
channel 11-26 Установить канал 802.15.4 перед запуском
permit [seconds] Разрешить присоединение новых устройств
device <type> Эмулировать конечную точку (см. ниже)
on / off / toggle [group] Управление спаренными светильниками или группой
dim <0-255 \| 0-100%> [group] Яркость спаренных светильников
color rgb <r g b> / color hsv <h s v> [group] Цвет спаренных светильников
settemp <celsius> / sethum <percent> / setocc <0\|1> Внедрить фальшивые показания датчиков
report Немедленно сообщить показания датчиков
events Показать события, полученные от сети
devices Список устройств, привязанных к этой конечной точке
scan [1-4] Сканировать каналы на предмет активных сетей
reset Сброс состояния Zigbee-сети до заводских настроек

Типы эмулируемых устройств (device <type>): none, light, dimlight, colorlight, switch, tempsensor, occupancy, fan, outlet, rangeextender.

Примечания:

  • Как Light (светильник) устройство, хабы управляют инструментом (полученные команды появляются в events); как Switch (выключатель), инструмент управляет спаренными светильниками.
  • Показания датчиков фальшивые по дизайну — полезны для тестирования реакции хабов и автоматизаций на внедрённую телеметрию.
  • Сцены обрабатываются нативно, когда хабы сохраняют/восстанавливают их. Группы можно адресовать напрямую (on 0x1234).
  • Роль End Device требует прошивку C6, собранную с ZIGBEE_MODE_ED.

Предупреждение

⚠️ Предупреждение об использовании RF: Всегда соблюдайте местные нормативы относительно беспроводных передач.

Благодарности

Команда evil с функциями вроде сниффинга, деаутентификации и захвата рукопожатий взята из Evil Firmware

Войдите, чтобы оставить комментарий