Files
OpenMQTT-Gateway/environments.ini
T
Alessandro Staniscia 98481c5145 [SITE] Renew the web board presentation and the ESP32 web upload + [SYS] Security checks (#2277)
* Refactor GitHub Actions workflows for build, documentation, and linting

- Consolidated build logic into reusable workflows (`task-build.yml` and `task-docs.yml`) to reduce duplication across multiple workflows.
- Introduced `environments.json` to centralize the list of PlatformIO build environments, improving maintainability and clarity.
- Updated `build.yml` and `build_and_docs_to_dev.yml` to utilize the new reusable workflows and environment definitions.
- Enhanced `release.yml` to streamline the release process and integrate documentation generation.
- Created reusable linting workflow (`task-lint.yml`) to standardize code formatting checks across the repository.
- Simplified manual documentation workflow by leveraging the new reusable documentation workflow.
- Improved artifact management and retention policies across workflows.
- Updated dependencies and versions in workflows to ensure compatibility and performance.

CI/CD pipeline agnostic of Workflow Engine and integrated on github actions

- Implemented ci.sh for orchestrating the complete build pipeline.
- Created ci_00_config.sh for centralized configuration of build scripts.
- Created ci_build_firmware.sh for building firmware for specified PlatformIO environments.
- Created ci_prepare_artifacts.sh for preparing firmware artifacts for upload or deployment.
- Created ci_set_version.sh for updating version tags in firmware configuration files.
- Created ci_build.sh to orchestrate the complete build pipeline.
- Created ci_qa.sh for code linting and formatting checks using clang-format.
- Created ci_site.sh for building and deploying VuePress documentation with version management.
- Implemented checks for required tools and dependencies in the new scripts.
- Improved internal scripts for better error handling and logging.

UPDATE the web installer manifest generation and update documentation structure
- Enhanced ci_list-env.sh to list environments from a JSON file.
- Replaced  common_wu.py and gen_wu.py scripts with new npm scripts for site generation and previewing on docsgen/gen_wu.js
- Replaced  generate_board_docs.py with docsgen/generated_board_docs.js
- Added new npm scripts for integration of site generation on build phase.
- Created preview_site.js to serve locally generated site over HTTPS with improved error handling.
- Added new CI environments for CI builds in environments.json.
- Deleted lint.yml as part of workflow cleanup.
- Enhanced task-build.yml to include linting as a job and added support for specifying PlatformIO version.
- Improved task-docs.yml to handle versioning more effectively and added clean option.

Enhance documentation
- ADD CLEAR Mark of development version of site
- Updated README.md to include detailed workflow dependencies and relationships using mermaid diagrams.
- Improved development.md with a quick checklist for contributors and clarified the code style guide.
- Enhanced quick_start.md with tips for contributors and streamlined the workflow explanation.

LINT FIX
- Refined User_config.h for better formatting consistency.
- Adjusted blufi.cpp and gatewayBT.cpp for improved code readability and consistency in formatting.
- Updated gatewaySERIAL.cpp and mqttDiscovery.cpp to enhance logging error messages.
- Improved sensorDS1820.cpp for better logging of device information.

Add security scan workflows for vulnerability detection

Add SBOM generation and upload to release workflow; update security scan summary handling

Add shellcheck suppor + FIX shellcheck warning

Enhance documentation for CI/CD scripts and workflows, adding details for security scanning and SBOM generation processes

Fix formatting and alignment in BLE connection handling

Reviewed the full web board presentation and the ESP32 web upload. The project uses a modern pattern where data is divided from the presentation layer.

- Removed the `generate_board_docs` script.
- Updated the `gen_wu` script in order to generate `boards-info.json`: the fail that containe all information about the configuration
- Created and isolate the file `boards-info.js` to streamline the parsing of PlatformIO dependencies, modules, environments and improve the handling of library information.
- Introduced vuepress component `BoardEnvironmentTable.vue` that render `boards-info.json` as UI card component
- Introduced vuepress component `FlashEnvironmentSelector.vue` that render a selectred environment from  `boards-info.json` and provide esp-web-upload feature on it
- Introduced a new board page `board-selector.md` for improved firmware selection.
- Updated `web-install.md` to enhance the firmware upload process, including a new board environment table.
- Enhanced custom descriptions in `environments.ini` to include HTML links for better user guidance and board image link

Add CC1101 initialization improvements and logging enhancements
Add installation step for PlatformIO dependencies in documentation workflow

Remove ci_set_version.sh script and associated versioning functionality

* Fix comment provisined

Fix PlatformIO version input reference in documentation workflow

Remove outdated Squeezelite-ESP32 installer documentation
2026-03-09 07:47:30 -05:00

2085 lines
65 KiB
INI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ENVIRONMENTS LIST ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;List of environments that can be build ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[env:rfbridge]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewaySRFB="SRFB"'
'-DLED_INFO=13'
'-DLED_INFO_ON=0'
'-DGateway_Name="OMG_SRFB"'
'-UMQTTsetMQTT' ;We remove this function to have sufficient FLASH available for OTA, you should also use ESPWifiManualSetup to save flash memory and have OTA working
board_build.flash_mode = dout
board_build.ldscript = eagle.flash.1m64.ld ;this frees more space for firmware uplad via OTA.
;extra_scripts = scripts/compressFirmware.py ;uncomment this to compress the firmware. This helps updating e.g. Sonoff RF Bridge via OTA flash by saving space for the uploaded firmware.
custom_description = RF gateway for the Sonoff RF Bridge relying on the internal decoder
custom_hardware = RFBridge v1
[env:rfbridge-direct]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.esppilight}
build_flags =
${com-esp.build_flags}
'-DZgatewayPilight="Pilight"'
'-DRF_RECEIVER_GPIO=4'
'-DRF_EMITTER_GPIO=5'
'-DLED_INFO=13'
'-DLED_INFO_ON=0'
'-DZsensorGPIOInput="GPIOInput"'
'-DINPUT_GPIO=0'
'-DGateway_Name="OMG_SRFB_Direct"'
'-fcommon'
board_build.flash_mode = dout
board_build.ldscript = eagle.flash.1m64.ld ;this frees more space for firmware uplad via OTA.
;extra_scripts = scripts/compressFirmware.py ;uncomment this to compress the firmware. This helps updating e.g. Sonoff RF Bridge via OTA flash by saving space for the uploaded firmware.
custom_description = 'RF gateway for the Sonoff RF Bridge requiring direct hack, relying on ESPilight library, <a href="https://1technophile.blogspot.com/2019/04/sonoff-rf-bridge-pilight-or-how-to.html" target="_blank">tutorial</a>.'
custom_hardware = RFBridge v1
[env:theengs-bridge]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.adafruit_neopixel}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DESP32_ETHERNET=true'
'-DETH_PHY_TYPE=ETH_PHY_LAN8720'
'-DETH_PHY_ADDR=0'
'-DETH_PHY_POWER=5'
'-DETH_PHY_MDC=23'
'-DETH_PHY_MDIO=18'
'-DETH_CLK_MODE=ETH_CLOCK_GPIO16_OUT'
'-DLED_ADDRESSABLE_PIN1=32'
'-DLED_ADDRESSABLE_NUM=4'
'-DLED_BROKER=0'
'-DLED_PROCESSING=1'
'-DLED_ERROR=1'
'-DDEFAULT_ADJ_BRIGHTNESS=10'
'-DLED_ADDRESSABLE=true'
'-DAttemptBLEConnect=false'
'-DUSE_MAC_AS_GATEWAY_NAME'
'-DGATEWAY_MANUFACTURER="Theengs"'
'-DGATEWAY_MODEL="TBRIDGE01"'
;'-DBOARD_HAS_PSRAM'
;'-mfix-esp32-psram-cache-issue'
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge01.theengs.io/" target="_blank">user guide</a>'
custom_hardware = Theengs Bridge gateway ethernet
[env:theengs-bridge-v11]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.adafruit_neopixel}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DESP32_ETHERNET=true'
'-DETH_PHY_TYPE=ETH_PHY_LAN8720'
'-DETH_PHY_ADDR=0'
'-DETH_PHY_POWER=5'
'-DETH_PHY_MDC=23'
'-DETH_PHY_MDIO=18'
'-DETH_CLK_MODE=ETH_CLOCK_GPIO16_OUT'
'-DLED_ADDRESSABLE=true'
'-DLED_ADDRESSABLE_PIN1=32'
'-DLED_ADDRESSABLE_NUM=4'
'-DLED_ERROR=3'
'-DLED_PROCESSING=3'
'-DLED_BROKER=2'
'-DLED_NETWORK=1'
'-DLED_POWER=0'
'-DAttemptBLEConnect=false'
'-DTRIGGER_GPIO=4'
'-DUSE_MAC_AS_GATEWAY_NAME'
'-DGATEWAY_MANUFACTURER="Theengs"'
'-DGATEWAY_MODEL="TBRIDGE02"'
;'-DBOARD_HAS_PSRAM'
;'-DSELF_TEST=true'
;'-mfix-esp32-psram-cache-issue'
custom_description = 'BLE gateway with external antenna and Ethernet/WiFi connectivity, <a href="https://tbridge02.theengs.io/" target="_blank">user guide</a>'
custom_hardware = Theengs Bridge gateway ethernet
custom_img = img/Theengs-Bridge-ble-gateway.png
; DISCLAIMER: This is the default environment for Theengs Plug.
; Any modifications to this configuration are not covered by warranty.
; Proceed with caution when making changes.
;
; SAFETY WARNING: Do not modify values related to current limits MAX_CURRENT_ACTUATOR or other
; safety-critical parameters. Doing so may lead to fire hazards or damage to the device.
[env:theengs-plug]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
${libraries.rn8209}
build_flags =
${env.build_flags}
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZsensorRN8209="RN8209"'
'-DRN8209_KU=18570'
'-DRN8209_KIA=265263'
'-DRN8209_EC=26675'
'-DTRIGGER_GPIO=4'
'-DZactuatorONOFF="ONOFF"'
'-DACTUATOR_ON=1'
'-DACTUATOR_OFF=0'
'-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
'-ACTUATOR_TRIGGER=true'
'-DZsensorGPIOInput="GPIOInput"'
'-DINPUT_GPIO=4'
'-DACTUATOR_ONOFF_GPIO=25'
'-DAttemptBLEConnect=false'
'-DLED_ADDRESSABLE=true'
'-DLED_ADDRESSABLE_PIN1=26'
'-DLED_ADDRESSABLE_PIN2=27'
'-DLED_ADDRESSABLE_NUM=2'
'-DLED_ADDRESSABLE_POWER=16'
'-DLED_ERROR=0'
'-DLED_PROCESSING=0'
'-DLED_BROKER=0'
'-DLED_NETWORK=0'
'-DLED_ACTUATOR_ONOFF=1'
; Maximum current in A DO NOT MODIFY MAX_CURRENT_ACTUATOR
;-----------------------------
'-DMAX_CURRENT_ACTUATOR=15.0'
;-----------------------------
'-DWM_PWD_FROM_MAC=true'
'-DUSE_MAC_AS_GATEWAY_NAME'
'-DDEFAULT_LOW_POWER_MODE=DEACTIVATED'
'-DGATEWAY_MANUFACTURER="Theengs"'
'-DGATEWAY_MODEL="TPLUG01"'
'-UZwebUI="WebUI"' ; Disable WebUI
custom_description = 'Smart Plug, BLE Gateway and energy monitoring, <a href="https://tplug01.theengs.io/" target="_blank">user guide</a>'
custom_hardware = Theengs Plug
custom_img = img/Theengs-Plug-OpenMQTTGateway.png
[env:esp32dev-all-test]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = partitions/alltest_large.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.irremoteesp}
${libraries.lora}
${libraries.rfm69}
${libraries.rfm69spi}
${libraries.rc-switch}
${libraries.newremoteswitch}
${libraries.bme280}
${libraries.bmp180}
${libraries.htu21}
${libraries.lm75}
${libraries.ahtx0}
${libraries.unifiedsensor}
${libraries.dht}
${libraries.tsl2561}
${libraries.ina226}
${libraries.fastled}
${libraries.adafruit_neopixel}
${libraries.onewire}
${libraries.dallastemperature}
${libraries.rfWeatherStation}
${libraries.shtc3}
${libraries.rn8209}
build_flags =
${com-esp32.build_flags}
'-DZgatewayRF="RF"'
'-DZgatewayLORA="LORA"'
'-DZgatewayRF2="RF2"'
'-DZgatewayIR="IR"'
'-DZgatewayBT="BT"'
'-DZactuatorONOFF="ONOFF"'
'-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
'-ACTUATOR_TRIGGER=true'
'-DZactuatorFASTLED="FASTLED"'
'-DZactuatorPWM="PWM"'
'-DZsensorINA226="INA226"'
'-DZsensorHCSR501="HCSR501"'
'-DZsensorADC="ADC"'
'-DZsensorBH1750="BH1750"'
'-DZsensorBME280="BME280"'
'-DBME280Correction=-3.4'
'-DZsensorHTU21="HTU21"'
'-DZsensorAHTx0="AHTx0"'
'-DZsensorTEMT6000="TEMT6000"'
'-DZsensorMQ2="MQ2"'
'-DZsensorTSL2561="TSL2561"'
'-DZsensorDHT="DHT"'
'-DZsensorDS1820="DS1820"'
'-DZgatewayRFM69="RFM69"'
'-DZsensorGPIOInput="GPIOInput"'
'-DZsensorGPIOKeyCode="GPIOKeyCode"'
'-DZsensorRN8209="RN8209"'
'-DMAX_TEMP_ACTUATOR=80'
'-DZgatewayWeatherStation="WeatherStation"'
'-DsimplePublishing=true'
'-DWM_PWD_FROM_MAC=true'
'-DUSE_MAC_AS_GATEWAY_NAME=true'
'-DZsensorC37_YL83_HMRD="HMRD"'
'-DESPWifiManualSetup=true'
'-Dwifi_ssid="wifissid"'
'-Dwifi_password="wifipassword"'
'-DMQTT_SERVER="192.168.0.20"'
'-DMQTT_USER=""'
'-DMQTT_PASS=""'
'-DMQTT_PORT="1883"'
'-DMDNS_SD=true'
'-DDEEP_SLEEP_IN_US=120000000' ; Deep sleep for a period of time to conserve battery
'-DESP32_EXT0_WAKE_PIN=GPIO_NUM_14' ;Should a water leak be detected immediatly wake the ESP32 and report the problem
'-DESP32_EXT0_WAKE_PIN_STATE=0' ;Should a water leak be detected immediatly wake the ESP32 and report the problem, sensor state to look for wakeup
'-UMQTT_HTTPS_FW_UPDATE' ;disable HTTPS firmware updating
'-DNetworkAdvancedSetup=true'
'-DNET_IP="192.168.1.99"'
'-DNET_MASK="255.255.255.0"'
'-DNET_GW="192.168.1.1"'
'-DNET_DNS="1.1.1.1"'
[env:esp32dev-rf]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rc-switch}
build_flags =
${com-esp32.build_flags}
'-DZgatewayRF="RF"'
'-DGateway_Name="OMG_ESP32_RF"'
'-DvalueAsATopic=true'
custom_description = RF gateway using RCSwitch library
[env:esp32dev-pilight]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
extra_scripts = pre:scripts/add_c_flags.py
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.esppilight}
build_flags =
${com-esp32.build_flags}
'-DZgatewayPilight="Pilight"'
'-DGateway_Name="OMG_ESP32_Pilight"'
custom_description = RF gateway using ESPilight library
[env:esp32dev-pilight-cc1101]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
extra_scripts = pre:scripts/add_c_flags.py
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.esppilight}
${libraries.smartrc-cc1101-driver-lib}
build_flags =
${com-esp32.build_flags}
'-DZgatewayPilight="Pilight"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP32_Pilight-CC1101"'
custom_description = Gateway using ESPilight library only, need CC1101
[env:esp32dev-somfy-cc1101]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.somfy_remote}
${libraries.smartrc-cc1101-driver-lib}
build_flags =
${com-esp32.build_flags}
'-DZactuatorSomfy="Somfy"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP32_Somfy-CC1101"'
custom_description = Gateway using Somfy Remote library, need CC1101
[env:esp32dev-pilight-somfy-cc1101]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
extra_scripts = pre:scripts/add_c_flags.py
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.esppilight}
${libraries.somfy_remote}
${libraries.smartrc-cc1101-driver-lib}
build_flags =
${com-esp32.build_flags}
'-DZgatewayPilight="Pilight"'
'-DZactuatorSomfy="Somfy"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP32_Pilight-Somfy-CC1101"'
custom_description = Gateway using Somfy Remote and ESPilight library, need CC1101
[env:esp32dev-weatherstation]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rfWeatherStation}
build_flags =
${com-esp32.build_flags}
'-DZgatewayWeatherStation="WeatherStation"'
'-DGateway_Name="OMG_ESP32_WeatherStation"'
custom_description = Gateway to retrieve weather station data Ventus W174/W132 (tested), Auriol H13726, Hama EWS 1500, Meteoscan W155/W160 using WeatherStationDataRx
[env:esp32dev-gf-sun-inverter]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.emodbus}
${libraries.gfSunInverter}
build_flags =
${com-esp32.build_flags}
'-DZgatewayGFSunInverter="GFSunInverter"'
'-DGateway_Name="OMG_ESP32_GFSunInverter"'
custom_description = RS232 reading of GridFree Sun Inverter
[env:esp32dev-ir]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.irremoteesp}
build_flags =
${com-esp32.build_flags}
'-DZgatewayIR="IR"'
'-DGateway_Name="OMG_ESP32_IR"'
custom_description = Infrared (Emitting and receiving) using IRremoteESP8266
[env:esp32dev-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_ESP32_BLE"'
custom_description = Regular BLE gateway with adaptive scanning activated, automatically adapts the scan parameters depending on your devices
[env:esp32dev-ble-broker]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_ESP32_BLE"'
'-DMQTT_BROKER_MODE=true'
custom_description = MQTT Broker with BLE gateway with adaptive scanning activated, automatically adapts the scan parameters depending on your devices
[env:esp32dev-ble-mqtt-undecoded]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
build_flags =
${com-esp32.build_flags}
'-DBLEDecoder=false'
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_ESP32_BLE"'
'-DMQTTDecodeTopic="undecoded"'
custom_description = BLE gateway with the decoding offloaded to Theengs Gateway
[env:esp32dev-ble-aws]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-UZmqttDiscovery="HADiscovery"'
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DARDUINO_LOOP_STACK_SIZE=17500'
'-DMQTT_SECURE_DEFAULT=true'
'-DMQTT_CERT_VALIDATE_DEFAULT=true'
'-DMQTT_SECURE_SIGNED_CLIENT=true'
'-DMQTT_SERVER="xxxxxxxxxxxxx-ats.iot.eu-west-2.amazonaws.com"'
'-DMQTT_PORT="8883"'
'-DMQTT_USER=""'
'-DMQTT_PASS=""'
'-DAWS_IOT=true'
custom_description = BLE gateway with AWS integration capability
[env:esp32feather-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = featheresp32
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=13'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_ESP32_FTH_BLE"'
custom_description = BLE Gateway
custom_hardware = ESP32 Feather Adafruit
[env:esp32-lolin32lite-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = lolin32
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=22'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_LOLIN32LITE_BLE"'
;; Low power parameters, uncomment and fill credentials
'-DDEFAULT_LOW_POWER_MODE=INTERVAL'
; '-DTimeBtwRead=155000'
; '-DScan_duration=2000'
; '-DAttemptBLEConnect=false'
; '-DAdaptiveBLEScan=false'
; '-DESPWifiManualSetup=true'
; '-DMQTT_USER="lolin-esp32"'
; '-DMQTT_PASS="your_password"'
; '-DMQTT_SERVER="192.168.1.17"'
; '-Dwifi_ssid="WIFI_SSID"'
; '-Dwifi_password="WIFI_PASSWORD"'
custom_description = 'Suitable for low power with BLE gateway, <a href="https://1technophile.blogspot.com/2021/04/low-power-esp32-ble-gateway.html" target="_blank">tutorial</a>'
custom_hardware = LOLIN 32 Lite
[env:esp32-olimex-gtw-ble-eth]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-gateway
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=33'
'-DLED_PIN_ON=1'
'-DTRIGGER_GPIO=34'
'-DESP32_ETHERNET=true'
'-DGateway_Name="OMG_ESP32_OLM_GTWE"'
custom_description = BLE gateway using ethernet or wifi
custom_hardware = OLIMEX ESP32 Gateway
[env:esp32-olimex-gtw-ble-poe]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-poe
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DESP32_ETHERNET=true'
'-DGateway_Name="OMG_ESP32_OLM_POE"'
custom_description = BLE gateway using ethernet, need to be configured through PIO
custom_hardware = OLIMEX ESP32 Gateway with POE
[env:esp32-olimex-gtw-ble-poe-iso]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-poe-iso
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DESP32_ETHERNET=true'
'-DGateway_Name="OMG_ESP32_OLM_POE"'
custom_description = BLE gateway using ethernet, need to be configured through PIO
custom_hardware = OLIMEX ESP32 Gateway with POE and ISO
[env:esp32-wt32-eth01-ble-eth]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-gateway
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DESP32_ETHERNET=true'
'-DETH_PHY_ADDR=1'
'-DETH_PHY_POWER=16'
'-DETH_CLK_MODE=ETH_CLOCK_GPIO0_IN'
'-DGateway_Name="OMG_ESP32_WT32-ETH01"'
custom_description = BLE gateway using ethernet, need to be configured through PIO
custom_hardware = WT32
[env:esp32-olimex-gtw-ble-wifi]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-gateway
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_INFO=33'
'-DLED_INFO_ON=1'
'-DTRIGGER_GPIO=34'
'-DGateway_Name="OMG_ESP32_OLM_GTWW"'
custom_description = BLE gateway using wifi
custom_hardware = OLIMEX ESP32 Gateway
[env:esp32-m5stick-ble]
platform = espressif32@6.1.0
board = m5stack-core-esp32
board_build.partitions = partitions/no_coredump.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.irremoteesp}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DLED_PIN=19'
'-DLED_PIN_ON=1'
'-DTRIGGER_GPIO=35'
'-DIR_EMITTER_GPIO=17'
'-DDEFAULT_LOW_POWER_MODE=ALWAYS_ON'
'-DGateway_Name="OMG_ESP32_M5STICK_BLE_IR"'
board_upload.speed = 921600
custom_description = Expandable module with BLE gateway, display, and little IR emitter
custom_hardware = M5Stick Grey
[env:esp32-m5stack-ble]
platform = espressif32@6.1.0
board = m5stack-core-esp32
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.m5stack}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZsensorGPIOInput="GPIOInput"'
'-DZboardM5STACK="M5Stack"'
'-DLED_PIN=15'
'-DTRIGGER_GPIO=37'
'-DSLEEP_BUTTON=38'
'-DINPUT_GPIO=39'
'-DDEFAULT_LOW_POWER_MODE=ALWAYS_ON'
'-DGateway_Name="OMG_ESP32_M5STACK_BLE"'
board_upload.speed = 921600
custom_description = Expandable module with BLE gateway and display
custom_hardware = M5Stack Core
[env:esp32-m5tough-ble]
platform = espressif32@6.1.0
board = m5stack-core-esp32
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.m5tough}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZboardM5TOUGH="M5Tough"'
'-DGateway_Name="OMG_ESP32_M5TOUGH_BLE"'
board_upload.speed = 921600
custom_description = Expandable module with BLE gateway and display, suitable for outdoor
custom_hardware = M5Tough rugged
[env:esp32-m5stick-c-ble]
platform = espressif32@6.1.0
board = m5stick-c
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.m5stickc}
${libraries.irremoteesp}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DZsensorGPIOInput="GPIOInput"'
'-DZboardM5STICKC="M5StickC"'
'-DACTUATOR_ONOFF_GPIO=10'
'-DINPUT_GPIO=37'
'-DLED_PIN=10'
'-DLED_PIN_ON=0'
'-DSLEEP_BUTTON=39'
'-DTRIGGER_GPIO=39'
'-DIR_EMITTER_INVERTED=true'
'-DIR_EMITTER_GPIO=9'
'-DDEFAULT_LOW_POWER_MODE=ALWAYS_ON'
'-DGateway_Name="OMG_ESP32_M5STICK_C_BLE_IR"'
board_upload.speed = 1500000
custom_description = Expandable module with BLE gateway, display, and little IR emitter
custom_hardware = M5Stick C
[env:esp32-m5stick-cp-ble]
platform = espressif32@6.1.0
board = pico32
board_build.partitions = partitions/no_coredump.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.m5stickcp}
${libraries.irremoteesp}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DZsensorGPIOInput="GPIOInput"'
'-DZboardM5STICKCP="M5StickCP"'
'-DACTUATOR_ONOFF_GPIO=10'
'-DINPUT_GPIO=37'
'-DLED_PIN=10'
'-DLED_PIN_ON=0'
'-DSLEEP_BUTTON=39'
'-DTRIGGER_GPIO=39'
'-DIR_EMITTER_INVERTED=true'
'-DIR_EMITTER_GPIO=9'
'-DDEFAULT_LOW_POWER_MODE=ALWAYS_ON'
'-DGateway_Name="OMG_ESP32_M5STICK_CP_BLE_IR"'
board_upload.speed = 1500000
custom_description = Expandable module with BLE gateway, display, and little IR emitter
custom_hardware = M5Stick CP
[env:esp32-m5atom-matrix]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = pico32
board_build.partitions = partitions/no_coredump.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.irremoteesp}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DTRIGGER_GPIO=39'
'-DSLEEP_BUTTON=39'
'-DIR_EMITTER_GPIO=12'
'-DLED_ADDRESSABLE_PIN1=27'
'-DLED_ADDRESSABLE_NUM=25'
'-DLED_ADDRESSABLE=true'
'-DLED_ERROR=4'
'-DLED_PROCESSING=3'
'-DLED_BROKER=2'
'-DLED_NETWORK=1'
'-DLED_POWER=0'
'-DGateway_Name="OMG_ATOM_M"'
board_upload.speed = 1500000
custom_description = Compact enclosure ESP32 with BLE gateway
custom_hardware = M5 ATOM Matrix
[env:esp32-m5atom-lite]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = pico32
board_build.partitions = partitions/no_coredump.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.irremoteesp}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DTRIGGER_GPIO=39'
'-DSLEEP_BUTTON=39'
'-DIR_EMITTER_GPIO=12'
'-DLED_ADDRESSABLE_PIN1=27'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DGateway_Name="OMG_ATOM_L"'
board_upload.speed = 1500000
custom_description = Compact enclosure ESP32 with BLE gateway
custom_hardware = M5 ATOM Lite
[env:esp32doitv1-aithinker-r01-sx1278]
platform = espressif32@6.1.0
board = esp32doit-devkit-v1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_rtl_433_ESP"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** rtl_433_ESP Options ***
'-DONBOARD_LED=LED_BUILTIN'
; '-DRTL_DEBUG=4' ; rtl_433 verbose mode
; '-DRTL_VERBOSE=58' ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
; '-DRAW_SIGNAL_DEBUG=true' ; display raw received messages
; '-DMEMORY_DEBUG=true' ; display memory usage information
; '-DDEMOD_DEBUG=true' ; display signal debug info
; '-DMY_DEVICES=true' ; subset of devices
; '-DPUBLISH_UNPARSED=true' ; publish unparsed signal details
; '-DRSSI_THRESHOLD=12' ; Apply a delta of 12 (default 9)
; '-DOOK_FIXED_THRESHOLD=0x50' ; Inital OOK Threhold - Only for SX127X (default 5A)
; '-DAVERAGE_RSSI=5000' ; Display RSSI floor ( Average of 5000 samples )
; '-DSIGNAL_RSSI=true' ; Display during signal receive
; *** RF Module Options ***
'-DRF_SX1278="SX1278"' ;
'-DRF_MODULE_DIO0=15' ; SX1278 pin DIO0
'-DRF_MODULE_DIO1=4' ; SX1278 pin DIO1
'-DRF_MODULE_DIO2=16' ; SX1278 pin DIO2
'-DRF_MODULE_RST=17' ; pin to be used as hardware reset
; '-DRF_MODULE_INIT_STATUS=true' ; Display transceiver config during startup
; *** Heltec module requires non-standard SPI Config ***
'-DRF_MODULE_CS=5' ; pin to be used as chip select
; '-DRF_MODULE_MOSI=23'
; '-DRF_MODULE_MISO=19'
; '-DRF_MODULE_SCK=18'
; *** RadioLib Options ***
; '-DRADIOLIB_DEBUG=true'
; '-DRADIOLIB_VERBOSE=true'
custom_description = Gateway using RTL_433_ESP library, need SX1278
custom_hardware = ESP32 DOIT DevKit V1 & external Ai Thinker Ra01 Loraboard SX1278 on VPSI and (DIO0=15, DIO1=4, DIO2=16 and RST=17)
board_upload.speed = 921600
board_upload.port = /dev/cu.usbserial-0001
board_monitor.speed = 921600
board_monitor.port = /dev/cu.usbserial-0001
[env:esp32doitv1-aithinker-r01-sx1278-hcsr501-test]
extends = env:esp32doitv1-aithinker-r01-sx1278
lib_deps = ${env:esp32doitv1-aithinker-r01-sx1278.lib_deps}
${libraries.unifiedsensor}
build_flags =
${env:esp32doitv1-aithinker-r01-sx1278.build_flags}
'-DHCSR501_LED_NOTIFY_GPIO=LED_BUILTIN'
'-DWifiGMode=true'
'-DWifiPower=WIFI_POWER_11dBm'
'-DZsensorHCSR501="HCSR501"'
'-DHCSR501_GPIO=13'
[env:esp32doitv1-aithinker-r01-sx1278-hcsr501-ota-test]
extends = env:esp32doitv1-aithinker-r01-sx1278-hcsr501-test
upload_protocol = espota
upload_port = 10.0.0.108
upload_flags =
--auth=OTAPASSWORD
--port=8266
[env:esp32doitv1-aithinker-r01-sx1278-ota-test]
extends = env:esp32doitv1-aithinker-r01-sx1278
upload_protocol = espota
upload_port = 10.0.0.70
upload_flags =
--auth=OTAPASSWORD
--port=8266
[env:esp32dev-rtl_433]
platform = espressif32@6.1.0
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rtl_433_ESP}
${libraries.smartrc-cc1101-driver-lib}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DLOG_LEVEL=LOG_LEVEL_TRACE'
'-DGateway_Name="OMG_rtl_433_ESP"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioCC1101="CC1101"'
; *** rtl_433_ESP Options ***
; '-DRTL_DEBUG=4' ; rtl_433 verbose mode
; '-DRTL_VERBOSE=58' ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
; '-DRAW_SIGNAL_DEBUG=true' ; display raw received messages
; '-DMEMORY_DEBUG=true' ; display memory usage information
'-DDEMOD_DEBUG=true' ; display signal debug info
; '-DMY_DEVICES=true' ; subset of devices
'-DPUBLISH_UNPARSED=true' ; publish unparsed signal details
; '-DRSSI_THRESHOLD=12' ; Apply a delta of 12 to average RSSI level
; '-DAVERAGE_RSSI=5000' ; Display RSSI floor ( Average of 5000 samples )
'-DSIGNAL_RSSI=true' ; Display during signal receive
'-DNO_DEAF_WORKAROUND=true'
; *** RF Module Options ***
'-DRF_CC1101="CC1101"' ; CC1101 Transceiver Module
; '-DRF_MODULE_CS=5' ; pin to be used as chip select
'-DRF_MODULE_GDO0=12' ; CC1101 pin GDO0
'-DRF_MODULE_GDO2=27' ; CC1101 pin GDO2
; *** RadioLib Options ***
; '-DRADIOLIB_DEBUG=true'
; '-DRADIOLIB_VERBOSE=true'
custom_description = Gateway using RTL_433_ESP library, need CC1101
[env:esp32dev-rtl_433-fsk]
platform = espressif32@6.1.0
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rtl_433_ESP}
${libraries.smartrc-cc1101-driver-lib}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DLOG_LEVEL=LOG_LEVEL_TRACE'
'-DGateway_Name="OMG_rtl_433_ESP_FSK"'
; *** OpenMQTTGateway Modules ***
'-DOOK_MODULATION=false' ; FSK modulation activated
;'-DRF_FREQUENCY=915'
'-DRF_FREQUENCY=868.300'
;-DRF_FREQUENCY=433.9'
'-DZgatewayRTL_433="rtl_433"'
'-DZradioCC1101="CC1101"'
; *** rtl_433_ESP Options ***
; '-DRTL_DEBUG=4' ; rtl_433 verbose mode
; '-DRTL_VERBOSE=58' ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor
; '-DRAW_SIGNAL_DEBUG=true' ; display raw received messages
; '-DMEMORY_DEBUG=true' ; display memory usage information
'-DDEMOD_DEBUG=true' ; display signal debug info
; '-DMY_DEVICES=true' ; subset of devices
'-DPUBLISH_UNPARSED=true' ; publish unparsed signal details
; '-DRSSI_THRESHOLD=12' ; Apply a delta of 12 to average RSSI level
; '-DAVERAGE_RSSI=5000' ; Display RSSI floor ( Average of 5000 samples )
'-DSIGNAL_RSSI=true' ; Display during signal receive
'-DNO_DEAF_WORKAROUND=true'
; *** RF Module Options ***
'-DRF_CC1101="CC1101"' ; CC1101 Transceiver Module
; '-DRF_MODULE_CS=5' ; pin to be used as chip select
'-DRF_MODULE_GDO0=12' ; CC1101 pin GDO0
'-DRF_MODULE_GDO2=27' ; CC1101 pin GDO2
; *** RadioLib Options ***
; '-DRADIOLIB_DEBUG=true'
; '-DRADIOLIB_VERBOSE=true'
custom_description = Gateway using RTL_433_ESP library and RadioLib with FSK modulation (beta), need CC1101
[env:heltec-rtl_433]
platform = espressif32@6.1.0
board = heltec_wifi_lora_32_V2
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_heltec_rtl_433_ESP_OOK"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="HELTEC_SSD1306"'
; '-DLOG_TO_OLED=false' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = Gateway using RTL_433_ESP and RadioLib
custom_hardware = ESP32 HELTEC LORA32 V2
[env:heltec-rtl_433-fsk]
platform = espressif32@6.1.0
board = heltec_wifi_lora_32_V2
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_heltec_rtl_433_ESP_FSK"'
'-DOOK_MODULATION=false' ; FSK modulation activated
'-DRF_FREQUENCY=915'
;-DRF_FREQUENCY=868.300'
;-DRF_FREQUENCY=433.9'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="HELTEC_SSD1306"'
; '-DLOG_TO_OLED=false' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = Gateway using RTL_433_ESP and RadioLib with FSK modulation (beta)
custom_hardware = ESP32 HELTEC LORA32 V2
[env:heltec-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = heltec_wifi_lora_32_V2
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DZgatewayBT="BT"'
'-DGateway_Name="OMG_heltec_ble"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="HELTEC_SSD1306"'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = Heltec BLE gateway with adaptive scanning activated, automatically adapts the scan parameters depending on your devices
custom_hardware = ESP32 HELTEC LORA32 V2
[env:lilygo-rtl_433]
platform = espressif32@6.1.0
board = ttgo-lora32-v21
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_lilygo_rtl_433_ESP_OOK"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib
custom_hardware = ESP32 LILYGO LoRa32 V2.1
[env:lilygo-rtl_433-fsk]
platform = espressif32@6.1.0
board = ttgo-lora32-v21
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_lilygo_rtl_433_ESP_FSK"'
'-DOOK_MODULATION=false' ; FSK modulation activated
'-DRF_FREQUENCY=915'
;-DRF_FREQUENCY=868.300'
;-DRF_FREQUENCY=433.9'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib with FSK modulation (beta)
custom_hardware = ESP32 LILYGO LoRa32 V2.1
[env:lilygo-t3-s3-rtl_433]
platform = espressif32@6.10.0
board = lilygo-t3-s3
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_lilygo_rtl_433_ESP_OOK"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
'-DGenericSSD1306=true'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
'-DNO_INT_TEMP_READING=true'
; '-DLED_PIN=37'
'-DOLED_SDA=18' ; SSD1306 pin SDA
'-DOLED_SCL=17' ; SSD1306 pin SCL
'-DRF_SX1276="SX1276"'
'-DRF_MODULE_SCK=5'
'-DRF_MODULE_MISO=3'
'-DRF_MODULE_MOSI=6'
'-DRF_MODULE_CS=7'
'-DRF_MODULE_RST=8'
'-DRF_MODULE_DIO0=9'
'-DRF_MODULE_DIO1=33'
'-DRF_MODULE_DIO2=34'
'-DRF_MODULE_DIO3=21'
'-DRF_MODULE_DIO4=10'
'-DRF_MODULE_DIO5=36'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib with FSK modulation (beta)
custom_hardware = ESP32 LILYGO T3-S3 SX1276 v1.0
[env:lilygo-t3-s3-rtl_433-fsk]
platform = espressif32@6.10.0
board = lilygo-t3-s3
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.rtl_433_ESP}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DvalueAsATopic=true' ; MQTT topic includes model and device
'-DGateway_Name="OMG_lilygo_rtl_433_ESP_FSK"'
'-DOOK_MODULATION=false' ; FSK modulation activated
'-DRF_FREQUENCY=915'
;-DRF_FREQUENCY=868.300'
;-DRF_FREQUENCY=433.9'
; *** OpenMQTTGateway Modules ***
'-DZgatewayRTL_433="rtl_433"'
'-DZradioSX127x="SX127x"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
'-DGenericSSD1306=true'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
'-DNO_INT_TEMP_READING=true'
; '-DLED_PIN=37'
'-DOLED_SDA=18' ; SSD1306 pin SDA
'-DOLED_SCL=17' ; SSD1306 pin SCL
'-DRF_SX1276="SX1276"'
'-DRF_MODULE_SCK=5'
'-DRF_MODULE_MISO=3'
'-DRF_MODULE_MOSI=6'
'-DRF_MODULE_CS=7'
'-DRF_MODULE_RST=8'
'-DRF_MODULE_DIO0=9'
'-DRF_MODULE_DIO1=33'
'-DRF_MODULE_DIO2=34'
'-DRF_MODULE_DIO3=21'
'-DRF_MODULE_DIO4=10'
'-DRF_MODULE_DIO5=36'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib with FSK modulation (beta)
custom_hardware = ESP32 LILYGO T3-S3 SX1276 v1.0
[env:lilygo-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = ttgo-lora32-v21
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DZgatewayBT="BT"'
'-DGateway_Name="OMG_lilygo_ble"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = LilyGo BLE gateway with adaptive scanning activated, automatically adapts the scan parameters depending on your devices
custom_hardware = ESP32 LILYGO LoRa32 V2.1
[env:esp32dev-multi_receiver]
platform = espressif32@6.1.0
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rc-switch}
${libraries.smartrc-cc1101-driver-lib}
${libraries.rtl_433_ESP}
${libraries.newremoteswitch}
build_flags =
${com-esp32.build_flags}
'-DZgatewayRF="RF"'
'-DZgatewayRF2="RF2"'
'-DZgatewayRTL_433="RTL_433"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_multi_receiver"'
'-DvalueAsATopic=true' ; MQTT topic includes model and device (rtl_433) or protocol and id (RF and PiLight)
; *** RF Module Options ***
'-DRF_CC1101="CC1101"' ; CC1101 Transceiver Module
'-DRF_MODULE_CS=5' ; pin to be used as chip select
'-DRF_MODULE_GDO0=12' ; CC1101 pin GDO0
'-DRF_MODULE_GDO2=27' ; CC1101 pin GDO2
; '-DRF_MODULE_INIT_STATUS=true' ; Display transceiver config during startup
custom_description = Multi RF library with the possibility to switch between RTL_433_ESP, NewRemoteSwitch and RCSwitch, need CC1101
[env:esp32dev-multi_receiver-pilight]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
extra_scripts = pre:scripts/add_c_flags.py
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.rc-switch}
${libraries.smartrc-cc1101-driver-lib}
${libraries.esppilight}
${libraries.newremoteswitch}
build_flags =
${com-esp32.build_flags}
'-DZgatewayRF="RF"'
'-DZgatewayRF2="RF2"'
'-DZgatewayPilight="Pilight"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_multi_receiver"'
'-DvalueAsATopic=true' ; MQTT topic includes model and device (rtl_433) or protocol and id (RF and PiLight)
; *** RF Module Options ***
'-DRF_CC1101="CC1101"' ; CC1101 Transceiver Module
'-DRF_MODULE_CS=5' ; pin to be used as chip select
'-DRF_MODULE_GDO0=12' ; CC1101 pin GDO0
'-DRF_MODULE_GDO2=27' ; CC1101 pin GDO2
; '-DRF_MODULE_INIT_STATUS=true' ; Display transceiver config during startup
custom_description = Multi RF library with the possibility to switch between ESPilight, NewRemoteSwitch and RCSwitch, need CC1101
[env:tinypico-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = tinypico
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DGateway_Name="OMG_ESP32_TINYPICO_BLE"'
board_build.flash_mode = dio
custom_description = BLE gateway
custom_hardware = ESP32 TinyPICO
[env:ttgo-lora32-v1]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = ttgo-lora32-v1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.lora}
build_flags =
${com-esp32.build_flags}
'-DZgatewayLORA="LORA"'
'-DLORA_BAND=868E6'
'-DZdisplaySSD1306="LilyGo_SSD1306"'
'-DSDA_OLED=4'
'-DSCL_OLED=15'
'-DRST_OLED=16'
'-DWIFI_LoRa_32=true'
'-DGateway_Name="OMG_ESP32_LORA"'
custom_description = LORA communication using arduino-LoRA configurable frequency
custom_hardware= ESP32 TTGO LORA V1
[env:ttgo-lora32-v21]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = ttgo-lora32-v21
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ssd1306}
${libraries.lora}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
;'-UZmqttDiscovery' ; disables MQTT Discovery
'-DGateway_Name="OMG_ESP32_LORA"'
; *** OpenMQTTGateway Modules ***
'-DZgatewayLORA="LORA"'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="LilyGo_SSD1306"'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = For ESP32, Gateway using LORA
custom_hardware = ESP32 LILYGO LoRa32 V2.1
[env:ttgo-t-beam]
# See version pinout differences here
# https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-3/18436
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = ttgo-t-beam
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.lora}
build_flags =
${com-esp32.build_flags}
'-DZgatewayLORA="LORA"'
'-DZgatewayBT="BT"'
'-DGateway_Name="OMG_ESP32_BLE_LORA"'
'-DLED_PIN=21' # T-BEAM board V0.5
# '-DLED_PIN=14' # T-BEAM board V0.7
# '-DLED_PIN=4' # T-BEAM board V1.0+
'-DTimeLedON=0.05'
'-DLED_PIN_ON=1' # Set 0 for board V1.0+
# for V0.5 and V0.7 ONLY (V1.0+ as onboard AXP202 dedicated chip, need driver)
# it's a 100K/100K divider (so 2 divider) and connected to GPIO35
'-DZsensorADC="ADC"'
'-DADC_GPIO=35'
'-DADC_DIVIDER=2'
# Reading battery level every minutes should be more than enought
'-DTimeBetweenReadingADC=60000'
custom_description = BLE gateway with battery holder
custom_hardware = TTGO T BEAM
[env:heltec-wifi-lora-32] ; Heltec ESP32 Board with SSD1306 display
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = heltec_wifi_lora_32
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.lora}
${libraries.ssd1306}
build_flags =
${com-esp32.build_flags}
; *** OpenMQTTGateway Modules ***
'-DZgatewayLORA="LORA"'
'-DLORA_BAND=868E6'
'-DGateway_Name="OMG_ESP32_LORA"'
'-DLED_PIN=25'
'-DTimeLedON=0.1'
'-DLED_PIN_ON=1'
; *** ssd1306 Display Options ***
'-DZdisplaySSD1306="HELTEC_SSD1306"'
; '-DLOG_TO_OLED=true' ; Enable log to OLED
; '-DJSON_TO_OLED=true'
; '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
; '-DDISPLAY_IDLE_LOGO=false'
; '-DDISPLAY_BRIGHTNESS=80'
; '-DDISPLAY_METRIC=false'
custom_description = LORA communication using arduino-LoRA
custom_hardware = ESP32 HELTEC LORA32
; For testing only, not for production use
[env:shelly-plus1]
platform = ${com.esp32_solo_platform}
board = esp32-solo1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${env.build_flags}
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DTimeBtwRead=100'
'-DScan_duration=3000'
'-DTRIGGER_GPIO=25'
'-DZactuatorONOFF="ONOFF"'
'-DACTUATOR_ON=1'
'-DACTUATOR_OFF=0'
'-DACTUATOR_TRIGGER=true'
'-DZsensorGPIOInput="GPIOInput"'
'-DINPUT_GPIO=4'
'-DGPIO_INPUT_TYPE=INPUT'
'-DACTUATOR_ONOFF_GPIO=26'
'-DZsensorADC="ADC"'
'-DADC_GPIO=32'
;'-DMAX_TEMP_ACTUATOR=70' ; uncomment to activate automatic switch off following ESP32 temperature measurement (experimental)
'-DUSE_MAC_AS_GATEWAY_NAME'
'-DFRAMEWORK_ARDUINO_SOLO1'
'-DGATEWAY_MANUFACTURER="Shelly"'
'-DGATEWAY_MODEL="SPLUS1"'
custom_description = BLE, Relay control, Switch
custom_hardware = Shelly Plus 1
[env:nodemcuv2-all-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
;${libraries.esppilight}
${libraries.irremoteesp}
${libraries.rfm69}
${libraries.rfm69spi}
; ${libraries.rc-switch}
; ${libraries.newremoteswitch}
${libraries.bme280}
${libraries.bmp180}
;${libraries.htu21}
${libraries.lm75}
${libraries.ahtx0}
${libraries.unifiedsensor}
${libraries.dht}
${libraries.tsl2561}
;${libraries.ina226}
${libraries.esp8266_mdns}
${libraries.wire}
${libraries.fastled}
${libraries.onewire}
${libraries.dallastemperature}
;${libraries.rfWeatherStation}
build_flags =
${com-esp.build_flags}
; '-DZgatewayRF="RF"'
; '-DZgatewayRF2="RF2"'
'-DZgatewayIR="IR"'
; '-DZgatewayPilight="Pilight"'
'-DZactuatorONOFF="ONOFF"'
; '-DZactuatorFASTLED="FASTLED"'
;'-DZactuatorPWM="PWM"'
;'-DZsensorINA226="INA226"'
'-DZsensorHCSR501="HCSR501"'
'-DZsensorHCSR04="HCSR04"'
'-DZsensorADC="ADC"'
'-DZsensorBH1750="BH1750"'
'-DZsensorBME280="BME280"'
;'-DZsensorHTU21="HTU21"'
'-DZsensorAHTx0="AHTx0"'
'-DZsensorTEMT6000="TEMT6000"'
'-DZsensorMQ2="MQ2"'
'-DZsensorTSL2561="TSL2561"'
'-DZsensorDHT="DHT"'
'-DZsensorDS1820="DS1820"'
'-DZgatewayRFM69="RFM69"'
'-DZsensorGPIOInput="GPIOInput"'
'-DZsensorGPIOKeyCode="GPIOKeyCode"'
;'-DZgatewayWeatherStation="WeatherStation"'
'-DsimplePublishing=true'
'-DGateway_Name="OMG_ESP8266_ALL"'
'-DDEEP_SLEEP_IN_US=120000000'
'-DWifiGMode=true'
'-DWifiPower=11'
board_build.flash_mode = dout
[env:nodemcuv2-fastled-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.fastled}
build_flags =
${com-esp.build_flags}
'-DZactuatorFASTLED="FASTLED"'
'-DsimplePublishing=true'
'-DGateway_Name="OMG_ESP8266_FASTLED"'
board_build.flash_mode = dout
[env:nodemcuv2-2g]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.a6lib}
build_flags =
${com-esp.build_flags}
'-DZgateway2G="2G"'
'-DGateway_Name="OMG_ESP8266_2G"'
board_build.flash_mode = dout
custom_description = SMS gateway, need A6/A7 GSM module
[env:nodemcuv2-ir]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.irremoteesp}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayIR="IR"'
'-DGateway_Name="OMG_ESP8266_IR"'
board_build.flash_mode = dout
custom_description = Infrared gateway using IRremoteESP8266
[env:nodemcuv2-serial]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewaySERIAL="SERIAL"'
'-DGateway_Name="OMG_ESP8266_SERIAL"'
board_build.flash_mode = dout
custom_description = SERIAL gateway
[env:avatto-bakeey-ir]
platform = ${com.esp8266_platform}
board = esp01_1m
board_build.ldscript = eagle.flash.1m64.ld
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.irremoteesp}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayIR="IR"'
'-DTRIGGER_GPIO=13'
'-DLED_PIN=4'
'-DIR_EMITTER_GPIO=14'
'-DIR_RECEIVER_GPIO=5'
'-UMQTTsetMQTT' ;We remove this function to have sufficient FLASH available for OTA, you should also use ESPWifiManualSetup and 'board_build.ldscript = eagle.flash.1m64.ld' to save flash memory and have OTA working
'-UMQTT_HTTPS_FW_UPDATE' ;We remove this function to have sufficient FLASH available for OTA, you should also use ESPWifiManualSetup and 'board_build.ldscript = eagle.flash.1m64.ld' to save flash memory and have OTA working
'-DGateway_Name="OMG_AVATTO_IR"'
board_build.flash_mode = dout
custom_description = IR gateway bi directional
custom_hardware = 'Avatto Bakey IR first version,<a href="https://1technophile.blogspot.com/2020/07/avatto-s06-ir-gateway-compatible-with.html" target="_blank">tutorial</a>'
custom_img = https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWdLlg_I1Fxg8PKa0LNCwj3fDtSCVn50Zqima9QZvJfPpIyr3Rh7cvg_WPzRkZpzP4_Tu9inXfo3e6CbLLLpZzo5yGOUX_zFT0CnopCtyuEgJyHHJLP8ctfm1UyHP3KZJGzRbZul4F9JBX/
[env:nodemcuv2-rf]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rc-switch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF="RF"'
'-DGateway_Name="OMG_ESP8266_RF"'
'-DvalueAsATopic=true'
board_build.flash_mode = dout
custom_description = The historic RF gateway using RCSwitch library
[env:nodemcuv2-rf-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rc-switch}
${libraries.smartrc-cc1101-driver-lib}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF="RF"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP8266_RF-CC1101"'
'-DvalueAsATopic=true'
board_build.flash_mode = dout
custom_description = RF gateway using RCSwitch library with CC1101
[env:nodemcuv2-somfy-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.somfy_remote}
${libraries.smartrc-cc1101-driver-lib}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZactuatorSomfy="Somfy"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP8266_Somfy-CC1101"'
board_build.flash_mode = dout
custom_description = Somfy RF gateway using Somfy Remote library, need CC1101
[env:manual-wifi-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rc-switch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF="RF"'
'-DESPWifiManualSetup=true'
'-DGateway_Name="OMG_TEST_MANUAL_WIFI"'
board_build.flash_mode = dout
[env:rf-wifi-gateway]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rc-switch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF="RF"'
'-DGateway_Name="OMG_ESP8266_RF_WIFI_GW"'
'-DRF_RECEIVER_GPIO=5'
board_build.flash_mode = dout
custom_description = RF gateway for USB stick using RCSwitch
custom_hardware = 'RF Wifi USB stick, <a href="https://1technophile.blogspot.com/2019/09/hack-of-rf-wifi-gateway-usb-stick.html" target="_blank">tutorial</a>'
[env:nodemcuv2-rf2]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.newremoteswitch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF2="RF2"'
'-DGateway_Name="OMG_ESP8266_RF2"'
board_build.flash_mode = dout
custom_description = KAKU RF gateway using NewRemoteSwitch library
[env:nodemcuv2-rf2-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.newremoteswitch}
${libraries.smartrc-cc1101-driver-lib}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayRF2="RF2"'
'-DZradioCC1101="CC1101"'
'-DGateway_Name="OMG_ESP8266_RF2-CC1101"'
board_build.flash_mode = dout
custom_description = KAKU RF gateway using NewRemoteSwitch library, need CC1101
[env:nodemcuv2-pilight]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.esppilight}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayPilight="Pilight"'
'-DGateway_Name="OMG_ESP8266_Pilight"'
'-fcommon'
board_build.flash_mode = dout
custom_description = Gateway using ESPilight without the need of CC1101
[env:nodemcuv2-weatherstation]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rfWeatherStation}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZgatewayWeatherStation="WeatherStationDataRx"'
'-DGateway_Name="OMG_ESP8266_RF3"'
board_build.flash_mode = dout
custom_description = RF gateway using WeatherStationDataRx library
[env:sonoff-basic]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZactuatorONOFF="ONOFF"'
'-DZsensorGPIOInput="GPIOInput"'
'-DACTUATOR_ONOFF_GPIO=12'
'-DINPUT_GPIO=0'
'-DACTUATOR_ON=0'
'-DACTUATOR_ONOFF_DEFAULT=ACTUATOR_ON'
'-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
'-ACTUATOR_TRIGGER=true'
'-DGateway_Name="OMG_SONOFF_RELAY"'
board_build.flash_mode = dout
custom_description = Basic Sonoff wifi relay
custom_hardware = Sonoff Basic R1, R2
[env:sonoff-basic-rfr3]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
${com-esp.lib_deps}
${libraries.wifimanager8266}
${libraries.rc-switch}
${libraries.esp8266_mdns}
build_flags =
${com-esp.build_flags}
'-DZactuatorONOFF="ONOFF"'
'-DZsensorGPIOInput="GPIOInput"'
'-DACTUATOR_ONOFF_GPIO=12'
'-DINPUT_GPIO=0'
'-DACTUATOR_ON=0'
'-DACTUATOR_ONOFF_DEFAULT=ACTUATOR_ON'
'-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
'-ACTUATOR_TRIGGER=true'
'-DRF_RECEIVER_GPIO=4'
'-DZgatewayRF="RF"'
'-DGateway_Name="OMG_SONOFF_BASIC_RFR3"'
board_build.flash_mode = dout
custom_description = 'Wifi relay and RF receiver using RCSwitch library, <a href="https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html" target="_blank">tutorial</a>'
custom_hardware = 'Sonoff Basic RFR3, <a href="https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html" target="_blank">tutorial</a>'
[env:esp32dev-ble-datatest]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DTimeBtwRead=0'
'-DScan_duration=3000'
'-DAttemptBLEConnect=false'
'-DpubBLEAdvData=true'
'-DGateway_Name="OMG_ESP32_BLE"'
custom_description = Default BLE gateway with additional servicedata, manufacturerdata and service uuid for analysing decoding issues
[env:esp32s3-dev-c1-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-s3-devkitc-1
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_ADDRESSABLE_PIN1=48'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DGateway_Name="OMG_ESP32_BLE"'
custom_description = BLE gateway on the S3
[env:esp32s3-m5stack-stamps3]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-s3-devkitc-1
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_ADDRESSABLE_PIN1=21'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DGateway_Name="OMG_ESP32_BLE"'
custom_description = BLE gateway on the M5Stack StampS3
[env:esp32s3-atomS3U]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = m5stack-atoms3
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
${libraries.irremoteesp}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DZgatewayIR="IR"'
'-DLED_ADDRESSABLE_PIN1=35'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DTRIGGER_GPIO=41'
'-DIR_EMITTER_GPIO=12'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DGateway_Name="OMG_ATOMS3_BLE"'
board_upload.speed = 921600
custom_description = USB module with BLE gateway, and IR emitter
custom_hardware = AtomS3U ESP32S3
[env:esp32c3-dev-m1-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-c3-devkitm-1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_ADDRESSABLE_PIN1=8'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DGateway_Name="OMG_ESP32_BLE"'
custom_description = BLE gateway on the C3
[env:airm2m_core_esp32c3]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = airm2m_core_esp32c3
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_INFO=19'
'-DLED_PIN=20'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DGateway_Name="OMG_AirM2M_Core_ESP32C3"'
custom_description = BLE gateway on the C3
custom_hardware = AirM2M ESP32C3-CORE
; Espressiv ESP32-C3-DevKitC-02
[env:esp32c3-dev-c2-ble]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-c3-devkitm-1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_ADDRESSABLE_PIN1=8'
'-DLED_ADDRESSABLE_NUM=1'
; '-DDEFAULT_ADJ_BRIGHTNESS=10' ; 0 - 255, default 20
'-DANEOPIX_COLOR_SCHEME=2' ; blue based signalling colors
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; No internal temperature reading on ESP32 C3 or S3
'-DTRIGGER_GPIO=7'
'-DGateway_Name="OpenMQTTGateway_ESP32C3_DKC02"'
custom_description = BLE gateway on Espressiv ESP32-C3-DevKitC-02
[env:esp32c3-dev-c2-ble-no-serial]
extends = env:esp32c3-dev-c2-ble
build_flags =
${env:esp32c3-dev-c2-ble.build_flags}
'-DLOG_LEVEL=LOG_LEVEL_SILENT' ; ommit logging for increased stability
'-DWM_DEBUG=0'
custom_description = BLE gateway on Espressiv ESP32-C3-DevKitC-02 without logging
; Wemos Lolin C3 mini v2.1.0
[env:esp32c3_lolin_mini]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = lolin_c3_mini
board_build.partitions = min_spiffs.csv
monitor_speed = 115200
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_ADDRESSABLE_PIN1=7'
'-DLED_ADDRESSABLE_NUM=1'
; '-DDEFAULT_ADJ_BRIGHTNESS=10' ; 0 - 255, default 20
'-DANEOPIX_COLOR_SCHEME=1' ; Alternative LED colour scheme: 2 = blue/gold. 1 = green/gold
'-DLED_ADDRESSABLE=true'
; The momentary switch on the board is connected to GPIO9
'-DTRIGGER_GPIO=9'
'-DNO_INT_TEMP_READING=true' ; No internal temperature on ESP32 C3 or S3
'-DGateway_Name="OMG_ESP32C3_BLE"'
; Serial output currently causes a delay on each message, if no serial listener is connected.
; As a default we disable serial output. Use the _with_serial environment if you
; need serial output for debugging purposes.
'-DLOG_LEVEL=LOG_LEVEL_SILENT' ; disable serial logging.
'-DWM_DEBUG=0' ; disable serial logging.
custom_description = BLE gateway on ESP32C3
custom_hardware = Wemos Lolin C3 mini v2.1.0
[env:esp32c3_lolin_mini_with_serial]
extends = env:esp32c3_lolin_mini
build_flags =
${env:esp32c3_lolin_mini.build_flags}
'-DLOG_LEVEL=LOG_LEVEL_NOTICE' ;default
; Serial output via USB
'-DCONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=true'
'-DCONFIG_ESP_CONSOLE_UART=ESP_CONSOLE_USB_SERIAL_JTAG'
[env:esp32c3-m5stamp]
; https://docs.m5stack.com/en/core/stamp_c3
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-c3-devkitm-1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.wifimanager32}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DTRIGGER_GPIO=3'
'-DLED_ADDRESSABLE_PIN1=2'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DUSE_MAC_AS_GATEWAY_NAME'
custom_description = BLE gateway on ESP32C3
custom_hardware = M5Stamp C3
[env:esp32c3u-m5stamp]
; https://docs.m5stack.com/en/core/stamp_c3u
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32-c3-devkitm-1
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.wifimanager32}
${libraries.ble}
${libraries.decoder}
${libraries.adafruit_neopixel}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DTRIGGER_GPIO=9'
'-DLED_ADDRESSABLE_PIN1=2'
'-DLED_ADDRESSABLE_NUM=1'
'-DLED_ADDRESSABLE=true'
'-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3
'-DUSE_MAC_AS_GATEWAY_NAME'
custom_description = BLE gateway on ESP32C3
custom_hardware = M5Stamp C3U
[env:thingpulse-espgateway]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
${com-esp32.lib_deps}
${libraries.ble}
${libraries.adafruit_neopixel}
${libraries.decoder}
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_THINGPULSE_ETH_BLE"'
'-DESP32_ETHERNET=true'
'-DETH_PHY_TYPE=ETH_PHY_LAN8720'
'-DETH_PHY_ADDR=0'
'-DETH_PHY_POWER=5'
'-DETH_PHY_MDC=23'
'-DETH_PHY_MDIO=18'
'-DETH_CLK_MODE=ETH_CLOCK_GPIO16_OUT'
'-DLED_ADDRESSABLE_PIN1=32'
'-DLED_ADDRESSABLE_NUM=4'
'-DLED_BROKER=0'
'-DLED_PROCESSING=1'
'-DLED_ERROR=2'
'-DDEFAULT_ADJ_BRIGHTNESS=255'
'-DLED_ADDRESSABLE=true'
; '-DsimplePublishing=true'
custom_description = BLE Gateway using ethernet or wifi with external antenna
custom_hardware = ThingPulse gateway single ESP32
[env:esp32dev-ble-idf]
platform = ${com.esp32_platform}
platform_packages = ${com.esp32_platform_packages}
framework = arduino, espidf
board = esp32dev
board_build.partitions = partitions/min_spiffs.csv
board_build.embed_txtfiles =
managed_components/espressif__esp_insights/server_certs/https_server.crt
managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt
managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt
managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt
lib_deps =
${com-esp32.lib_deps}
${libraries.decoder}
h2zero/esp-nimble-cpp@2.1.1
h2zero/NimBLEOta@0.2.0
build_flags =
${com-esp32.build_flags}
'-DZgatewayBT="BT"'
'-DLED_PIN=2'
'-DLED_PIN_ON=0'
'-DGateway_Name="OMG_ESP32_BLE"'
'-DUSE_BLUFI=1'
'-DenableMultiGTWSync=false'
custom_description = Regular BLE gateway based on esp-idf with adaptive scanning activated, automatically adapts the scan parameters depending on your devices