completed many cool thinks

pull/1/head
Thomas Ballmann 4 years ago
parent 69baac2589
commit f34f803acc

3
.gitignore vendored

@ -2,4 +2,5 @@
.vscode/.browse.c_cpp.db* .vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json .vscode/c_cpp_properties.json
.vscode/launch.json .vscode/launch.json
.vscode/ipch .vscode/ipch
.DS_Store

@ -1,3 +1,6 @@
body {
background-color: rgb(226, 226, 226);
}
.dashboard{ .dashboard{
text-align: center; text-align: center;
} }

@ -1,31 +0,0 @@
<head>
<link rel="stylesheet" type="text/css" href="dashboard.css">
</head>
<body>
<div class="dashboard">
<div class="circle-container">
<div class="circle">
<div class="circle__content">
24ºC
</div>
<div class="circle__lower-text">
Temperature
</div>
</div>
</div>
<div class="circle-container">
<div class="circle">
<div class="circle__content">
22%
</div>
<div class="circle__lower-text">
Humidity
</div>
</div>
</div>
</div>
</body>

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang=en>
<head>
<link rel="stylesheet" type="text/css" href="app.css">
</head>
<body>
<div class="dashboard">
<h1>paperdash.io</h1>
<div class="circle-container">
<div class="circle">
<div class="circle__content">
24ºC
</div>
<div class="circle__lower-text">
Temperature
</div>
</div>
</div>
<div class="circle-container">
<div class="circle">
<div class="circle__content">
22%
</div>
<div class="circle__lower-text">
Humidity
</div>
</div>
</div>
</div>
</body>
</html>

@ -4,6 +4,6 @@
#include <WiFi.h> #include <WiFi.h>
void setupWlan(); void setupWlan();
bool wlan_isAPMode(); bool wlan_isConnected();
#endif #endif

@ -2,16 +2,16 @@
platform = espressif32 platform = espressif32
board = lolin32 board = lolin32
framework = arduino framework = arduino
monitor_speed = 115200
;upload_port = 192.168.178.60 ;upload_port = 192.168.178.60
# lolin32 # lolin32
upload_speed = 921600 ;upload_speed = 921600
monitor_speed = 115200
# lolin32 lite # lolin32 lite
;upload_speed = 115200 upload_speed = 115200
;upload_port = /dev/cu.wchusbserial1460 upload_port = /dev/cu.wchusbserial1460
lib_deps = lib_deps =
GxEPD2@~1.2.4 GxEPD2@~1.2.4

@ -1,5 +1,4 @@
#include "configure.h" #include "configure.h"
#include "wlan.h"
#include "SPIFFS.h" #include "SPIFFS.h"
#include "ESPAsyncWebServer.h" #include "ESPAsyncWebServer.h"
@ -8,36 +7,33 @@
AsyncWebServer server(80); AsyncWebServer server(80);
void setupConfigure() void setupConfigure()
{ {
if (wlan_isAPMode()) Serial.println("setup configure");
{
if (!SPIFFS.begin()) { if (!SPIFFS.begin()) {
Serial.println("An Error has occurred while mounting SPIFFS"); Serial.println("An Error has occurred while mounting SPIFFS");
return; return;
}
server.on("/dashboard", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(SPIFFS, "/dashboard.html", "text/html");
});
server.on("/dashboard.css", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(SPIFFS, "/dashboard.css", "text/css");
});
server.begin();
} }
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
Serial.println("/");
request->send(SPIFFS, "/index.html", "text/html");
});
server.on("/app.css", HTTP_GET, [](AsyncWebServerRequest *request) {
Serial.println("/app.css");
request->send(SPIFFS, "/app.css", "text/css");
});
server.begin();
Serial.println("setup configure - done");
} }
void loopConfigure() void loopConfigure()
{ {
if (wlan_isAPMode())
{
// ap mode
}
else
{
// connected to wifi
}
} }

@ -16,10 +16,10 @@ String getWakeupReason();
void setupDevice() void setupDevice()
{ {
// increment boot number and print it every reboot // increment boot number and print it every reboot
//bootCount++; bootCount++;
// config wakeup timer // TODO muss in der cloud passieren? config wakeup timer
deviceSetSleepInterval(300); //deviceSetSleepInterval(300);
} }

