generated from CubeCraft-Creations/Tracehound
b3d4226b1c
Complete rewrite of firmware into two dedicated boards per camera node: ESP8266 (Camera Bridge): - Connects ONLY to GoPro AP — polls status, sends over UART - Zero network switching, zero MQTT - HTTP GET /bacpac/SH for status, start/stop - JSON-per-line UART protocol to ESP32 ESP32 (MQTT Bridge): - Connects ONLY to travel router — MQTT to Pi hub - Reads status from ESP8266 over UART2 (RX16/TX17) - Auto-registration, heartbeat, command forwarding - Zero camera communication UART Protocol: JSON-per-line at 115200 8N1 ESP8266→ESP32: status/ack/pong/error ESP32→ESP8266: cmd (start_recording/stop_recording/ping) Hardware updates: - BOM now includes both boards (~4/node) - 3D case has stacked dual-board compartment - UART wire channel between board recesses - Shared 3.3V power rail for both boards
68 lines
2.1 KiB
INI
68 lines
2.1 KiB
INI
; RemoteRig — Dual-Board Camera Node Firmware
|
|
; ============================================
|
|
; Each camera node has TWO boards connected via UART:
|
|
;
|
|
; ESP8266 (Camera Bridge): Connects to GoPro AP → HTTP status/control
|
|
; ESP32 (MQTT Bridge): Connects to travel router → MQTT to hub
|
|
;
|
|
; ESP8266 ←──UART──→ ESP32
|
|
; (TX/RX) (RX16/TX17)
|
|
;
|
|
; Build:
|
|
; pio run -e esp8266-camera (ESP8266 D1 Mini — camera bridge)
|
|
; pio run -e esp32-mqtt (ESP32 Dev Board — MQTT bridge)
|
|
;
|
|
; Upload:
|
|
; pio run -e esp8266-camera --target upload
|
|
; pio run -e esp32-mqtt --target upload
|
|
;
|
|
; Filesystem:
|
|
; pio run -e esp8266-camera --target uploadfs
|
|
; pio run -e esp32-mqtt --target uploadfs
|
|
|
|
[common]
|
|
lib_deps =
|
|
knolleary/PubSubClient @ ^2.8
|
|
bblanchon/ArduinoJson @ ^7.3
|
|
build_flags =
|
|
-D CORE_DEBUG_LEVEL=0
|
|
|
|
; ── ESP8266: Camera Bridge ──────────────────────────────────
|
|
; Flashed onto D1 Mini. Talks to GoPro over Wi-Fi, relays to
|
|
; ESP32 over UART (TX/RX pins). No MQTT, no router connection.
|
|
|
|
[env:esp8266-camera]
|
|
platform = espressif8266
|
|
board = d1_mini
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
upload_speed = 921600
|
|
lib_deps = ${common.lib_deps}
|
|
build_flags = ${common.build_flags}
|
|
-D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED
|
|
board_build.flash_mode = dio
|
|
board_build.f_cpu = 160000000L
|
|
build_src_filter =
|
|
+<../lib/>
|
|
+<esp8266-camera-bridge.cpp>
|
|
-<*.cpp>
|
|
|
|
; ── ESP32: MQTT Bridge ─────────────────────────────────────
|
|
; Flashed onto ESP32 Dev Board. Connects to travel router,
|
|
; publishes MQTT to Pi hub. Reads camera status from ESP8266
|
|
; over UART2 (RX16/TX17). No direct camera communication.
|
|
|
|
[env:esp32-mqtt]
|
|
platform = espressif32
|
|
board = esp32dev
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
upload_speed = 921600
|
|
lib_deps = ${common.lib_deps}
|
|
build_flags = ${common.build_flags}
|
|
-D CONFIG_ARDUINO_LOOP_STACK_SIZE=8192
|
|
build_src_filter =
|
|
+<../lib/>
|
|
+<esp32-mqtt-bridge.cpp>
|
|
-<*.cpp>
|