Compare commits
6 Commits
8716b4ad73
...
3cd0798186
Author | SHA1 | Date | |
---|---|---|---|
3cd0798186 | |||
2a67d8f67c | |||
240795a2d0 | |||
4e384d777e | |||
03cbf82275 | |||
0c1a222636 |
12
.github/workflows/release.yml
vendored
12
.github/workflows/release.yml
vendored
@ -43,12 +43,17 @@ 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
|
||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
||||||
@ -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"
|
17
CHANGELOG.md
17
CHANGELOG.md
@ -1,5 +1,22 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [1.2.0] - 2025-02-17
|
||||||
|
### Added
|
||||||
|
- implement OTA functionality and update build scripts; change upgrade link to OTA in HTML
|
||||||
|
- update version to v1.2.0 and modify build scripts in platformio.ini; remove unused includes in scale.cpp and website.cpp
|
||||||
|
- update version to v1.2.0 and add upgrade link in HTML files
|
||||||
|
- add esp_wifi.h and set maximum transmit power in WiFi initialization
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- update changelog for version 1.1.0
|
||||||
|
- clean up changelog and update script execution in platformio.ini
|
||||||
|
- update changelog for version 1.1.0
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- update version number in header to v1.1.0
|
||||||
|
- correct version number in nav bar
|
||||||
|
|
||||||
|
|
||||||
## [1.1.0] - 2025-02-16
|
## [1.1.0] - 2025-02-16
|
||||||
### Changed
|
### Changed
|
||||||
- clean up changelog and update script execution in platformio.ini
|
- clean up changelog and update script execution in platformio.ini
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.9</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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="/ota">Upgrade</a>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!-- head --><!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.2</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
@ -33,7 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- head -->
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>FilaMan</h1>
|
<h1>FilaMan</h1>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!-- head --><!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.2</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
@ -33,6 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- head -->
|
||||||
|
|
||||||
<div class="connection-status hidden">
|
<div class="connection-status hidden">
|
||||||
<div class="spinner"></div>
|
<div class="spinner"></div>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!-- head --><!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.2</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
@ -33,6 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- head -->
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.onload = function() {
|
window.onload = function() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!-- head --><!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.2</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
@ -33,6 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- head -->
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h1>Scale Configuration Page</h1>
|
<h1>Scale Configuration Page</h1>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!-- head --><!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<div style="display: flex; align-items: center; gap: 2rem;">
|
<div style="display: flex; align-items: center; gap: 2rem;">
|
||||||
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
<img src="/logo.png" alt="FilaMan Logo" class="logo">
|
||||||
<div class="logo-text">
|
<div class="logo-text">
|
||||||
<h1>FilaMan<span class="version">v1.0.2</span></h1>
|
<h1>FilaMan<span class="version">v1.2.0</span></h1>
|
||||||
<h4>Filament Management Tool</h4>
|
<h4>Filament Management Tool</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,6 +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>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="status-container">
|
<div class="status-container">
|
||||||
<div class="status-item">
|
<div class="status-item">
|
||||||
@ -33,6 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- head -->
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h1>WiFi Configuration Page</h1>
|
<h1>WiFi Configuration Page</h1>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
; https://docs.platformio.org/page/projectconf.html
|
; https://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
[common]
|
[common]
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
|
|
||||||
[env:esp32dev]
|
[env:esp32dev]
|
||||||
platform = espressif32
|
platform = espressif32
|
||||||
@ -29,6 +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
|
||||||
|
ipdotsetaf/ESPAsyncHTTPUpdateServer @ ^2.0.0
|
||||||
|
|
||||||
; Enable SPIFFS upload
|
; Enable SPIFFS upload
|
||||||
board_build.filesystem = spiffs
|
board_build.filesystem = spiffs
|
||||||
@ -48,9 +49,16 @@ build_flags =
|
|||||||
'-D VERSION="${common.version}"'
|
'-D VERSION="${common.version}"'
|
||||||
|
|
||||||
extra_scripts =
|
extra_scripts =
|
||||||
pre:scripts/pre_build.py
|
scripts/extra_script.py
|
||||||
pre:scripts/combine_html.py
|
pre:scripts/pre_build.py ; wird zuerst ausgeführt
|
||||||
pre:scripts/pre_spiffs.py
|
pre:scripts/pre_spiffs.py ; wird als zweites ausgeführt
|
||||||
pre:scripts/gzip_files.py
|
pre:scripts/combine_html.py ; wird als drittes ausgeführt
|
||||||
pre:scripts/extra_script.py
|
scripts/gzip_files.py
|
||||||
#post:scripts/update_changelog.py
|
|
||||||
|
; Remove or comment out the targets line
|
||||||
|
;targets = buildfs, build
|
||||||
|
|
||||||
|
; Add a custom target to build both
|
||||||
|
[platformio]
|
||||||
|
default_envs = esp32dev
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
Import("env")
|
Import("env")
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
def combine_html_files(source, target, env):
|
def combine_html_files(source, target, env):
|
||||||
|
print("COMBINE HTML FILES")
|
||||||
|
|
||||||
html_dir = "./html"
|
html_dir = "./html"
|
||||||
header_file = os.path.join(html_dir, "header.html")
|
header_file = os.path.join(html_dir, "header.html")
|
||||||
|
|
||||||
@ -18,14 +21,14 @@ def combine_html_files(source, target, env):
|
|||||||
with open(file_path, 'r') as f:
|
with open(file_path, 'r') as f:
|
||||||
content = f.read()
|
content = f.read()
|
||||||
|
|
||||||
# Replace placeholder with header content
|
# Replace content between head comments with header content
|
||||||
if '{{header}}' in content:
|
pattern = r'(<!-- head -->).*?(<!-- head -->)'
|
||||||
new_content = content.replace('{{header}}', header_content)
|
new_content = re.sub(pattern, r'\1' + header_content + r'\2', content, flags=re.DOTALL)
|
||||||
|
|
||||||
# Write back combined content
|
# Write back combined content
|
||||||
with open(file_path, 'w') as f:
|
with open(file_path, 'w') as f:
|
||||||
f.write(new_content)
|
f.write(new_content)
|
||||||
print(f"Combined header with {filename}")
|
print(f"Combined header with {filename}")
|
||||||
|
|
||||||
# Register the script to run before building SPIFFS
|
# Register the script to run before building SPIFFS
|
||||||
env.AddPreAction("buildfs", combine_html_files)
|
env.AddPreAction("buildfs", combine_html_files)
|
48
src/main.cpp
48
src/main.cpp
@ -1,10 +1,10 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <WiFi.h>
|
|
||||||
#include <DNSServer.h>
|
#include <DNSServer.h>
|
||||||
#include <WiFiManager.h>
|
|
||||||
#include <ESPmDNS.h>
|
#include <ESPmDNS.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
#include <WiFi.h>
|
||||||
|
|
||||||
|
#include "wlan.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "website.h"
|
#include "website.h"
|
||||||
#include "api.h"
|
#include "api.h"
|
||||||
@ -15,12 +15,6 @@
|
|||||||
#include "esp_task_wdt.h"
|
#include "esp_task_wdt.h"
|
||||||
#include "commonFS.h"
|
#include "commonFS.h"
|
||||||
|
|
||||||
// ***** WIFI initialisieren
|
|
||||||
WiFiManager wm;
|
|
||||||
bool wm_nonblocking = false;
|
|
||||||
void initWiFi();
|
|
||||||
// ################### Functions
|
|
||||||
|
|
||||||
// ##### SETUP #####
|
// ##### SETUP #####
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
@ -96,9 +90,6 @@ void loop() {
|
|||||||
|
|
||||||
unsigned long currentMillis = millis();
|
unsigned long currentMillis = millis();
|
||||||
|
|
||||||
// Falls WifiManager im nicht blockenden Modus ist
|
|
||||||
//if(wm_nonblocking) wm.process();
|
|
||||||
|
|
||||||
// Send AMS Data min every Minute
|
// Send AMS Data min every Minute
|
||||||
if (currentMillis - lastAmsSendTime >= amsSendInterval) {
|
if (currentMillis - lastAmsSendTime >= amsSendInterval) {
|
||||||
lastAmsSendTime = currentMillis;
|
lastAmsSendTime = currentMillis;
|
||||||
@ -164,38 +155,3 @@ void loop() {
|
|||||||
yield();
|
yield();
|
||||||
esp_task_wdt_reset();
|
esp_task_wdt_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ##### Funktionen für Konfiguration #####
|
|
||||||
void initWiFi() {
|
|
||||||
WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP
|
|
||||||
|
|
||||||
if(wm_nonblocking) wm.setConfigPortalBlocking(false);
|
|
||||||
wm.setConfigPortalTimeout(320); // Portal nach 5min schließen
|
|
||||||
|
|
||||||
oledShowTopRow();
|
|
||||||
oledShowMessage("WiFi Setup");
|
|
||||||
|
|
||||||
bool res;
|
|
||||||
// res = wm.autoConnect(); // auto generated AP name from chipid
|
|
||||||
res = wm.autoConnect("FilaMan"); // anonymous ap
|
|
||||||
// res = wm.autoConnect("spoolman","password"); // password protected ap
|
|
||||||
|
|
||||||
if(!res) {
|
|
||||||
Serial.println("Failed to connect or hit timeout");
|
|
||||||
// ESP.restart();
|
|
||||||
oledShowTopRow();
|
|
||||||
oledShowMessage("WiFi not connected Check Portal");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
wifiOn = true;
|
|
||||||
|
|
||||||
//if you get here you have connected to the WiFi
|
|
||||||
Serial.println("connected...yeey :)");
|
|
||||||
Serial.print("IP address: ");
|
|
||||||
Serial.println(WiFi.localIP());
|
|
||||||
|
|
||||||
oledShowTopRow();
|
|
||||||
display.display();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// ##### Funktionen für Konfiguration Ende #####
|
|
||||||
|
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
|
@ -5,7 +5,6 @@
|
|||||||
#include "HX711.h"
|
#include "HX711.h"
|
||||||
#include <EEPROM.h>
|
#include <EEPROM.h>
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "nfc.h"
|
|
||||||
#include "esp_task_wdt.h"
|
#include "esp_task_wdt.h"
|
||||||
|
|
||||||
HX711 scale;
|
HX711 scale;
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
#include "api.h"
|
#include "api.h"
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#include <ESPAsyncWebServer.h>
|
#include <ESPAsyncWebServer.h>
|
||||||
//#include <AsyncWebSocket.h>
|
|
||||||
#include "bambu.h"
|
#include "bambu.h"
|
||||||
#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
|
||||||
@ -161,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");
|
||||||
|
45
src/wlan.cpp
Normal file
45
src/wlan.cpp
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#include <Arduino.h>
|
||||||
|
#include "wlan.h"
|
||||||
|
#include <WiFi.h>
|
||||||
|
#include <esp_wifi.h>
|
||||||
|
#include <WiFiManager.h>
|
||||||
|
#include "display.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
WiFiManager wm;
|
||||||
|
bool wm_nonblocking = false;
|
||||||
|
|
||||||
|
void initWiFi() {
|
||||||
|
WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP
|
||||||
|
|
||||||
|
esp_wifi_set_max_tx_power(72); // Setze maximale Sendeleistung auf 20dBm
|
||||||
|
|
||||||
|
if(wm_nonblocking) wm.setConfigPortalBlocking(false);
|
||||||
|
wm.setConfigPortalTimeout(320); // Portal nach 5min schließen
|
||||||
|
|
||||||
|
oledShowTopRow();
|
||||||
|
oledShowMessage("WiFi Setup");
|
||||||
|
|
||||||
|
bool res;
|
||||||
|
// res = wm.autoConnect(); // auto generated AP name from chipid
|
||||||
|
res = wm.autoConnect("FilaMan"); // anonymous ap
|
||||||
|
// res = wm.autoConnect("spoolman","password"); // password protected ap
|
||||||
|
|
||||||
|
if(!res) {
|
||||||
|
Serial.println("Failed to connect or hit timeout");
|
||||||
|
// ESP.restart();
|
||||||
|
oledShowTopRow();
|
||||||
|
oledShowMessage("WiFi not connected Check Portal");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
wifiOn = true;
|
||||||
|
|
||||||
|
//if you get here you have connected to the WiFi
|
||||||
|
Serial.println("connected...yeey :)");
|
||||||
|
Serial.print("IP address: ");
|
||||||
|
Serial.println(WiFi.localIP());
|
||||||
|
|
||||||
|
oledShowTopRow();
|
||||||
|
display.display();
|
||||||
|
}
|
||||||
|
}
|
8
src/wlan.h
Normal file
8
src/wlan.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef WLAN_H
|
||||||
|
#define WLAN_H
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
void initWiFi();
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user