From 72811df60642236f4e0bffaaf71b73baaa0c6f1e Mon Sep 17 00:00:00 2001 From: agessaman Date: Thu, 13 Nov 2025 16:30:47 -0800 Subject: [PATCH] Update MQTT configurations to change bridge to observer mode across multiple variants added support for lilygo_t3s3, tbeam_supreme --- MQTT_IMPLEMENTATION.md | 6 +-- variants/heltec_v3/platformio.ini | 21 +++++----- variants/heltec_v4/platformio.ini | 7 +--- variants/lilygo_t3s3/platformio.ini | 38 +++++++++++++++++++ .../platformio.ini | 36 ++++++++++++++++++ variants/station_g2/platformio.ini | 7 +--- variants/xiao_s3_wio/platformio.ini | 4 +- 7 files changed, 92 insertions(+), 27 deletions(-) diff --git a/MQTT_IMPLEMENTATION.md b/MQTT_IMPLEMENTATION.md index 95a4a833..28f1169c 100644 --- a/MQTT_IMPLEMENTATION.md +++ b/MQTT_IMPLEMENTATION.md @@ -80,12 +80,12 @@ To build the MQTT bridge firmware: ### Heltec V3 ```bash -pio run -e Heltec_v3_repeater_bridge_mqtt +pio run -e Heltec_v3_repeater_observer_mqtt ``` ### Station G2 ```bash -pio run -e Station_G2_repeater_bridge_mqtt +pio run -e Station_G2_repeater_observer_mqtt ``` ### Custom MQTT Server Configuration @@ -93,7 +93,7 @@ pio run -e Station_G2_repeater_bridge_mqtt You can configure a custom MQTT server using build flags in `platformio.ini`: ```ini -[env:Heltec_v3_repeater_bridge_mqtt] +[env:Heltec_v3_repeater_observer_mqtt] build_flags = ${Heltec_lora32_v3.build_flags} -D WITH_MQTT_BRIDGE=1 diff --git a/variants/heltec_v3/platformio.ini b/variants/heltec_v3/platformio.ini index 2cf1b876..1a2c5f42 100644 --- a/variants/heltec_v3/platformio.ini +++ b/variants/heltec_v3/platformio.ini @@ -105,13 +105,13 @@ lib_deps = ${Heltec_lora32_v3.lib_deps} ${esp32_ota.lib_deps} -[env:Heltec_v3_repeater_bridge_mqtt] +[env:Heltec_v3_repeater_observer_mqtt] extends = Heltec_lora32_v3 upload_port = /dev/cu.usbserial-4 build_flags = ${Heltec_lora32_v3.build_flags} -D DISPLAY_CLASS=SSD1306Display - -D ADVERT_NAME='"MQTT Bridge"' + -D ADVERT_NAME='"MQTT Observer"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -138,16 +138,13 @@ build_src_filter = ${Heltec_lora32_v3.build_src_filter} + +<../examples/simple_repeater> lib_deps = - ${Heltec_lora32_v3.lib_deps} - ${esp32_ota.lib_deps} - ; PsychicMqttClient - unified MQTT client with WebSocket support - elims/PsychicMqttClient@^0.2.4 - ; Using latest ArduinoJson (7.x) - compatible with CayenneLPP without patching - bblanchon/ArduinoJson - arduino-libraries/NTPClient - JChristensen/Timezone - ; Time library required by Timezone library (explicit dependency for compatibility) - paulstoffregen/Time + ${Heltec_lora32_v3.lib_deps} + ${esp32_ota.lib_deps} + elims/PsychicMqttClient@^0.2.4 + bblanchon/ArduinoJson + arduino-libraries/NTPClient + JChristensen/Timezone + paulstoffregen/Time [env:Heltec_v3_room_server] extends = Heltec_lora32_v3 diff --git a/variants/heltec_v4/platformio.ini b/variants/heltec_v4/platformio.ini index ec7a89d0..57751409 100644 --- a/variants/heltec_v4/platformio.ini +++ b/variants/heltec_v4/platformio.ini @@ -89,12 +89,12 @@ lib_deps = ${Heltec_lora32_v4.lib_deps} ${esp32_ota.lib_deps} -[env:heltec_v4_repeater_bridge_mqtt] +[env:heltec_v4_repeater_observer_mqtt] extends = Heltec_lora32_v4 build_flags = ${Heltec_lora32_v4.build_flags} -D DISPLAY_CLASS=SSD1306Display - -D ADVERT_NAME='"MQTT Bridge"' + -D ADVERT_NAME='"MQTT Observer"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -121,13 +121,10 @@ build_src_filter = ${Heltec_lora32_v4.build_src_filter} lib_deps = ${Heltec_lora32_v4.lib_deps} ${esp32_ota.lib_deps} - ; PsychicMqttClient - unified MQTT client with WebSocket support elims/PsychicMqttClient@^0.2.4 - ; Using latest ArduinoJson (7.x) - compatible with CayenneLPP without patching bblanchon/ArduinoJson arduino-libraries/NTPClient JChristensen/Timezone - ; Time library required by Timezone library (explicit dependency for compatibility) paulstoffregen/Time [env:heltec_v4_room_server] diff --git a/variants/lilygo_t3s3/platformio.ini b/variants/lilygo_t3s3/platformio.ini index 0f01c9b7..e06b5ef1 100644 --- a/variants/lilygo_t3s3/platformio.ini +++ b/variants/lilygo_t3s3/platformio.ini @@ -98,6 +98,44 @@ lib_deps = ${LilyGo_T3S3_sx1262.lib_deps} ${esp32_ota.lib_deps} +[env:LilyGo_T3S3_sx1262_repeater_observer_mqtt] +extends = LilyGo_T3S3_sx1262 +build_flags = + ${LilyGo_T3S3_sx1262.build_flags} + -D DISPLAY_CLASS=SSD1306Display + -D ADVERT_NAME='"MQTT Observer"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_BRIDGE=1 + -D MAX_MQTT_BROKERS=3 + -D MQTT_MAX_PACKET_SIZE=1024 + -D MQTT_DEBUG=1 + -D MESH_PACKET_LOGGING=1 + -D MESH_DEBUG=1 + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# -D WIFI_SSID='"ssid"' +# -D WIFI_PWD='"password"' +# -D MQTT_SERVER='"your-mqtt-broker.com"' +# -D MQTT_PORT=1883 +# -D MQTT_USERNAME='"your-username"' +# -D MQTT_PASSWORD='"your-password"' +build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} + + + + + + + + + +<../examples/simple_repeater> +lib_deps = + ${LilyGo_T3S3_sx1262.lib_deps} + ${esp32_ota.lib_deps} + elims/PsychicMqttClient@^0.2.4 + bblanchon/ArduinoJson + arduino-libraries/NTPClient + JChristensen/Timezone + paulstoffregen/Time + [env:LilyGo_T3S3_sx1262_terminal_chat] extends = LilyGo_T3S3_sx1262 build_flags = diff --git a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini index 2d2a095a..8078ba93 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini @@ -94,6 +94,42 @@ lib_deps = ${T_Beam_S3_Supreme_SX1262.lib_deps} ${esp32_ota.lib_deps} +[env:T_Beam_S3_Supreme_SX1262_repeater_observer_mqtt] +extends = T_Beam_S3_Supreme_SX1262 +build_flags = + ${T_Beam_S3_Supreme_SX1262.build_flags} + -D ADVERT_NAME='"MQTT Observer"' + -D ADVERT_LAT=0 + -D ADVERT_LON=0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_BRIDGE=1 + -D MAX_MQTT_BROKERS=3 + -D MQTT_MAX_PACKET_SIZE=1024 + -D MQTT_DEBUG=1 + -D MESH_PACKET_LOGGING=1 + -D MESH_DEBUG=1 + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# -D WIFI_SSID='"ssid"' +# -D WIFI_PWD='"password"' +# -D MQTT_SERVER='"your-mqtt-broker.com"' +# -D MQTT_PORT=1883 +# -D MQTT_USERNAME='"your-username"' +# -D MQTT_PASSWORD='"your-password"' +build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} + + + + + + + +<../examples/simple_repeater> +lib_deps = + ${T_Beam_S3_Supreme_SX1262.lib_deps} + ${esp32_ota.lib_deps} + elims/PsychicMqttClient@^0.2.4 + bblanchon/ArduinoJson + arduino-libraries/NTPClient + JChristensen/Timezone + paulstoffregen/Time + [env:T_Beam_S3_Supreme_SX1262_room_server] extends = T_Beam_S3_Supreme_SX1262 build_flags = diff --git a/variants/station_g2/platformio.ini b/variants/station_g2/platformio.ini index 3aad2780..e7bb4ff5 100644 --- a/variants/station_g2/platformio.ini +++ b/variants/station_g2/platformio.ini @@ -243,12 +243,12 @@ lib_deps = ${Station_G2.lib_deps} densaugeo/base64 @ ~1.4.0 -[env:Station_G2_repeater_bridge_mqtt] +[env:Station_G2_repeater_observer_mqtt] extends = Station_G2 board_build.partitions = default_16MB.csv ; standard 16MB partition table build_flags = ${Station_G2.build_flags} - -D ADVERT_NAME='"MQTT Bridge"' + -D ADVERT_NAME='"MQTT Observer"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -275,11 +275,8 @@ build_src_filter = ${Station_G2.build_src_filter} lib_deps = ${Station_G2.lib_deps} ${esp32_ota.lib_deps} - ; PsychicMqttClient - unified MQTT client with WebSocket support elims/PsychicMqttClient@^0.2.4 - ; Using latest ArduinoJson (7.x) - compatible with CayenneLPP without patching bblanchon/ArduinoJson arduino-libraries/NTPClient JChristensen/Timezone - ; Time library required by Timezone library (explicit dependency for compatibility) paulstoffregen/Time diff --git a/variants/xiao_s3_wio/platformio.ini b/variants/xiao_s3_wio/platformio.ini index 7a855ec4..b189e333 100644 --- a/variants/xiao_s3_wio/platformio.ini +++ b/variants/xiao_s3_wio/platformio.ini @@ -95,11 +95,11 @@ lib_deps = ${Xiao_S3_WIO.lib_deps} ${esp32_ota.lib_deps} -[env:Xiao_S3_WIO_repeater_bridge_mqtt] +[env:Xiao_S3_WIO_repeater_observer_mqtt] extends = Xiao_S3_WIO build_flags = ${Xiao_S3_WIO.build_flags} - -D ADVERT_NAME='"MQTT Bridge"' + -D ADVERT_NAME='"MQTT Observer"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"'