feat: implement OTA functionality and update build scripts; change upgrade link to OTA in HTML
This commit is contained in:
parent
240795a2d0
commit
2a67d8f67c
12
.github/workflows/release.yml
vendored
12
.github/workflows/release.yml
vendored
@ -43,11 +43,16 @@ jobs:
|
|||||||
--flash_mode dio \
|
--flash_mode dio \
|
||||||
--flash_freq 40m \
|
--flash_freq 40m \
|
||||||
--flash_size 4MB \
|
--flash_size 4MB \
|
||||||
-o .pio/build/esp32dev/filaman.bin \
|
-o .pio/build/esp32dev/filaman_full.bin \
|
||||||
0x1000 .pio/build/esp32dev/bootloader.bin \
|
0x1000 .pio/build/esp32dev/bootloader.bin \
|
||||||
0x8000 .pio/build/esp32dev/partitions.bin \
|
0x8000 .pio/build/esp32dev/partitions.bin \
|
||||||
0x10000 .pio/build/esp32dev/firmware.bin \
|
0x10000 .pio/build/esp32dev/firmware.bin \
|
||||||
0x290000 .pio/build/esp32dev/spiffs.bin
|
0x290000 .pio/build/esp32dev/spiffs.bin
|
||||||
|
|
||||||
|
- name: Prepare OTA firmware
|
||||||
|
run: |
|
||||||
|
# Use PlatformIO to create a proper OTA image
|
||||||
|
cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_ota.bin
|
||||||
|
|
||||||
- name: Get version from tag
|
- name: Get version from tag
|
||||||
id: get_version
|
id: get_version
|
||||||
@ -71,9 +76,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Create Release with GitHub CLI
|
- name: Create Release with GitHub CLI
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Changed from GITHUB_TOKEN to GH_TOKEN
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh release create "${{ github.ref_name }}" \
|
gh release create "${{ github.ref_name }}" \
|
||||||
--title "Release ${{ steps.get_version.outputs.VERSION }}" \
|
--title "Release ${{ steps.get_version.outputs.VERSION }}" \
|
||||||
--notes "${{ steps.changelog.outputs.CHANGES }}" \
|
--notes "${{ steps.changelog.outputs.CHANGES }}" \
|
||||||
".pio/build/esp32dev/filaman.bin#filaman.bin"
|
".pio/build/esp32dev/filaman_full.bin#filaman_full.bin" \
|
||||||
|
".pio/build/esp32dev/filaman_ota.bin#filaman_ota.bin"
|
@ -21,7 +21,7 @@
|
|||||||
<a href="/waage">Scale</a>
|
<a href="/waage">Scale</a>
|
||||||
<a href="/spoolman">Spoolman/Bambu</a>
|
<a href="/spoolman">Spoolman/Bambu</a>
|
||||||
<a href="/about">About</a>
|
<a href="/about">About</a>
|
||||||
<a href="/upgrade">Upgrade</a>
|
<a href="/ota">Upgrade</a>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
|
@ -29,7 +29,7 @@ lib_deps =
|
|||||||
bblanchon/ArduinoJson @ ^7.3.0
|
bblanchon/ArduinoJson @ ^7.3.0
|
||||||
knolleary/PubSubClient @ ^2.8
|
knolleary/PubSubClient @ ^2.8
|
||||||
digitaldragon/SSLClient @ ^1.3.2
|
digitaldragon/SSLClient @ ^1.3.2
|
||||||
jandrassy/ArduinoOTA @ ^1.1.0
|
ipdotsetaf/ESPAsyncHTTPUpdateServer @ ^2.0.0
|
||||||
|
|
||||||
; Enable SPIFFS upload
|
; Enable SPIFFS upload
|
||||||
board_build.filesystem = spiffs
|
board_build.filesystem = spiffs
|
||||||
|
11
src/ota.cpp
Normal file
11
src/ota.cpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include <Arduino.h>
|
||||||
|
#include "ota.h"
|
||||||
|
#include <ESPAsyncWebServer.h>
|
||||||
|
#include <ESPAsyncHTTPUpdateServer.h>
|
||||||
|
|
||||||
|
ESPAsyncHTTPUpdateServer updateServer;
|
||||||
|
|
||||||
|
void setupOTA(AsyncWebServer &server) {
|
||||||
|
updateServer.setup(&server, "/ota", "admin", "admin");
|
||||||
|
//updateServer.setup(&server);
|
||||||
|
}
|
8
src/ota.h
Normal file
8
src/ota.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef OTA_H
|
||||||
|
#define OTA_H
|
||||||
|
|
||||||
|
#include <ESPAsyncWebServer.h>
|
||||||
|
|
||||||
|
void setupOTA(AsyncWebServer &server);
|
||||||
|
|
||||||
|
#endif
|
@ -7,6 +7,7 @@
|
|||||||
#include "nfc.h"
|
#include "nfc.h"
|
||||||
#include "scale.h"
|
#include "scale.h"
|
||||||
#include "esp_task_wdt.h"
|
#include "esp_task_wdt.h"
|
||||||
|
#include "ota.h"
|
||||||
|
|
||||||
// Cache-Control Header definieren
|
// Cache-Control Header definieren
|
||||||
#define CACHE_CONTROL "max-age=31536000" // Cache für 1 Jahr
|
#define CACHE_CONTROL "max-age=31536000" // Cache für 1 Jahr
|
||||||
@ -160,6 +161,8 @@ void setupWebserver(AsyncWebServer &server) {
|
|||||||
Serial.print("Geladene Spoolman-URL: ");
|
Serial.print("Geladene Spoolman-URL: ");
|
||||||
Serial.println(spoolmanUrl);
|
Serial.println(spoolmanUrl);
|
||||||
|
|
||||||
|
setupOTA(server);
|
||||||
|
|
||||||
// Route für about
|
// Route für about
|
||||||
server.on("/about", HTTP_GET, [](AsyncWebServerRequest *request){
|
server.on("/about", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||||
Serial.println("Anfrage für /about erhalten");
|
Serial.println("Anfrage für /about erhalten");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user