@ -24,23 +24,29 @@ void setup()
setupDisplay(); setupDisplay();
setupSettings(); setupSettings();
// setup hardware
//setupConfig();
//setupDeepSleep();
setupDevice(); setupDevice();
setupWlan(); setupWlan();
setupCloud();
if (wlan_isConnected())
{
//setupCloud();
}
setupConfigure();
Serial.println(); Serial.println();
Serial.println("setup... done"); Serial.println("setup - done");
} }
void loop() void loop()
{ {
// put your main code here, to run repeatedly: // put your main code here, to run repeatedly:
loopCloud(); if (wlan_isConnected())
{
//loopCloud();
}
loopDevice(); loopDevice();
loopConfigure(); loopConfigure();
} }

@ -1,6 +1,8 @@
#include "wlan.h" #include "wlan.h"
#include "settings.h" #include "settings.h"
const char *deviceName = "paperdash-display";
RTC_DATA_ATTR int wifiFailedCount = 0;
void initClientMode(const char *ssid, const char *password); void initClientMode(const char *ssid, const char *password);
void initAPMode(); void initAPMode();
@ -9,14 +11,18 @@ void initAPMode();
void setupWlan() void setupWlan()
{ {
Serial.println("setup Wlan"); Serial.println("setup Wlan");
WiFi.setHostname("paperdash-display"); WiFi.setHostname(deviceName);
//NVS.setString("wifi_ssid", "xd-design.info");
//NVS.setString("wifi_password", "SonicHome");
// load wifi settings // load wifi settings
String ssid = NVS.getString("wlan_ssid"); String ssid = NVS.getString("wifi_ssid");
String password = NVS.getString("wlan_password"); String password = NVS.getString("wifi_password");
if (true) // TODO count failed connecting wifiFailedCount <=3
if (!ssid.isEmpty() && !password.isEmpty()) // && wifiFailedCount <=3
{ {
// client mode // client mode
initClientMode(ssid.c_str(), password.c_str()); initClientMode(ssid.c_str(), password.c_str());
@ -26,6 +32,8 @@ void setupWlan()
// ap mode // ap mode
initAPMode(); initAPMode();
} }
Serial.println("setup Wlan - done");
} }
@ -33,49 +41,47 @@ void initClientMode(const char *ssid, const char *password)
{ {
long startMills = millis(); long startMills = millis();
WiFi.mode(WIFI_STA); Serial.print(" Connecting to: ");
Serial.print(ssid);
Serial.print("Connecting to "); // print try count
Serial.println(ssid); Serial.print(" (");
Serial.print(wifiFailedCount);
Serial.print("x)");
// connecting
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); WiFi.begin(ssid, password);
Serial.println(millis() - startMills);
while (WiFi.waitForConnectResult() != WL_CONNECTED) while (WiFi.waitForConnectResult() != WL_CONNECTED)
{ {
// TODO count failed connecting wifiFailedCount++;
// on x failed, auto start AP mode
Serial.println("Connection Failed! Rebooting..."); Serial.println("Connection Failed! Rebooting...");
delay(100); delay(100);
ESP.restart(); ESP.restart();
} }
Serial.println(""); Serial.println(" ...connected");
Serial.println("WiFi connected"); Serial.print(" IP address: ");
Serial.println("IP address: ");
Serial.println(WiFi.localIP()); Serial.println(WiFi.localIP());
Serial.print("connected in: "); Serial.print(" connected in: ");
Serial.println(millis() - startMills); Serial.println(millis() - startMills);
} }
void initAPMode() void initAPMode()
{ {
Serial.println(" init AP (Access Point)");
} WiFi.softAP(deviceName);
IPAddress IP = WiFi.softAPIP();
bool wlan_isAPMode() Serial.print(" AP IP address: ");
{ Serial.println(IP);
return false;
} }
void disableWlan() bool wlan_isConnected()
{ {
Serial.println("disable Wlan"); return WiFi.isConnected();
//esp_wifi_stop();
} }
Loading…
Cancel
Save