Update Arduino core and BLE/WiFiManager libs. (#1310)

* Update Arduino core and BLE/WiFiManager libs.

* Add esp32-s3 and esp32-c3 environments.

* Update build script to use matrix.

* Update release build.

* Fix WiFiManager crash

* Use espressif32 version 3.5.0 for standard ESP32.

* Resolves BLE scan_evt timeout issue with latest version (5.2.0).

* ESP32C3 and ESP32S3 Env's use espressif32 version 5.2.0.

* Update LED pins for C3/S3 environments.
This commit is contained in:
h2zero authored and GitHub committed 2022-11-13 12:35:18 -06:00
1 parent 3d589ffa90
commit 9d7086558b
6 files changed
+129 -27

No files matched your search

+73 -6
View File
@@ -4,28 +4,95 @@ on: [push, pull_request]
jobs: jobs:
build: build:
strategy:
fail-fast: false
matrix:
environments:
- "rfbridge"
- "sonoff-rfbridge-direct"
- "esp32dev-all-test"
- "esp32dev-rf"
- "esp32dev-pilight-cc1101"
- "esp32dev-somfy-cc1101"
- "esp32dev-pilight-somfy-cc1101"
- "esp32dev-weatherstation"
- "esp32dev-gf-sun-inverter"
- "esp32dev-ir"
- "esp32dev-ble"
- "esp32dev-ble-openhab"
- "esp32dev-ble-mqtt-undecoded"
- "esp32dev-ble-aws"
- "esp32dev-ble-cont"
- "esp32feather-ble"
- "esp32-lolin32lite-ble"
- "esp32-olimex-gtw-ble-eth"
- "esp32-olimex-gtw-ble-poe"
- "esp32-olimex-gtw-ble-poe-iso"
- "esp32-wt32-eth01-ble-eth"
- "esp32-olimex-gtw-ble-wifi"
- "esp32-m5stick-ble"
- "esp32-m5stack-ble"
- "esp32-m5tough-ble"
- "esp32-m5stick-c-ble"
- "esp32-m5stick-cp-ble"
- "esp32-m5atom"
- "esp32dev-rtl_433"
- "heltec-rtl_433"
- "esp32dev-multi_receiver"
- "tinypico-ble"
- "ttgo-lora32-v1-868"
- "ttgo-lora32-v1-915"
- "ttgo-t-beam"
- "heltec-wifi-lora-32-868"
- "heltec-wifi-lora-32-915"
- "esp32dev-mqtt-fw-test"
- "nodemcuv2-all-test"
- "nodemcuv2-fastled-test"
- "nodemcuv2-2g"
- "nodemcuv2-ir"
- "nodemcuv2-rs232"
- "avatto-bakeey-ir"
- "nodemcuv2-rf"
- "nodemcuv2-rf-cc1101"
- "nodemcuv2-somfy-cc1101"
- "manual-wifi-test"
- "openhab-test"
- "nodemcuv2-mqtt-fw-test"
- "rf-wifi-gateway"
- "nodemcuv2-rf2"
- "nodemcuv2-rf2-cc1101"
- "nodemcuv2-pilight"
- "nodemcuv2-weatherstation"
- "sonoff-basic"
- "sonoff-basic-rfr3"
- "atmega-all-test"
- "uno-rf"
- "uno-fastled"
- "esp32dev-ble-datatest"
- "esp32s3-dev-c1-ble"
- "esp32c3-dev-m1-ble"
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Build with PlatformIO name: Build with PlatformIO
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: "3.7" python-version: "3.x"
- name: Install platformio - name: Install platformio
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install platformio pip install platformio
- name: Run PlatformIO - name: Run PlatformIO
run: platformio run run: platformio run -e ${{ matrix.environments }}
documentation: documentation:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Create the documentation name: Create the documentation
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v1 uses: actions/setup-node@v3
with: with:
node-version: "14.x" node-version: "14.x"
- name: Install build dependencies - name: Install build dependencies
+5 -5
View File
@@ -9,9 +9,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Build and upload Assets to Release name: Build and upload Assets to Release
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: "3.7" python-version: "3.7"
- name: Install platformio - name: Install platformio
@@ -44,13 +44,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Create the documentation and deploy it to GitHub Pages name: Create the documentation and deploy it to GitHub Pages
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v1 uses: actions/setup-node@v3
with: with:
node-version: "14.x" node-version: "14.x"
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: "3.7" python-version: "3.7"
- name: Install build dependencies - name: Install build dependencies
+1 -2
View File
@@ -32,7 +32,6 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht
#ifdef ZgatewayBT #ifdef ZgatewayBT
# include "FreeRTOS.h"
SemaphoreHandle_t semaphoreCreateOrUpdateDevice; SemaphoreHandle_t semaphoreCreateOrUpdateDevice;
SemaphoreHandle_t semaphoreBLEOperation; SemaphoreHandle_t semaphoreBLEOperation;
QueueHandle_t BLEQueue; QueueHandle_t BLEQueue;
@@ -46,8 +45,8 @@ QueueHandle_t BLEQueue;
# include <esp_bt.h> # include <esp_bt.h>
# include <esp_bt_main.h> # include <esp_bt_main.h>
# include <esp_wifi.h> # include <esp_wifi.h>
# include <stdatomic.h>
# include <atomic>
# include <vector> # include <vector>
# include "ZgatewayBLEConnect.h" # include "ZgatewayBLEConnect.h"
+7 -7
View File
@@ -1,18 +1,18 @@
/* /*
OpenMQTTGateway - ESP8266 or Arduino program for home automation OpenMQTTGateway - ESP8266 or Arduino program for home automation
Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker
Send and receiving command by MQTT Send and receiving command by MQTT
This gateway enables to: This gateway enables to:
- receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data - receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data
- publish MQTT data to a different topic related to received 433Mhz signal - publish MQTT data to a different topic related to received 433Mhz signal
- leverage the rtl_433 device decoders on a ESP32 device - leverage the rtl_433 device decoders on a ESP32 device
Copyright: (c)Florian ROBERT Copyright: (c)Florian ROBERT
This file is part of OpenMQTTGateway. This file is part of OpenMQTTGateway.
OpenMQTTGateway is free software: you can redistribute it and/or modify OpenMQTTGateway is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
@@ -44,7 +44,7 @@ void rtl_433_Callback(char* message) {
return; return;
} }
unsigned long MQTTvalue = (int)RFrtl_433_ESPdata["id"] + round(RFrtl_433_ESPdata["temperature_C"]); unsigned long MQTTvalue = (int)RFrtl_433_ESPdata["id"] + round((float)RFrtl_433_ESPdata["temperature_C"]);
String topic = String(subjectRTL_433toMQTT); String topic = String(subjectRTL_433toMQTT);
# if valueAsATopic # if valueAsATopic
String model = RFrtl_433_ESPdata["model"]; String model = RFrtl_433_ESPdata["model"];
+2 -2
View File
@@ -1192,8 +1192,8 @@ void setup_wifimanager(bool reset_settings) {
WiFiManagerParameter custom_mqtt_user("user", "mqtt user", mqtt_user, parameters_size); WiFiManagerParameter custom_mqtt_user("user", "mqtt user", mqtt_user, parameters_size);
WiFiManagerParameter custom_mqtt_pass("pass", "mqtt pass", mqtt_pass, parameters_size); WiFiManagerParameter custom_mqtt_pass("pass", "mqtt pass", mqtt_pass, parameters_size);
WiFiManagerParameter custom_mqtt_topic("topic", "mqtt base topic", mqtt_topic, mqtt_topic_max_size); WiFiManagerParameter custom_mqtt_topic("topic", "mqtt base topic", mqtt_topic, mqtt_topic_max_size);
WiFiManagerParameter custom_mqtt_secure("secure", "mqtt secure", "1", 1, mqtt_secure ? "type=\"checkbox\" checked" : "type=\"checkbox\""); WiFiManagerParameter custom_mqtt_secure("secure", "mqtt secure", "1", 2, mqtt_secure ? "type=\"checkbox\" checked" : "type=\"checkbox\"");
WiFiManagerParameter custom_mqtt_cert("cert", "mqtt broker cert", mqtt_cert.c_str(), 2048); WiFiManagerParameter custom_mqtt_cert("cert", "<br/>mqtt broker cert", mqtt_cert.c_str(), 2048);
WiFiManagerParameter custom_gateway_name("name", "gateway name", gateway_name, parameters_size); WiFiManagerParameter custom_gateway_name("name", "gateway name", gateway_name, parameters_size);
# endif # endif
//WiFiManager //WiFiManager
+41 -5
View File
@@ -100,7 +100,7 @@ arduinolog = https://github.com/1technophile/Arduino-Log.git#d13cd80
pubsubclient = PubSubClient@2.8 pubsubclient = PubSubClient@2.8
rc-switch = https://github.com/1technophile/rc-switch.git#98537e9 rc-switch = https://github.com/1technophile/rc-switch.git#98537e9
newremoteswitch = https://github.com/1technophile/NewRemoteSwitch.git#8eb980e newremoteswitch = https://github.com/1technophile/NewRemoteSwitch.git#8eb980e
ble = https://github.com/h2zero/NimBLE-Arduino.git#1.3.8 ble = https://github.com/h2zero/NimBLE-Arduino.git#1.4.1
irremoteesp = IRremoteESP8266@2.8.2 irremoteesp = IRremoteESP8266@2.8.2
irremote = https://github.com/z3t0/Arduino-IRremote.git#1c08a37 irremote = https://github.com/z3t0/Arduino-IRremote.git#1c08a37
lora = https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27 lora = https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
@@ -118,7 +118,7 @@ htu21 = SparkFun HTU21D Humidity and Temperature Sensor Breakout@1.1.3
ahtx0 = Adafruit AHTX0 ahtx0 = Adafruit AHTX0
ina226 = https://github.com/jarzebski/Arduino-INA226.git#968a684 ina226 = https://github.com/jarzebski/Arduino-INA226.git#968a684
a6lib = https://github.com/h2zero/A6lib a6lib = https://github.com/h2zero/A6lib
wifimanager32 = https://github.com/tzapu/WiFiManager.git#c3ff582 wifimanager32 = https://github.com/tzapu/WiFiManager.git#9f5981e
wifimanager8266 = https://github.com/tzapu/WiFiManager.git#2.0.5-beta wifimanager8266 = https://github.com/tzapu/WiFiManager.git#2.0.5-beta
ethernet = Ethernet ethernet = Ethernet
esp8266_mdns = esp8266_mdns esp8266_mdns = esp8266_mdns
@@ -154,7 +154,8 @@ monitor_speed = 115200
[com] [com]
esp8266_platform = espressif8266@3.2.0 esp8266_platform = espressif8266@3.2.0
esp32_platform = espressif32@3.3.1 esp32_platform = espressif32@3.5.0
esp32_c3_s3_platform = espressif32@5.2.0
atmelavr_platform = atmelavr@3.3.0 atmelavr_platform = atmelavr@3.3.0
[com-esp] [com-esp]
@@ -919,7 +920,7 @@ lib_deps =
${com-esp.lib_deps} ${com-esp.lib_deps}
${libraries.wifimanager32} ${libraries.wifimanager32}
${libraries.lora} ${libraries.lora}
${libraries.ssd1306} ${libraries.ssd1306}
build_flags = build_flags =
${com-esp.build_flags} ${com-esp.build_flags}
; *** OpenMQTTGateway Modules *** ; *** OpenMQTTGateway Modules ***
@@ -940,7 +941,7 @@ lib_deps =
${com-esp.lib_deps} ${com-esp.lib_deps}
${libraries.wifimanager32} ${libraries.wifimanager32}
${libraries.lora} ${libraries.lora}
${libraries.ssd1306} ${libraries.ssd1306}
build_flags = build_flags =
${com-esp.build_flags} ${com-esp.build_flags}
; *** OpenMQTTGateway Modules *** ; *** OpenMQTTGateway Modules ***
@@ -1388,3 +1389,38 @@ build_flags =
'-DpubKnownBLEServiceData=true' '-DpubKnownBLEServiceData=true'
'-DpubBLEServiceUUID=true' '-DpubBLEServiceUUID=true'
'-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' '-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}
build_flags =
${com-esp.build_flags}
'-DZgatewayBT="BT"'
'-DLED_SEND_RECEIVE=12'
'-DLED_SEND_RECEIVE_ON=0'
'-DLED_INFO=13'
'-DLED_ERROR=14'
'-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}
build_flags =
${com-esp.build_flags}
'-DZgatewayBT="BT"'
'-DLED_SEND_RECEIVE=2'
'-DLED_SEND_RECEIVE_ON=0'
'-DLED_INFO=6'
'-DLED_ERROR=7'
'-DGateway_Name="OpenMQTTGateway_ESP32_BLE"'