diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 098d24e..b6ca493 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ jobs: matrix: environments: - "rfbridge" - - "sonoff-rfbridge-direct" + - "rfbridge-direct" - "esp32dev-all-test" - "esp32dev-rf" - "esp32dev-pilight-cc1101" diff --git a/.github/workflows/manual_docs.yml b/.github/workflows/manual_docs.yml index c61c506..1675c7b 100644 --- a/.github/workflows/manual_docs.yml +++ b/.github/workflows/manual_docs.yml @@ -18,7 +18,7 @@ jobs: - name: Install build dependencies run: | python -m pip install --upgrade pip - pip install requests + pip install requests pandas markdown pytablereader tabulate npm install - name: get lastest release tag id: last_release @@ -30,6 +30,7 @@ jobs: run: sed -i "s/version_tag/${{steps.last_release.outputs.tag_name}}/g" docs/.vuepress/config.js - name: Build documentation run: | + python ./scripts/generate_board_docs.py python ./scripts/gen_wu.py ${GITHUB_REPOSITORY} npm run docs:build - name: Deploy to GitHub Pages diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 11d2aaf..e3c3997 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,12 +56,13 @@ jobs: - name: Install build dependencies run: | python -m pip install --upgrade pip - pip install requests + pip install requests pandas markdown pytablereader tabulate npm install - name: Set version tag from git run: sed -i "s/version_tag/${GITHUB_REF#refs/tags/}/g" docs/.vuepress/config.js - name: Build documentation run: | + python ./scripts/generate_board_docs.py python ./scripts/gen_wu.py ${GITHUB_REPOSITORY} npm run docs:build - name: Deploy to GitHub Pages diff --git a/boards.ini b/boards.ini new file mode 100644 index 0000000..59c63be --- /dev/null +++ b/boards.ini @@ -0,0 +1,1495 @@ + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; 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="OpenMQTTGateway_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 = espressif8266@^2 +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="OpenMQTTGateway_SRFB_Direct"' +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, [tutorial](https://1technophile.blogspot.com/2019/04/sonoff-rf-bridge-pilight-or-how-to.html). +custom_hardware = RFBridge v1 + +[env:esp32dev-all-test] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${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.onewire} + ${libraries.dallastemperature} + ${libraries.rfWeatherStation} + ${libraries.shtc3} + ${libraries.rn8209} +build_flags = + ${com-esp.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"' + '-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' + +[env:esp32dev-rf] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.rc-switch} +build_flags = + ${com-esp.build_flags} + '-DZgatewayRF="RF"' + '-DGateway_Name="OpenMQTTGateway_ESP32_RF"' +custom_description = RF gateway using RCSwitch library + +[env:esp32dev-pilight] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.esppilight} +build_flags = + ${com-esp.build_flags} + '-DZgatewayPilight="Pilight"' + '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight"' +custom_description = RF gateway using ESPilight library + +[env:esp32dev-pilight-cc1101] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.esppilight} + ${libraries.smartrc-cc1101-driver-lib} +build_flags = + ${com-esp.build_flags} + '-DZgatewayPilight="Pilight"' + '-DZradioCC1101="CC1101"' + '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-CC1101"' +custom_description = Gateway using ESPilight library only, need CC1101 + +[env:esp32dev-somfy-cc1101] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.somfy_remote} + ${libraries.smartrc-cc1101-driver-lib} +build_flags = + ${com-esp.build_flags} + '-DZactuatorSomfy="Somfy"' + '-DZradioCC1101="CC1101"' + '-DGateway_Name="OpenMQTTGateway_ESP32_Somfy-CC1101"' +custom_description = Gateway using Somfy Remote library, need CC1101 + +[env:esp32dev-pilight-somfy-cc1101] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.esppilight} + ${libraries.somfy_remote} + ${libraries.smartrc-cc1101-driver-lib} +build_flags = + ${com-esp.build_flags} + '-DZgatewayPilight="Pilight"' + '-DZactuatorSomfy="Somfy"' + '-DZradioCC1101="CC1101"' + '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-Somfy-CC1101"' +custom_description = Gateway using Somfy Remote and ESPilight library, need CC1101 + +[env:esp32dev-weatherstation] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.rfWeatherStation} +build_flags = + ${com-esp.build_flags} + '-DZgatewayWeatherStation="WeatherStation"' + '-DGateway_Name="OpenMQTTGateway_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} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.emodbus} + ${libraries.gfSunInverter} +build_flags = + ${com-esp.build_flags} + '-DZgatewayGFSunInverter="GFSunInverter"' + '-DGateway_Name="OpenMQTTGateway_ESP32_GFSunInverter"' +custom_description = RS232 reading of GridFree Sun Inverter + +[env:esp32dev-ir] +platform = ${com.esp32_platform} +board = esp32dev +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.irremoteesp} +build_flags = + ${com-esp.build_flags} + '-DZgatewayIR="IR"' + '-DGateway_Name="OpenMQTTGateway_ESP32_IR"' +custom_description = Infrared (Emitting and receiving) using IRremoteESP8266 + +[env:esp32dev-ble] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' +custom_description = Regular BLE gateway with one scan every 55s per default + +[env:esp32dev-ble-openhab] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DOpenHABDiscovery=true' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_OH"' +custom_description = BLE gateway with one scan every 55s per default and OpenHAB discovery + +[env:esp32dev-ble-mqtt-undecoded] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' + '-DMQTTDecodeTopic="undecoded"' +custom_description = BLE gateway with the decoding offloaded to Theengs Gateway + +[env:esp32dev-ble-aws] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-UZmqttDiscovery="HADiscovery"' + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DMQTT_SECURE_DEFAULT=true' + '-DMQTT_SECURE_SELF_SIGNED' + '-DMQTT_CERT_VALIDATE_DEFAULT=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:esp32dev-ble-cont] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_C"' + '-DTimeBtwRead=0' + '-DScan_duration=1000' + '-DAttemptBLEConnect=false' +custom_description = Regular BLE gateway with continuous scan and no BLE connection attempt per default + +[env:esp32feather-ble] +platform = ${com.esp32_platform} +board = featheresp32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=13' + '-DLED_SEND_RECEIVE_ON=0' + '-DGateway_Name="OpenMQTTGateway_ESP32_FTH_BLE"' +custom_description = BLE Gateway +custom_hardware = ESP32 Feather Adafruit + +[env:esp32-lolin32lite-ble] +platform = ${com.esp32_platform} +board = lolin32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=22' + '-DLED_SEND_RECEIVE_ON=0' + '-DGateway_Name="OpenMQTTGateway_LOLIN32LITE_BLE"' +;; Low power parameters, uncomment and fill credentials +; '-DDEFAULT_LOW_POWER_MODE=2' +; '-DTimeBtwRead=155000' +; '-DScan_duration=2000' +; '-DAttemptBLEConnect=false' +; '-DActiveBLEScan=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, [tutorial](https://1technophile.blogspot.com/2021/04/low-power-esp32-ble-gateway.html) +custom_hardware = LOLIN 32 Lite + +[env:esp32-olimex-gtw-ble-eth] +platform = ${com.esp32_platform} +board = esp32-gateway +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_INFO=33' + '-DLED_INFO_ON=1' + '-DESP32_ETHERNET=true' + '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWE"' +custom_description = BLE gateway using ethernet, need to be configured through PIO +custom_hardware = OLIMEX ESP32 Gateway + +[env:esp32-olimex-gtw-ble-poe] +platform = ${com.esp32_platform} +board = esp32-poe +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DESP32_ETHERNET=true' + '-DGateway_Name="OpenMQTTGateway_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} +board = esp32-poe-iso +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DESP32_ETHERNET=true' + '-DGateway_Name="OpenMQTTGateway_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} +board = esp32-gateway +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DESP32_ETHERNET=true' + '-DETH_PHY_ADDR=1' + '-DETH_PHY_POWER=16' + '-DETH_CLK_MODE=ETH_CLOCK_GPIO0_IN' + '-DGateway_Name="OpenMQTTGateway_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} +board = esp32-gateway +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_INFO=33' + '-DLED_INFO_ON=1' + '-DTRIGGER_GPIO=34' + '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWW"' +custom_description = BLE gateway using wifi +custom_hardware = OLIMEX ESP32 Gateway + +[env:esp32-m5stick-ble] +platform = ${com.esp32_platform} +board = m5stack-core-esp32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.irremoteesp} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZgatewayIR="IR"' + '-DLED_SEND_RECEIVE=19' + '-DLED_SEND_RECEIVE_ON=1' + '-DTRIGGER_GPIO=35' + '-DIR_EMITTER_GPIO=17' + '-DGateway_Name="OpenMQTTGateway_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 = ${com.esp32_platform} +board = m5stack-core-esp32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.m5stack} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZsensorGPIOInput="GPIOInput"' + '-DZboardM5STACK="M5Stack"' + '-DLED_SEND_RECEIVE=15' + '-DTRIGGER_GPIO=37' + '-DSLEEP_BUTTON=38' + '-DINPUT_GPIO=39' + '-DGateway_Name="OpenMQTTGateway_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 = ${com.esp32_platform} +board = m5stack-core-esp32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.m5tough} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZboardM5TOUGH="M5Tough"' + '-DGateway_Name="OpenMQTTGateway_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 = ${com.esp32_platform} +board = m5stick-c +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.m5stickc} + ${libraries.irremoteesp} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZgatewayIR="IR"' + '-DZsensorGPIOInput="GPIOInput"' + '-DZboardM5STICKC="M5StickC"' + '-DACTUATOR_ONOFF_GPIO=10' + '-DINPUT_GPIO=37' + '-DLED_SEND_RECEIVE=10' + '-DLED_SEND_RECEIVE_ON=0' + '-DSLEEP_BUTTON=39' + '-DTRIGGER_GPIO=39' + '-DIR_EMITTER_INVERTED=true' + '-DIR_EMITTER_GPIO=9' + '-DGateway_Name="OpenMQTTGateway_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 = ${com.esp32_platform} +board = pico32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.m5stickcp} + ${libraries.irremoteesp} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZgatewayIR="IR"' + '-DZsensorGPIOInput="GPIOInput"' + '-DZboardM5STICKCP="M5StickCP"' + '-DACTUATOR_ONOFF_GPIO=10' + '-DINPUT_GPIO=37' + '-DLED_SEND_RECEIVE=10' + '-DLED_SEND_RECEIVE_ON=0' + '-DSLEEP_BUTTON=39' + '-DTRIGGER_GPIO=39' + '-DIR_EMITTER_INVERTED=true' + '-DIR_EMITTER_GPIO=9' + '-DGateway_Name="OpenMQTTGateway_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} +board = pico32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.irremoteesp} + ${libraries.fastled} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZgatewayIR="IR"' + '-DTRIGGER_GPIO=39' + '-DSLEEP_BUTTON=39' + '-DIR_EMITTER_GPIO=12' + '-DFASTLED_IND_DATA_GPIO=27,GRB' + '-DFASTLED_IND_TYPE=WS2812' + '-DFASTLED_IND_NUM_LEDS=25' + '-DRGB_INDICATORS=true' + '-DGateway_Name="OpenMQTTGateway_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} +board = pico32 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.irremoteesp} + ${libraries.fastled} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DZgatewayIR="IR"' + '-DTRIGGER_GPIO=39' + '-DSLEEP_BUTTON=39' + '-DIR_EMITTER_GPIO=12' + '-DFASTLED_IND_DATA_GPIO=27,GRB' + '-DFASTLED_IND_TYPE=WS2812' + '-DFASTLED_IND_NUM_LEDS=1' + '-DRGB_INDICATORS=true' + '-DGateway_Name="OpenMQTTGateway_ATOM_L"' +board_upload.speed = 1500000 +custom_description = Compact enclosure ESP32 with BLE gateway +custom_hardware = M5 ATOM Lite + +[env:esp32dev-rtl_433] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.rtl_433_ESP} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Config *** + ;'-UZmqttDiscovery' ; disables MQTT Discovery + '-DvalueAsATopic=true' ; MQTT topic includes model and device + '-DLOG_LEVEL=LOG_LEVEL_TRACE' + '-DGateway_Name="OpenMQTTGateway_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:heltec-rtl_433] +platform = ${com.esp32_platform} +board = heltec_wifi_lora_32_V2 +; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ssd1306} + ${libraries.rtl_433_ESP} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Config *** + ;'-UZmqttDiscovery' ; disables MQTT Discovery + '-DvalueAsATopic=true' ; MQTT topic includes model and device + '-DGateway_Name="OpenMQTTGateway_heltec_rtl_433_ESP"' +; *** OpenMQTTGateway Modules *** + '-DZgatewayRTL_433="rtl_433"' + '-DZradioSX127x="SX127x"' +; *** ssd1306 Display Options *** + '-DZdisplaySSD1306="HELTEC_SSD1306"' +; '-DLOG_TO_LCD=false' ; Enable log to LCD +; '-DJSON_TO_LCD=true' +; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' +; '-DDISPLAY_IDLE_LOGO=false' +; '-DDISPLAY_METRIC=false' +custom_description = Gateway using RTL_433_ESP and RadioLib + +[env:lilygo-rtl_433] +platform = ${com.esp32_platform} +board = ttgo-lora32-v21 +; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ssd1306} + ${libraries.rtl_433_ESP} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Config *** + ;'-UZmqttDiscovery' ; disables MQTT Discovery + '-DvalueAsATopic=true' ; MQTT topic includes model and device + '-DGateway_Name="OpenMQTTGateway_lilygo_rtl_433_ESP"' +; *** OpenMQTTGateway Modules *** + '-DZgatewayRTL_433="rtl_433"' + '-DZradioSX127x="SX127x"' +; *** ssd1306 Display Options *** + '-DZdisplaySSD1306="LilyGo_SSD1306"' +; '-DLOG_TO_LCD=true' ; Enable log to LCD +; '-DJSON_TO_LCD=true' +; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' +; '-DDISPLAY_IDLE_LOGO=false' +; '-DDISPLAY_METRIC=false' +custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib +custom_hardware = ESP32 LILYGO LoRa32 V2.1 + +[env:esp32dev-multi_receiver] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.rc-switch} + ${libraries.smartrc-cc1101-driver-lib} + ${libraries.rtl_433_ESP} + ${libraries.esppilight} + ${libraries.newremoteswitch} +build_flags = + ${com-esp.build_flags} + '-DZgatewayRF="RF"' + '-DZgatewayRF2="RF2"' + '-DZgatewayRTL_433="RTL_433"' + '-DZgatewayPilight="Pilight"' + '-DZradioCC1101="CC1101"' + '-DGateway_Name="OpenMQTTGateway_multi_receiver"' + '-DvalueAsATopic=true' ; MQTT topic includes model and device (rtl_433) or protocol and id (RF and PiLight) +; '-DDEFAULT_RECEIVER=1' ; Default receiver to enable on startup +; *** 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, RTL_433_ESP, NewRemoteSwitch and RCSwitch, need CC1101 + +[env:tinypico-ble] +platform = ${com.esp32_platform} +board = tinypico +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.fastled} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DGateway_Name="OpenMQTTGateway_ESP32_TINYPICO_BLE"' + '-DRGB_LED_POWER=13' + '-DFASTLED_IND_DATA_GPIO=2,12,RGB' + '-DFASTLED_IND_TYPE=APA102' + '-DFASTLED_IND_NUM_LEDS=1' +board_build.flash_mode = dio +custom_description = BLE gateway +custom_hardware = ESP32 TinyPICO + +[env:ttgo-lora32-v1-868] +platform = ${com.esp32_platform} +board = ttgo-lora32-v1 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.lora} +build_flags = + ${com-esp.build_flags} + '-DZgatewayLORA="LORA"' + '-DLORA_BAND=868E6' + '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' +custom_description = LORA communication 868Mhz using arduino-LoRA +custom_hardware= ESP32 TTGO LORA V1 + +[env:ttgo-lora32-v1-915] +platform = ${com.esp32_platform} +board = ttgo-lora32-v1 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.lora} +build_flags = + ${com-esp.build_flags} + '-DZgatewayLORA="LORA"' + '-DLORA_BAND=915E6' + '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' +custom_description = LORA communication 915Mhz using arduino-LoRA +custom_hardware= ESP32 TTGO LORA V1 + +[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} +board = ttgo-t-beam +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.lora} +build_flags = + ${com-esp.build_flags} + '-DZgatewayLORA="LORA"' + '-DZgatewayBT="BT"' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_LORA"' + '-DLED_SEND_RECEIVE=21' # T-BEAM board V0.5 +# '-DLED_SEND_RECEIVE=14' # T-BEAM board V0.7 +# '-DLED_SEND_RECEIVE=4' # T-BEAM board V1.0+ + '-DTimeLedON=0.05' + '-DLED_SEND_RECEIVE_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-868] ; Heltec ESP32 Board with SSD1306 display +platform = ${com.esp32_platform} +board = heltec_wifi_lora_32 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.lora} + ${libraries.ssd1306} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Modules *** + '-DZgatewayLORA="LORA"' + '-DLORA_BAND=868E6' + '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' + '-DLED_SEND_RECEIVE=25' + '-DTimeLedON=0.1' + '-DLED_SEND_RECEIVE_ON=1' +; *** ssd1306 Display Options *** + '-DZdisplaySSD1306="HELTEC_SSD1306"' +; '-DLOG_TO_LCD=true' ; Enable log to LCD +; '-DJSON_TO_LCD=true' +; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' +; '-DDISPLAY_IDLE_LOGO=false' +; '-DDISPLAY_METRIC=false' +custom_description = LORA communication 868Mhz using arduino-LoRA +custom_hardware = ESP32 HELTEC LORA32 + +[env:heltec-wifi-lora-32-915] ; Heltec ESP32 Board with SSD1306 display +platform = ${com.esp32_platform} +board = heltec_wifi_lora_32 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.lora} + ${libraries.ssd1306} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Modules *** + '-DZgatewayLORA="LORA"' + '-DLORA_BAND=915E6' + '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' + '-DLED_SEND_RECEIVE=25' + '-DTimeLedON=0.1' + '-DLED_SEND_RECEIVE_ON=1' +; *** ssd1306 Display Options *** + '-DZdisplaySSD1306="HELTEC_SSD1306"' +; '-DLOG_TO_LCD=true' ; Enable log to LCD +; '-DJSON_TO_LCD=true' +; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' +; '-DDISPLAY_IDLE_LOGO=false' +; '-DDISPLAY_METRIC=false' +custom_description = LORA communication 915Mhz 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-esp.lib_deps} + ${libraries.ble} + ${libraries.wifimanager32} + ${libraries.decoder} +build_flags = + ${env.build_flags} + ${com-esp.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"' + '-DZsensorTSL2561="TSL2561"' + '-DZsensorDHT="DHT"' + '-DZsensorDS1820="DS1820"' + '-DZgatewayRFM69="RFM69"' + '-DZsensorGPIOInput="GPIOInput"' + '-DZsensorGPIOKeyCode="GPIOKeyCode"' + ;'-DZgatewayWeatherStation="WeatherStation"' + '-DsimplePublishing=true' + '-DGateway_Name="OpenMQTTGateway_ESP8266_ALL"' +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="OpenMQTTGateway_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="OpenMQTTGateway_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="OpenMQTTGateway_ESP8266_IR"' +board_build.flash_mode = dout +custom_description = Infrared gateway using IRremoteESP8266 + +[env:nodemcuv2-rs232] +platform = ${com.esp8266_platform} +board = nodemcuv2 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager8266} + ${libraries.esp8266_mdns} +build_flags = + ${com-esp.build_flags} + '-DZgatewayRS232="RS232"' + '-DGateway_Name="OpenMQTTGateway_ESP8266_RS232"' +board_build.flash_mode = dout +custom_description = RS232 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_SEND_RECEIVE=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="OpenMQTTGateway_AVATTO_IR"' +board_build.flash_mode = dout +custom_description = IR gateway bi directional +custom_hardware = Avatto Bakey IR first version, [tutorial](https://1technophile.blogspot.com/2020/07/avatto-s06-ir-gateway-compatible-with.html) + +[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="OpenMQTTGateway_ESP8266_RF"' +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="OpenMQTTGateway_ESP8266_RF-CC1101"' +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="OpenMQTTGateway_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="OpenMQTTGateway_TEST_MANUAL_WIFI"' +board_build.flash_mode = dout + +[env:openhab-test] +platform = ${com.esp8266_platform} +board = nodemcuv2 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager8266} +build_flags = + ${com-esp.build_flags} + '-DOpenHABDiscovery=true' + '-DGateway_Name="OpenMQTTGateway_TEST_OPENHAB"' +board_build.flash_mode = dout + +[env:nodemcuv2-mqtt-fw-test] +platform = ${com.esp8266_platform} +board = nodemcuv2 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager8266} +build_flags = + ${com-esp.build_flags} + '-DMQTT_SECURE_SELF_SIGNED' + '-DGateway_Name="OpenMQTTGateway_TEST_MQTT_FW"' +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="OpenMQTTGateway_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, [tutorial](https://1technophile.blogspot.com/2019/09/hack-of-rf-wifi-gateway-usb-stick.html) + +[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="OpenMQTTGateway_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="OpenMQTTGateway_ESP8266_RF2-CC1101"' +board_build.flash_mode = dout +custom_description = KAKU RF gateway using NewRemoteSwitch library, need CC1101 + +[env:nodemcuv2-pilight] +platform = espressif8266@^2 +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="OpenMQTTGateway_ESP8266_Pilight"' +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="OpenMQTTGateway_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="OpenMQTTGateway_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="OpenMQTTGateway_SONOFF_BASIC_RFR3"' +board_build.flash_mode = dout +custom_description = Wifi relay and RF receiver using RCSwitch library, [tutorial](https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html) +custom_hardware = Sonoff Basic RFR3, [tutorial](https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html) + +[env:atmega-all-test] +platform = ${com.atmelavr_platform} +board = megaatmega2560 +lib_deps = + ${com-arduino.lib_deps} + ${libraries.irremote} + ${libraries.rfm69} + ${libraries.rfm69spi} + ${libraries.rfm69_low-power} + ${libraries.rc-switch} + ${libraries.newremoteswitch} + ${libraries.bme280} + ${libraries.bmp180} + ${libraries.htu21} + ${libraries.ahtx0} + ${libraries.unifiedsensor} + ${libraries.dht} + ${libraries.tsl2561} + ${libraries.a6lib} + ${libraries.ina226} + ${libraries.fastled} + ${libraries.onewire} + ${libraries.dallastemperature} + ${libraries.rfWeatherStation} + ${libraries.stl} +build_flags = + ${com-arduino.build_flags} + '-DZgatewayRF="RF"' + '-DZgatewayRF="RF315"' + '-DZgatewayRF2="RF2"' + '-DZgatewayIR="IR"' + '-DZactuatorONOFF="ONOFF"' + '-DZactuatorFASTLED="FASTLED"' + '-DZactuatorPWM="PWM"' + '-DZsensorINA226="INA226"' + '-DZsensorHCSR501="HCSR501"' + '-DZsensorADC="ADC"' + '-DZsensorBH1750="BH1750"' + '-DZsensorBME280="BME280"' + '-DZsensorHTU21="HTU21"' + '-DZsensorAHTx0="AHTx0"' + '-DZsensorTSL2561="TSL2561"' + '-DZsensorDHT="DHT"' + '-DZsensorDS1820="DS1820"' + '-DZgatewayRFM69="RFM69"' + '-DZgatewayWeatherStation="WeatherStation"' + '-DZsensorGPIOInput="GPIOInput"' + ;'-DZsensorGPIOKeyCode="GPIOKeyCode"' + '-DZmqttDiscovery="HADiscovery"' + '-DsimplePublishing=true' + '-DGateway_Name="OpenMQTTGateway_ATMEGA_ALL"' + +[env:uno-rf] +platform = ${com.atmelavr_platform} +board = uno +lib_deps = + ${com-arduino.lib_deps} + ${libraries.rc-switch} +build_flags = + ${com-arduino-low-memory.build_flags} + '-DZgatewayRF="RF"' + '-DGateway_Name="OMG_1_RF"' + '-DDISABLE_LOGGING' +custom_description = RF gateway based on RCSwitch + +[env:uno-fastled] +platform = ${com.atmelavr_platform} +board = uno +lib_deps = + ${com-arduino.lib_deps} + ${libraries.fastled} +build_flags = + ${com-arduino-low-memory.build_flags} + '-DGateway_Name="OMG_1_FL"' + '-DZactuatorFASTLED="FASTLED"' +custom_description = FastLed control + +[env:esp32dev-ble-datatest] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DpubBLEManufacturerData=true' + '-DpubKnownBLEServiceData=true' + '-DpubBLEServiceUUID=true' + '-DGateway_Name="OpenMQTTGateway_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_c3_s3_platform} +board = esp32-s3-devkitc-1 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.fastled} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DFASTLED_IND_DATA_GPIO=48' + '-DFASTLED_IND_TYPE=NEOPIXEL' + '-DFASTLED_IND_NUM_LEDS=1' + '-DRGB_INDICATORS=true' + '-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3 + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' +custom_description = BLE gateway on the S3 + +[env:esp32c3-dev-m1-ble] +platform = ${com.esp32_c3_s3_platform} +board = esp32-c3-devkitm-1 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} + ${libraries.fastled} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DFASTLED_IND_DATA_GPIO=8' + '-DFASTLED_IND_TYPE=NEOPIXEL' + '-DFASTLED_IND_NUM_LEDS=1' + '-DRGB_INDICATORS=true' + '-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3 + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' +custom_description = BLE gateway on the C3 + +[env:thingpulse-espgateway] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.fastled} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DpubBLEServiceUUID=true' + '-DGateway_Name="OpenMQTTGateway_THINGPULSE_BLE"' + '-DFASTLED_IND_DATA_GPIO=32,GRB' + '-DFASTLED_IND_TYPE=WS2812' + '-DFASTLED_IND_NUM_LEDS=4' + '-DFASTLED_INFO_LED=0' + '-DFASTLED_SEND_RECEIVCE_LED=1' + '-DFASTLED_ERROR_LED=2' + '-DFASTLED_BRIGHTNESS=255' + '-DRGB_INDICATORS=true' +; '-DsimplePublishing=true' +custom_description = BLE Gateway using Wifi +custom_hardware = ThingPulse gateway single ESP32 + +[env:thingpulse-espgateway-ethernet] +platform = ${com.esp32_platform} +board = esp32dev +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.fastled} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DpubBLEServiceUUID=true' + '-DGateway_Name="OpenMQTTGateway_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' + '-DFASTLED_IND_DATA_GPIO=32,GRB' + '-DFASTLED_IND_TYPE=WS2812' + '-DFASTLED_IND_NUM_LEDS=4' + '-DFASTLED_INFO_LED=0' + '-DFASTLED_SEND_RECEIVCE_LED=1' + '-DFASTLED_ERROR_LED=2' + '-DFASTLED_BRIGHTNESS=255' + '-DRGB_INDICATORS=true' +; '-DsimplePublishing=true' +custom_description = BLE Gateway using ethernet, requires PIO configuration +custom_hardware = ThingPulse gateway single ESP32 diff --git a/docs/prerequisites/board.md b/docs/prerequisites/board.md index 685b818..72c2622 100644 --- a/docs/prerequisites/board.md +++ b/docs/prerequisites/board.md @@ -1,4 +1,5 @@ -# Board +# Boards + OpenMQTTGateway is not closed to one board or type of board, by using the power of the Arduino framework and libraries that are cross compatibles it let you many choice of hardware, from an Arduino UNO to an ESP32. You can take a look to the [OpenMQTTGateway compatible website](https://compatible.openmqttgateway.com) to have a view of the [supported boards](https://compatible.openmqttgateway.com/index.php/boards/). @@ -14,53 +15,7 @@ If you want to use the BLE decoding capabilities of OpenMQTTGateway with a Raspb If you want to use the BLE decoding capabilities of OpenMQTTGateway with a tablet or smartphone you can use [Theengs App](https://app.theengs.io/). ::: -Here is some information to find the boards suitable for your need, you have the choice between off the shelves boards and DIY setup. - -## Off the shelves boards -The boards below doesn't need hardware modification (or a lite one). -|Off the shelves wifi boards|Pictures|RF|IR|BLE|LORA|Relay|Display|Low Power| -|-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|AVATTO / BAKEEY|![](../img/OpenMQTTGateway_boards_avatto_s06.png)|-|[X](https://1technophile.blogspot.com/2020/07/avatto-s06-ir-gateway-compatible-with.html)|-|-|-|-|-| -|Sonoff RF Bridge (*) |![](../img/OpenMQTTGateway_boards_sonoff_rfbridge.png)|X|[mod](https://1technophile.blogspot.com/2018/02/adding-infrared-emitter-to-sonoff-rf.html)|-|-|-|-|-| -|All bare ESP32|-|-|-|X|-|X|-|X| -|OLIMEX ESP32 Ethernet|-|-|-|X|-|X|-|X| -|OLIMEX ESP32 Ethernet POE|-|-|-|X|-|X|-|X| -|OLIMEX ESP32 Ethernet POE ISO|-|-|-|X|-|X|-|X| -|ESP32-WT32-ETH01 Ethernet|-|-|-|X|-|X|-|X| -|Heltec WiFi LoRa 32 (V2.1)|-|rtl_433|-|X|X|-|X|-| -|[M5Stack Basic](M5)|![](../img/OpenMQTTgateway_M5_Stack_Board_Display_Text.png)|-|-|X|-|X|X|X| -|[M5Tough](M5)|-|-|-|X|-|X|X|X| -|M5Stick|-|-|send|X|-|X|-|X| -|[M5Stick C](M5)|![](../img/OpenMQTTgateway_M5_StickC_Board_Display_Text.png)|-|send|X|-|X|X|X| -|[M5Atom](M5)||-|send|X|-|X|X|X| -|TTGO LORA32|![](../img/OpenMQTTGateway_TTGO32_LORA_Send.jpg)|-|-|-|X|-|-|-| -|Sonoff RFR3|![](../img/OpenMQTTGateway_boards_sonoff_rfr3.png)|[receiving](https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html)|-|-|-|X|-|-| -|Sonoff Basic|-|-|-|-|-|X|-|-| -|RF WIFI GATEWAY|![](../img/OpenMQTTGateway_board_wifi_rf_gateway.png)|[receiving](https://1technophile.blogspot.com/2019/09/hack-of-rf-wifi-gateway-usb-stick.html)|-|-|-|-|-|-| - -'(*)' *So as to extend the number of RF protocols supported by the Sonoff RF Bridge you can apply a [hardware hack](https://1technophile.blogspot.com/2019/04/sonoff-rf-bridge-pilight-or-how-to.html), this way you will be able to use RFm Pilight or RF2 gateway.* - -## DIY boards -The boards below need hardware [parts](parts.md) and electronic/hardware competencies. You have more possibilities of gateways combination, compared to off the shelves ones. -|DIY boards|RF|IR|BLE|LORA|GSM|Button|Relay| -|-|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|Arduino UNO|X|X(limited compared to ESP)|-|-|-|X|X| -|Arduino MEGA|X|X(limited compared to ESP)|-|-|-|X|X| -|ESP32|X|X|X|X|not tested|X|X| -|ESP8266|X|X|-|not tested|X|X|X| - -::: tip -Pilight is only supported on ESP, Arduino UNO handle only 32bits values in our context. -HM10 is no longer supported by OpenMQTTGateway -::: - -![boards](../img/OpenMQTTGateway_boards.png) - -Arduino + ethernet shields enables faster responsiveness of the gateway and a reliable connection. - -The ESP platform is more flexible in term of installation (no need of an ethernet cable) but is less reliable in term of communication. Thanks to its higher memory and processing power it has more modules or possibilities compared to Arduino Uno & Mega. - Choosing your board depends heavily on the technologies you want to use with it. To have a good overview of the compatibilities per board you can refer to the compatible modules attributes of each [board](https://compatible.openmqttgateway.com/index.php/boards/). -The choice between these boards will depend on your knowledge and your requirements in terms of reliability, situation, modules wanted and devices you already have. +The choice between these boards will depend on your knowledge and your requirements in terms of reliability, situation, modules wanted and devices you already have. The table below present those (auto-generated) diff --git a/docs/prerequisites/boards/.gitignore b/docs/prerequisites/boards/.gitignore new file mode 100644 index 0000000..86d0cb2 --- /dev/null +++ b/docs/prerequisites/boards/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/docs/upload/web-install.md b/docs/upload/web-install.md index a6af83e..7634b3d 100644 --- a/docs/upload/web-install.md +++ b/docs/upload/web-install.md @@ -1,5 +1,7 @@ # (Option 1) Upload from the web +[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fdocs.openmqttgateway.com%2Fupload%2Fweb-install.html&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) + ::: tip Running on a tablet or phone If you want to use the BLE decoding capabilities of OpenMQTTGateway with a tablet or smartphone you can use [Theengs App](https://app.theengs.io/). ::: @@ -13,65 +15,4 @@ You can upload the firmware to your ESP device directly from here. -The table below describes the libraries and the modules of each board configuration. - -|Firmware|Boards compatible|Description|RF|IR|BLE|LORA| -|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|**ESP32**| -|esp32-lolin32lite-ble|ESP32 Lolin lite|Suitable for low power with BLE gateway, [tutorial](https://1technophile.blogspot.com/2021/04/low-power-esp32-ble-gateway.html)|-|-|X|-| -|esp32-m5atom-lite|M5Atom Lite|Compact enclosure ESP32 with BLE gateway|-|(Emit)|X|-| -|esp32-m5atom-matrix|M5Atom Matrix|Compact enclosure ESP32 with BLE gateway|-|(Emit)|X|-| -|esp32-m5stack-ble|M5Stack Core|Expandable module with BLE gateway, display, and little IR emitter|-|-|X|-| -|esp32-m5stick-ble|M5Stick Grey|Expandable module with BLE gateway and little IR emitter|-|(Emit)|X|-| -|esp32-m5stick-c-ble|M5Stick C Orange|Expandable module with BLE gateway, display, and little IR emitter|-|(Emit)|X|-| -|esp32-m5stick-cp-ble|M5Stick C Plus Orange|Expandable module with BLE gateway, display, and little IR emitter|-|(Emit)|X|-| -|esp32-m5tough-ble|M5Tough rugged|Expandable module with BLE gateway and display, suitable for outdoor|-|-|X|-| -|esp32-olimex-gtw-ble-eth|Olimex Ethernet Gateway (non POE)|BLE gateway with external antenna as an option|-|-|X|-| -|esp32-olimex-gtw-ble-poe|Olimex Ethernet Gateway (POE)|BLE gateway with external antenna as an option|-|-|X|-| -|esp32-olimex-gtw-ble-poe-iso|Olimex Ethernet Gateway (POE + ISO)|BLE gateway with external antenna as an option|-|-|X|-| -|esp32-olimex-gtw-ble-wifi|Olimex Ethernet Gateway (non POE) using wifi| BLE gateway|-|-|X|-| -|esp32dev-ble-cont|ESP32 dev board|BLE gateway with continuous scanning, suitable in particular for door and window BLE sensors (and all the others)|-|-|X|-| -|esp32dev-ble|ESP32 dev board|BLE gateway with one scan every 55s per default|-|-|X|-| -|esp32dev-ble-openhab|ESP32 dev board|BLE gateway with one scan every 55s per default and OpenHAB discovery|-|-|X|-| -|esp32dev-ble-mqtt-undecoded|ESP32 dev board|BLE gateway with the decoding offloaded to [Theengs Gateway](https://gateway.theengs.io/)|-|-|X|-| -|esp32s3-dev-c1-ble|ESP32 dev board|BLE gateway with one scan every 55s per default|-|-|X|-| -|esp32c3-dev-m1-ble|ESP32 dev board|BLE gateway with one scan every 55s per default|-|-|X|-| -|esp32dev-gf-sun-inverter|ESP32 dev board|RS232 reading of GridFree Sun Inverter|-|-|-|-| -|esp32dev-ir|ESP32 dev board|Infrared (Emitting and receiving) using [IRremoteESP8266](https://github.com/crankyoldgit/IRremoteESP8266)|-|X|-|-| -|esp32dev-multi_receiver|ESP32 dev board|Multi RF library with the possibility to switch between [ESPilight](https://github.com/puuu/ESPiLight), [RTL_433_ESP](https://github.com/NorthernMan54/rtl_433_ESP), [NewRemoteSwitch](https://github.com/1technophile/NewRemoteSwitch) and [RCSwitch](https://github.com/1technophile/rc-switch), need CC1101|X|-|-|-| -|esp32dev-pilight-CC1101|ESP32 dev board|Gateway using [ESPilight](https://github.com/puuu/ESPiLight) library only, need CC1101|X|-|-|-| -|esp32dev-pilight|ESP32 dev board|Gateway using [ESPilight](https://github.com/puuu/ESPiLight) without the need of CC1101|X|-|-|-| -|esp32dev-pilight-somfy-CC1101|ESP32 dev board|Gateway using [Somfy Remote](https://github.com/Legion2/Somfy_Remote_Lib) and [ESPilight](https://github.com/puuu/ESPiLight) library, need CC1101|X|-|-|-| -|esp32dev-rf|ESP32 dev board|RF gateway using [RCSwitch](https://github.com/1technophile/rc-switch) library|X|-|-|-| -|esp32dev-rtl_433|ESP32 dev board|Gateway using [RTL_433_ESP](https://github.com/NorthernMan54/rtl_433_ESP) library, need CC1101|X|-|-|-| -|esp32dev-somfy-CC1101|ESP32 dev board|Gateway using [Somfy Remote](https://github.com/Legion2/Somfy_Remote_Lib) library, need CC1101|X|-|-|-| -|esp32dev-weatherstation|ESP32 dev board|Gateway to retrieve weather station data Ventus W174/W132 (tested), Auriol H13726, Hama EWS 1500, Meteoscan W155/W160 using [WeatherStationDataRx](https://github.com/Zwer2k/WeatherStationDataRx)|X|-|-|-| -|esp32feather-ble|ESP32 Feather Adafruit|BLE for the Adafruit Feather board|-|-|X|-| -|shelly-plus1|Shelly Plus 1 relay board (for TESTS ONLY, NOT FOR PRODUCTION USE)|BLE, Relay control, Switch|-|-|X|-| -|heltec-wifi-lora32-868|ESP32 HELTEC LORA V2|LORA communication 868Mhz using [arduino-LoRA](https://github.com/sandeepmistry/arduino-LoRa) |-|-|-|X| -|heltec-wifi-lora32-915|ESP32 HELTEC LORA V2|LORA communication 915Mhz using [arduino-LoRA](https://github.com/sandeepmistry/arduino-LoRa)|-|-|-|X| -|heltec-rtl_433|ESP32 HELTEC LORA32 v2|Gateway using [RTL_433_ESP](https://github.com/NorthernMan54/rtl_433_ESP) and [RadioLib](https://github.com/jgromes/RadioLib)|X|-|-|-| -|lilygo-rtl_433|ESP32 LILYGO LoRa32 V2.1|Gateway using [RTL_433_ESP](https://github.com/NorthernMan54/rtl_433_ESP) and [RadioLib](https://github.com/jgromes/RadioLib)|X|-|-|-| -|tinypico-ble|ESP32 TinyPICO|BLE Gateway|-|-|X|-| -|ttgo-lora32-v1-868|ESP32 TTGO LORA V1|LORA communication 868Mhz using [arduino-LoRA](https://github.com/sandeepmistry/arduino-LoRa)|-|-|-|X| -|ttgo-lora32-v1-915|ESP32 TTGO LORA V1|LORA communication 915Mhz using [arduino-LoRA](https://github.com/sandeepmistry/arduino-LoRa)|-|-|-|X| -|ttgo-tbeam|ESP32 TTGO T BEAM|BLE gateway with battery holder|-|-|X|-| -|esp32dev-ble-datatest|ESP32 dev board|Default BLE gateway with additional servicedata, manufacturerdata and service uuid for analysing decoding issues|-|-|X|-| -|**ESP8266**| -|nodemcuv2-2g|ESP8266 board|SMS gateway, need A6/A7 GSM module|-|-|-|-| -|nodemcuv2-ir|ESP8266 board|Infrared gateway using [IRremoteESP8266](https://github.com/crankyoldgit/IRremoteESP8266)|-|X|-|-| -|nodemcuv2-rf-cc1101|ESP8266 board|RF gateway using [RCSwitch](https://github.com/1technophile/rc-switch) library, need CC1101|X|-|-|-| -|nodemcuv2-rf|ESP8266 board|RF gateway using [RCSwitch](https://github.com/1technophile/rc-switch) library|X|-|-|-| -|nodemcuv2-rf2-cc1101|ESP8266 board|KAKU RF gateway using [NewRemoteSwitch](https://github.com/1technophile/NewRemoteSwitch) library, need CC1101|X|-|-| -|nodemcuv2-rf2|ESP8266 board|KAKU RF gateway using [NewRemoteSwitch](https://github.com/1technophile/NewRemoteSwitch) library|X|-|-|-| -|nodemcuv2-pilight|ESP8266 board|Gateway using [ESPilight](https://github.com/puuu/ESPiLight) without the need of CC1101|X|-|-|-| -|nodemcuv2-RS232|ESP8266 board|RS232 gateway|-|-|-|-| -|nodemcuv2-somfy-cc1101|ESP8266 board|Somfy RF gateway using [Somfy Remote](https://github.com/Legion2/Somfy_Remote_Lib) library, need CC1101|X|-|-|-| -|nodemcuv2-weatherstation|ESP8266 board|RF gateway using [WeatherStationDataRx](https://github.com/Zwer2k/WeatherStationDataRx) library|X|-|-|-| -|rf-wifi-gateway|ESP8266 board|RF gateway for USB stick using [RCSwitch](https://github.com/1technophile/rc-switch) library|X|-|-|-| -|rfbridge|ESP8255 board|RF gateway for the Sonoff RF Bridge relying on the internal decoder|X|-|-|-| -|sonoff-rfbridge-direct|ESP8255 board|RF gateway for the Sonoff RF Bridge requiring direct hack, relying on [ESPilight](https://github.com/puuu/ESPiLight) library, [tutorial](https://1technophile.blogspot.com/2019/04/sonoff-rf-bridge-pilight-or-how-to.html)|X|-|-|-| -|sonoff-basic|ESP8255 board|Wifi relay|-|-|-|-| -|sonoff-basic-rfr3|ESP8255 board|Wifi relay and RF receiver using [RCSwitch](https://github.com/1technophile/rc-switch) library, [tutorial](https://1technophile.blogspot.com/2019/08/new-sonoff-rfr3-as-433tomqtt-gateway.html)|Rec|-|-|-| - -[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fdocs.openmqttgateway.com%2Fupload%2Fweb-install.html&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) +The auto-generated table below describes the libraries and the modules of each board configuration. diff --git a/platformio.ini b/platformio.ini index d45c7fc..3acae6e 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,6 +13,7 @@ src_dir = main include_dir = main extra_configs = + boards.ini tests/*_env.ini *_env.ini @@ -90,7 +91,7 @@ extra_configs = ;default_envs = esp32dev-mqtt-fw-test ;default_envs = nodemcuv2-mqtt-fw-test ;default_envs = nodemcuv2-rs232 -;default_envs = sonoff-rfbridge-direct +;default_envs = rfbridge-direct ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ENVIRONMENTS PARAMETERS ; @@ -194,1409 +195,3 @@ lib_deps = build_flags = ${env.build_flags} '-DsimpleReceiving=false' - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; 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="OpenMQTTGateway_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. - -[env:sonoff-rfbridge-direct] -platform = espressif8266@^2 -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="OpenMQTTGateway_SRFB_Direct"' -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. - - -[env:esp32dev-all-test] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${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.onewire} - ${libraries.dallastemperature} - ${libraries.rfWeatherStation} - ${libraries.shtc3} - ${libraries.rn8209} -build_flags = - ${com-esp.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"' - '-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' - -[env:esp32dev-rf] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.rc-switch} -build_flags = - ${com-esp.build_flags} - '-DZgatewayRF="RF"' - '-DGateway_Name="OpenMQTTGateway_ESP32_RF"' - -[env:esp32dev-pilight] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.esppilight} -build_flags = - ${com-esp.build_flags} - '-DZgatewayPilight="Pilight"' - '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight"' - -[env:esp32dev-pilight-cc1101] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.esppilight} - ${libraries.smartrc-cc1101-driver-lib} -build_flags = - ${com-esp.build_flags} - '-DZgatewayPilight="Pilight"' - '-DZradioCC1101="CC1101"' - '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-CC1101"' - -[env:esp32dev-somfy-cc1101] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.somfy_remote} - ${libraries.smartrc-cc1101-driver-lib} -build_flags = - ${com-esp.build_flags} - '-DZactuatorSomfy="Somfy"' - '-DZradioCC1101="CC1101"' - '-DGateway_Name="OpenMQTTGateway_ESP32_Somfy-CC1101"' - -[env:esp32dev-pilight-somfy-cc1101] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.esppilight} - ${libraries.somfy_remote} - ${libraries.smartrc-cc1101-driver-lib} -build_flags = - ${com-esp.build_flags} - '-DZgatewayPilight="Pilight"' - '-DZactuatorSomfy="Somfy"' - '-DZradioCC1101="CC1101"' - '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-Somfy-CC1101"' - -[env:esp32dev-weatherstation] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.rfWeatherStation} -build_flags = - ${com-esp.build_flags} - '-DZgatewayWeatherStation="WeatherStation"' - '-DGateway_Name="OpenMQTTGateway_ESP32_WeatherStation"' - -[env:esp32dev-gf-sun-inverter] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.emodbus} - ${libraries.gfSunInverter} -build_flags = - ${com-esp.build_flags} - '-DZgatewayGFSunInverter="GFSunInverter"' - '-DGateway_Name="OpenMQTTGateway_ESP32_GFSunInverter"' - -[env:esp32dev-ir] -platform = ${com.esp32_platform} -board = esp32dev -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.irremoteesp} -build_flags = - ${com-esp.build_flags} - '-DZgatewayIR="IR"' - '-DGateway_Name="OpenMQTTGateway_ESP32_IR"' - -[env:esp32dev-ble] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' - -[env:esp32dev-ble-openhab] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DOpenHABDiscovery=true' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_OH"' - -[env:esp32dev-ble-mqtt-undecoded] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' - '-DMQTTDecodeTopic="undecoded"' - -[env:esp32dev-ble-aws] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-UZmqttDiscovery="HADiscovery"' - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DMQTT_SECURE_DEFAULT=true' - '-DMQTT_SECURE_SELF_SIGNED' - '-DMQTT_CERT_VALIDATE_DEFAULT=true' - '-DMQTT_SERVER="xxxxxxxxxxxxx-ats.iot.eu-west-2.amazonaws.com"' - '-DMQTT_PORT="8883"' - '-DMQTT_USER=""' - '-DMQTT_PASS=""' - '-DAWS_IOT=true' - -[env:esp32dev-ble-cont] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_C"' - '-DTimeBtwRead=0' - '-DScan_duration=1000' - '-DAttemptBLEConnect=false' - -[env:esp32feather-ble] -platform = ${com.esp32_platform} -board = featheresp32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=13' - '-DLED_SEND_RECEIVE_ON=0' - '-DGateway_Name="OpenMQTTGateway_ESP32_FTH_BLE"' - -[env:esp32-lolin32lite-ble] -platform = ${com.esp32_platform} -board = lolin32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=22' - '-DLED_SEND_RECEIVE_ON=0' - '-DGateway_Name="OpenMQTTGateway_LOLIN32LITE_BLE"' -;; Low power parameters, uncomment and fill credentials -; '-DDEFAULT_LOW_POWER_MODE=2' -; '-DTimeBtwRead=155000' -; '-DScan_duration=2000' -; '-DAttemptBLEConnect=false' -; '-DActiveBLEScan=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"' - -[env:esp32-olimex-gtw-ble-eth] -platform = ${com.esp32_platform} -board = esp32-gateway -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_INFO=33' - '-DLED_INFO_ON=1' - '-DESP32_ETHERNET=true' - '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWE"' - -[env:esp32-olimex-gtw-ble-poe] -platform = ${com.esp32_platform} -board = esp32-poe -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DESP32_ETHERNET=true' - '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_POE"' - -[env:esp32-olimex-gtw-ble-poe-iso] -platform = ${com.esp32_platform} -board = esp32-poe-iso -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DESP32_ETHERNET=true' - '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_POE"' - -[env:esp32-wt32-eth01-ble-eth] -platform = ${com.esp32_platform} -board = esp32-gateway -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DESP32_ETHERNET=true' - '-DETH_PHY_ADDR=1' - '-DETH_PHY_POWER=16' - '-DETH_CLK_MODE=ETH_CLOCK_GPIO0_IN' - '-DGateway_Name="OpenMQTTGateway_ESP32_WT32-ETH01"' - -[env:esp32-olimex-gtw-ble-wifi] -platform = ${com.esp32_platform} -board = esp32-gateway -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_INFO=33' - '-DLED_INFO_ON=1' - '-DTRIGGER_GPIO=34' - '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWW"' - -[env:esp32-m5stick-ble] -platform = ${com.esp32_platform} -board = m5stack-core-esp32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.irremoteesp} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZgatewayIR="IR"' - '-DLED_SEND_RECEIVE=19' - '-DLED_SEND_RECEIVE_ON=1' - '-DTRIGGER_GPIO=35' - '-DIR_EMITTER_GPIO=17' - '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_BLE_IR"' -board_upload.speed = 921600 - -[env:esp32-m5stack-ble] -platform = ${com.esp32_platform} -board = m5stack-core-esp32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.m5stack} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZsensorGPIOInput="GPIOInput"' - '-DZboardM5STACK="M5Stack"' - '-DLED_SEND_RECEIVE=15' - '-DTRIGGER_GPIO=37' - '-DSLEEP_BUTTON=38' - '-DINPUT_GPIO=39' - '-DGateway_Name="OpenMQTTGateway_ESP32_M5STACK_BLE"' -board_upload.speed = 921600 - -[env:esp32-m5tough-ble] -platform = ${com.esp32_platform} -board = m5stack-core-esp32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.m5tough} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZboardM5TOUGH="M5Tough"' - '-DGateway_Name="OpenMQTTGateway_ESP32_M5TOUGH_BLE"' -board_upload.speed = 921600 - -[env:esp32-m5stick-c-ble] -platform = ${com.esp32_platform} -board = m5stick-c -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.m5stickc} - ${libraries.irremoteesp} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZgatewayIR="IR"' - '-DZsensorGPIOInput="GPIOInput"' - '-DZboardM5STICKC="M5StickC"' - '-DACTUATOR_ONOFF_GPIO=10' - '-DINPUT_GPIO=37' - '-DLED_SEND_RECEIVE=10' - '-DLED_SEND_RECEIVE_ON=0' - '-DSLEEP_BUTTON=39' - '-DTRIGGER_GPIO=39' - '-DIR_EMITTER_INVERTED=true' - '-DIR_EMITTER_GPIO=9' - '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_C_BLE_IR"' -board_upload.speed = 1500000 - -[env:esp32-m5stick-cp-ble] -platform = ${com.esp32_platform} -board = pico32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.m5stickcp} - ${libraries.irremoteesp} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZgatewayIR="IR"' - '-DZsensorGPIOInput="GPIOInput"' - '-DZboardM5STICKCP="M5StickCP"' - '-DACTUATOR_ONOFF_GPIO=10' - '-DINPUT_GPIO=37' - '-DLED_SEND_RECEIVE=10' - '-DLED_SEND_RECEIVE_ON=0' - '-DSLEEP_BUTTON=39' - '-DTRIGGER_GPIO=39' - '-DIR_EMITTER_INVERTED=true' - '-DIR_EMITTER_GPIO=9' - '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_CP_BLE_IR"' -board_upload.speed = 1500000 - -[env:esp32-m5atom-matrix] -platform = ${com.esp32_platform} -board = pico32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.irremoteesp} - ${libraries.fastled} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZgatewayIR="IR"' - '-DTRIGGER_GPIO=39' - '-DSLEEP_BUTTON=39' - '-DIR_EMITTER_GPIO=12' - '-DFASTLED_IND_DATA_GPIO=27,GRB' - '-DFASTLED_IND_TYPE=WS2812' - '-DFASTLED_IND_NUM_LEDS=25' - '-DRGB_INDICATORS=true' - '-DGateway_Name="OpenMQTTGateway_ATOM_M"' -board_upload.speed = 1500000 - -[env:esp32-m5atom-lite] -platform = ${com.esp32_platform} -board = pico32 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.irremoteesp} - ${libraries.fastled} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DZgatewayIR="IR"' - '-DTRIGGER_GPIO=39' - '-DSLEEP_BUTTON=39' - '-DIR_EMITTER_GPIO=12' - '-DFASTLED_IND_DATA_GPIO=27,GRB' - '-DFASTLED_IND_TYPE=WS2812' - '-DFASTLED_IND_NUM_LEDS=1' - '-DRGB_INDICATORS=true' - '-DGateway_Name="OpenMQTTGateway_ATOM_L"' -board_upload.speed = 1500000 - -[env:esp32dev-rtl_433] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.rtl_433_ESP} -build_flags = - ${com-esp.build_flags} -; *** OpenMQTTGateway Config *** - ;'-UZmqttDiscovery' ; disables MQTT Discovery - '-DvalueAsATopic=true' ; MQTT topic includes model and device - '-DLOG_LEVEL=LOG_LEVEL_TRACE' - '-DGateway_Name="OpenMQTTGateway_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' - -[env:heltec-rtl_433] -platform = ${com.esp32_platform} -board = heltec_wifi_lora_32_V2 ; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ssd1306} - ${libraries.rtl_433_ESP} -build_flags = - ${com-esp.build_flags} -; *** OpenMQTTGateway Config *** - ;'-UZmqttDiscovery' ; disables MQTT Discovery - '-DvalueAsATopic=true' ; MQTT topic includes model and device - '-DGateway_Name="OpenMQTTGateway_heltec_rtl_433_ESP"' -; *** OpenMQTTGateway Modules *** - '-DZgatewayRTL_433="rtl_433"' - '-DZradioSX127x="SX127x"' -; *** ssd1306 Display Options *** - '-DZdisplaySSD1306="HELTEC_SSD1306"' -; '-DLOG_TO_LCD=false' ; Enable log to LCD -; '-DJSON_TO_LCD=true' -; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' -; '-DDISPLAY_IDLE_LOGO=false' -; '-DDISPLAY_METRIC=false' - -[env:lilygo-rtl_433] -platform = ${com.esp32_platform} -board = ttgo-lora32-v21 ; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ssd1306} - ${libraries.rtl_433_ESP} -build_flags = - ${com-esp.build_flags} -; *** OpenMQTTGateway Config *** - ;'-UZmqttDiscovery' ; disables MQTT Discovery - '-DvalueAsATopic=true' ; MQTT topic includes model and device - '-DGateway_Name="OpenMQTTGateway_lilygo_rtl_433_ESP"' -; *** OpenMQTTGateway Modules *** - '-DZgatewayRTL_433="rtl_433"' - '-DZradioSX127x="SX127x"' -; *** ssd1306 Display Options *** - '-DZdisplaySSD1306="LilyGo_SSD1306"' -; '-DLOG_TO_LCD=true' ; Enable log to LCD -; '-DJSON_TO_LCD=true' -; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' -; '-DDISPLAY_IDLE_LOGO=false' -; '-DDISPLAY_METRIC=false' - -[env:esp32dev-multi_receiver] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.rc-switch} - ${libraries.smartrc-cc1101-driver-lib} - ${libraries.rtl_433_ESP} - ${libraries.esppilight} - ${libraries.newremoteswitch} -build_flags = - ${com-esp.build_flags} - '-DZgatewayRF="RF"' - '-DZgatewayRF2="RF2"' - '-DZgatewayRTL_433="RTL_433"' - '-DZgatewayPilight="Pilight"' - '-DZradioCC1101="CC1101"' - '-DGateway_Name="OpenMQTTGateway_multi_receiver"' - '-DvalueAsATopic=true' ; MQTT topic includes model and device (rtl_433) or protocol and id (RF and PiLight) -; '-DDEFAULT_RECEIVER=1' ; Default receiver to enable on startup -; *** 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 - -[env:tinypico-ble] -platform = ${com.esp32_platform} -board = tinypico -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.fastled} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DGateway_Name="OpenMQTTGateway_ESP32_TINYPICO_BLE"' - '-DRGB_LED_POWER=13' - '-DFASTLED_IND_DATA_GPIO=2,12,RGB' - '-DFASTLED_IND_TYPE=APA102' - '-DFASTLED_IND_NUM_LEDS=1' -board_build.flash_mode = dio - -[env:ttgo-lora32-v1-868] -platform = ${com.esp32_platform} -board = ttgo-lora32-v1 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.lora} -build_flags = - ${com-esp.build_flags} - '-DZgatewayLORA="LORA"' - '-DLORA_BAND=868E6' - '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' - -[env:ttgo-lora32-v1-915] -platform = ${com.esp32_platform} -board = ttgo-lora32-v1 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.lora} -build_flags = - ${com-esp.build_flags} - '-DZgatewayLORA="LORA"' - '-DLORA_BAND=915E6' - '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' - -[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} -board = ttgo-t-beam -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.lora} -build_flags = - ${com-esp.build_flags} - '-DZgatewayLORA="LORA"' - '-DZgatewayBT="BT"' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_LORA"' - - '-DLED_SEND_RECEIVE=21' # T-BEAM board V0.5 -# '-DLED_SEND_RECEIVE=14' # T-BEAM board V0.7 -# '-DLED_SEND_RECEIVE=4' # T-BEAM board V1.0+ - '-DTimeLedON=0.05' - '-DLED_SEND_RECEIVE_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' - -[env:heltec-wifi-lora-32-868] ; Heltec ESP32 Board with SSD1306 display -platform = ${com.esp32_platform} -board = heltec_wifi_lora_32 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.lora} - ${libraries.ssd1306} -build_flags = - ${com-esp.build_flags} -; *** OpenMQTTGateway Modules *** - '-DZgatewayLORA="LORA"' - '-DLORA_BAND=868E6' - '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' - '-DLED_SEND_RECEIVE=25' - '-DTimeLedON=0.1' - '-DLED_SEND_RECEIVE_ON=1' -; *** ssd1306 Display Options *** - '-DZdisplaySSD1306="HELTEC_SSD1306"' -; '-DLOG_TO_LCD=true' ; Enable log to LCD -; '-DJSON_TO_LCD=true' -; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' -; '-DDISPLAY_IDLE_LOGO=false' -; '-DDISPLAY_METRIC=false' - -[env:heltec-wifi-lora-32-915] ; Heltec ESP32 Board with SSD1306 display -platform = ${com.esp32_platform} -board = heltec_wifi_lora_32 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.lora} - ${libraries.ssd1306} -build_flags = - ${com-esp.build_flags} -; *** OpenMQTTGateway Modules *** - '-DZgatewayLORA="LORA"' - '-DLORA_BAND=915E6' - '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"' - '-DLED_SEND_RECEIVE=25' - '-DTimeLedON=0.1' - '-DLED_SEND_RECEIVE_ON=1' -; *** ssd1306 Display Options *** - '-DZdisplaySSD1306="HELTEC_SSD1306"' -; '-DLOG_TO_LCD=true' ; Enable log to LCD -; '-DJSON_TO_LCD=true' -; '-DLOG_LEVEL_LCD=LOG_LEVEL_NOTICE' -; '-DDISPLAY_IDLE_LOGO=false' -; '-DDISPLAY_METRIC=false' - -; 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-esp.lib_deps} - ${libraries.ble} - ${libraries.wifimanager32} - ${libraries.decoder} -build_flags = - ${env.build_flags} - ${com-esp.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"' - -[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"' - '-DZsensorTSL2561="TSL2561"' - '-DZsensorDHT="DHT"' - '-DZsensorDS1820="DS1820"' - '-DZgatewayRFM69="RFM69"' - '-DZsensorGPIOInput="GPIOInput"' - '-DZsensorGPIOKeyCode="GPIOKeyCode"' - ;'-DZgatewayWeatherStation="WeatherStation"' - '-DsimplePublishing=true' - '-DGateway_Name="OpenMQTTGateway_ESP8266_ALL"' -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="OpenMQTTGateway_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="OpenMQTTGateway_ESP8266_2G"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_IR"' -board_build.flash_mode = dout - -[env:nodemcuv2-rs232] -platform = ${com.esp8266_platform} -board = nodemcuv2 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager8266} - ${libraries.esp8266_mdns} -build_flags = - ${com-esp.build_flags} - '-DZgatewayRS232="RS232"' - '-DGateway_Name="OpenMQTTGateway_ESP8266_RS232"' -board_build.flash_mode = dout - -[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_SEND_RECEIVE=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="OpenMQTTGateway_AVATTO_IR"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_RF"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_RF-CC1101"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_Somfy-CC1101"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_TEST_MANUAL_WIFI"' -board_build.flash_mode = dout - -[env:openhab-test] -platform = ${com.esp8266_platform} -board = nodemcuv2 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager8266} -build_flags = - ${com-esp.build_flags} - '-DOpenHABDiscovery=true' - '-DGateway_Name="OpenMQTTGateway_TEST_OPENHAB"' -board_build.flash_mode = dout - -[env:nodemcuv2-mqtt-fw-test] -platform = ${com.esp8266_platform} -board = nodemcuv2 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager8266} -build_flags = - ${com-esp.build_flags} - '-DMQTT_SECURE_SELF_SIGNED' - '-DGateway_Name="OpenMQTTGateway_TEST_MQTT_FW"' -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="OpenMQTTGateway_ESP8266_RF_WIFI_GW"' - '-DRF_RECEIVER_GPIO=5' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_RF2"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_RF2-CC1101"' -board_build.flash_mode = dout - -[env:nodemcuv2-pilight] -platform = espressif8266@^2 -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="OpenMQTTGateway_ESP8266_Pilight"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_ESP8266_RF3"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_SONOFF_RELAY"' -board_build.flash_mode = dout - -[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="OpenMQTTGateway_SONOFF_BASIC_RFR3"' -board_build.flash_mode = dout - -[env:atmega-all-test] -platform = ${com.atmelavr_platform} -board = megaatmega2560 -lib_deps = - ${com-arduino.lib_deps} - ${libraries.irremote} - ${libraries.rfm69} - ${libraries.rfm69spi} - ${libraries.rfm69_low-power} - ${libraries.rc-switch} - ${libraries.newremoteswitch} - ${libraries.bme280} - ${libraries.bmp180} - ${libraries.htu21} - ${libraries.ahtx0} - ${libraries.unifiedsensor} - ${libraries.dht} - ${libraries.tsl2561} - ${libraries.a6lib} - ${libraries.ina226} - ${libraries.fastled} - ${libraries.onewire} - ${libraries.dallastemperature} - ${libraries.rfWeatherStation} - ${libraries.stl} -build_flags = - ${com-arduino.build_flags} - '-DZgatewayRF="RF"' - '-DZgatewayRF="RF315"' - '-DZgatewayRF2="RF2"' - '-DZgatewayIR="IR"' - '-DZactuatorONOFF="ONOFF"' - '-DZactuatorFASTLED="FASTLED"' - '-DZactuatorPWM="PWM"' - '-DZsensorINA226="INA226"' - '-DZsensorHCSR501="HCSR501"' - '-DZsensorADC="ADC"' - '-DZsensorBH1750="BH1750"' - '-DZsensorBME280="BME280"' - '-DZsensorHTU21="HTU21"' - '-DZsensorAHTx0="AHTx0"' - '-DZsensorTSL2561="TSL2561"' - '-DZsensorDHT="DHT"' - '-DZsensorDS1820="DS1820"' - '-DZgatewayRFM69="RFM69"' - '-DZgatewayWeatherStation="WeatherStation"' - '-DZsensorGPIOInput="GPIOInput"' - ;'-DZsensorGPIOKeyCode="GPIOKeyCode"' - '-DZmqttDiscovery="HADiscovery"' - '-DsimplePublishing=true' - '-DGateway_Name="OpenMQTTGateway_ATMEGA_ALL"' - -[env:uno-rf] -platform = ${com.atmelavr_platform} -board = uno -lib_deps = - ${com-arduino.lib_deps} - ${libraries.rc-switch} -build_flags = - ${com-arduino-low-memory.build_flags} - '-DZgatewayRF="RF"' - '-DGateway_Name="OMG_1_RF"' - '-DDISABLE_LOGGING' - -[env:uno-fastled] -platform = ${com.atmelavr_platform} -board = uno -lib_deps = - ${com-arduino.lib_deps} - ${libraries.fastled} -build_flags = - ${com-arduino-low-memory.build_flags} - '-DGateway_Name="OMG_1_FL"' - '-DZactuatorFASTLED="FASTLED"' - -[env:esp32dev-ble-datatest] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DpubBLEManufacturerData=true' - '-DpubKnownBLEServiceData=true' - '-DpubBLEServiceUUID=true' - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' - -[env:esp32s3-dev-c1-ble] -platform = ${com.esp32_c3_s3_platform} -board = esp32-s3-devkitc-1 -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.fastled} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DFASTLED_IND_DATA_GPIO=48' - '-DFASTLED_IND_TYPE=NEOPIXEL' - '-DFASTLED_IND_NUM_LEDS=1' - '-DRGB_INDICATORS=true' - '-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3 - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' - -[env:esp32c3-dev-m1-ble] -platform = ${com.esp32_c3_s3_platform} -board = esp32-c3-devkitm-1 -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.decoder} - ${libraries.fastled} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DFASTLED_IND_DATA_GPIO=8' - '-DFASTLED_IND_TYPE=NEOPIXEL' - '-DFASTLED_IND_NUM_LEDS=1' - '-DRGB_INDICATORS=true' - '-DNO_INT_TEMP_READING=true' ; Internal temperature reading not building on ESP32 C3 or S3 - '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' - -[env:thingpulse-espgateway] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.fastled} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DpubBLEServiceUUID=true' - '-DGateway_Name="OpenMQTTGateway_THINGPULSE_BLE"' - '-DFASTLED_IND_DATA_GPIO=32,GRB' - '-DFASTLED_IND_TYPE=WS2812' - '-DFASTLED_IND_NUM_LEDS=4' - '-DFASTLED_INFO_LED=0' - '-DFASTLED_SEND_RECEIVCE_LED=1' - '-DFASTLED_ERROR_LED=2' - '-DFASTLED_BRIGHTNESS=255' - '-DRGB_INDICATORS=true' -; '-DsimplePublishing=true' - - -[env:thingpulse-espgateway-ethernet] -platform = ${com.esp32_platform} -board = esp32dev -board_build.partitions = min_spiffs.csv -lib_deps = - ${com-esp.lib_deps} - ${libraries.wifimanager32} - ${libraries.ble} - ${libraries.fastled} - ${libraries.decoder} -build_flags = - ${com-esp.build_flags} - '-DZgatewayBT="BT"' - '-DLED_SEND_RECEIVE=2' - '-DLED_SEND_RECEIVE_ON=0' - '-DpubBLEServiceUUID=true' - '-DGateway_Name="OpenMQTTGateway_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' - '-DFASTLED_IND_DATA_GPIO=32,GRB' - '-DFASTLED_IND_TYPE=WS2812' - '-DFASTLED_IND_NUM_LEDS=4' - '-DFASTLED_INFO_LED=0' - '-DFASTLED_SEND_RECEIVCE_LED=1' - '-DFASTLED_ERROR_LED=2' - '-DFASTLED_BRIGHTNESS=255' - '-DRGB_INDICATORS=true' -; '-DsimplePublishing=true' diff --git a/scripts/generate_board_docs.py b/scripts/generate_board_docs.py new file mode 100644 index 0000000..232f7aa --- /dev/null +++ b/scripts/generate_board_docs.py @@ -0,0 +1,88 @@ +import pytablereader as ptr +import pandas as pd +import os +import re +import configparser +conf = configparser.ConfigParser() + +# Init the table with the columns +table_init = pd.DataFrame(columns=['Environment', 'uC', 'Hardware', 'Description', 'Modules', 'Platform', + 'Partitions', 'Libraries', 'Options']) +table = table_init + +# Parse platformio.ini to retrieve boards information +conf.read('boards.ini') +for each_section in conf.sections(): + if ("env:" in each_section and "-test" not in each_section): + env = each_section.replace("env:", "") + uc = "" + board = "" + hardware = "" + description = "" + modules = "" + platform = "" + partitions = "" + libraries = "" + options = "" + for (k, v) in conf.items(each_section): + v = v.replace('{', '').replace('}', '').replace('$', '').replace( + "env:", '').replace('\'', '').replace("-D", "") + if (k == "board"): + uc = v + if (k == "platform"): + platform = v + if (k == "board_build.partitions"): + partitions = v + if (k == "lib_deps"): + libraries = v + libraries = libraries.replace( + "\ncom-esp.lib_deps\n", "").replace( + "\ncom-arduino.lib_deps\n", "").replace("libraries.", "") + if (k == "build_flags"): + options = v + for o in options.split('\n'): + if ("gateway" in o or "sensor" in o or "actuator" in o): + if (modules != ""): + modules = modules + "\n" + modules = modules + o[1:o.rfind("=\"")] + options = options.replace( + "com-esp.build_flags\n", "") + if (k == "custom_description"): + description = v + if (k == "custom_hardware"): + hardware = v + table.loc[len(table.index)] = [env, uc, hardware, description, modules, platform, + partitions, libraries, options] + +# Sort rows per Environment name +table.sort_values(by=['Environment'], inplace=True, + key=lambda col: col.str.lower()) + +# Produce individual file +for ind in table.index: + table_extract = table.iloc[ind] + print(table_extract) + file = open("docs/prerequisites/boards/" + + table.iloc[ind]["Environment"] + ".md", 'w') + table_extract = table_extract.rename_axis("Board index") + table_md = table_extract.to_markdown() + n = file.write(table_md) + file.close() + +# Produce list file +# Add link to the file from the environment and replace /n with , +for ind in table.index: + table['Environment'][ind] = "[" + table['Environment'][ind] + \ + "](../prerequisites/boards/" + table['Environment'][ind] + ")" + +table = table.replace("\n", ", ", regex=True) +table = table.drop(["Partitions", "Hardware", "Platform", "Options","Modules"], axis=1) +table = table.reset_index(drop=True) +print(table) +# Convert to Markdown and save per Model_Id +table_md = table.to_markdown() +file = open("docs/prerequisites/board.md", 'a') +n = file.write("# Supported\n" + table_md) +file = open("docs/upload/web-install.md", 'a') +n = file.write(table_md) +file.close()