Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Käppler
ampel-firmware
Commits
c424067c
Commit
c424067c
authored
Dec 27, 2020
by
Eric Duminil
Browse files
AMPEL_WIFI
parent
e2bb5beb
Changes
3
Hide whitespace changes
Inline
Side-by-side
ampel-firmware.h
View file @
c424067c
...
...
@@ -12,18 +12,22 @@
#ifdef AMPEL_CSV
# include "csv_writer.h"
#endif
#ifdef AMPEL_MQTT
# include "mqtt.h"
#ifdef AMPEL_WIFI
# include "wifi_util.h"
# ifdef AMPEL_MQTT
# include "mqtt.h"
# endif
# ifdef AMPEL_HTTP
# include "web_server.h"
# endif
#endif
#ifdef AMPEL_LORAWAN
# include "lorawan.h"
#endif
#ifdef AMPEL_HTTP
# include "web_server.h"
#endif
#include
"util.h"
#include
"wifi_util.h"
#include
"co2_sensor.h"
#include
"led_effects.h"
...
...
ampel-firmware.ino
View file @
c424067c
...
...
@@ -75,6 +75,7 @@ void setup() {
Serial
.
print
(
F
(
"Board : "
));
Serial
.
println
(
BOARD
);
#ifdef AMPEL_WIFI
// Try to connect to Wi-Fi
WiFiConnect
(
SENSOR_ID
);
...
...
@@ -82,9 +83,9 @@ void setup() {
Serial
.
println
(
WiFi
.
status
());
if
(
WiFi
.
status
()
==
WL_CONNECTED
)
{
#ifdef AMPEL_HTTP
#
ifdef AMPEL_HTTP
web_server
::
initialize
();
#endif
#
endif
ntp
::
initialize
();
...
...
@@ -95,10 +96,11 @@ void setup() {
Serial
.
println
(
F
(
"Error setting up MDNS responder!"
));
}
#ifdef AMPEL_MQTT
#
ifdef AMPEL_MQTT
mqtt
::
initialize
(
"CO2sensors/"
+
SENSOR_ID
);
#endif
#
endif
}
#endif
#ifdef AMPEL_CSV
csv_writer
::
initialize
();
...
...
@@ -137,7 +139,7 @@ void loop() {
csv_writer
::
logIfTimeHasCome
(
sensor
::
timestamp
,
sensor
::
co2
,
sensor
::
temperature
,
sensor
::
humidity
);
#endif
#ifdef
AMPEL_MQTT
#if
def
ined(AMPEL_WIFI) && defined(
AMPEL_MQTT
)
mqtt
::
publishIfTimeHasCome
(
sensor
::
timestamp
,
sensor
::
co2
,
sensor
::
temperature
,
sensor
::
humidity
);
#endif
...
...
@@ -179,18 +181,20 @@ void checkFlashButton() {
}
void
keepServicesAlive
()
{
#ifdef AMPEL_WIFI
if
(
WiFi
.
status
()
==
WL_CONNECTED
)
{
#if defined(ESP8266)
#
if defined(ESP8266)
//NOTE: Sadly, there seems to be a bug in the current MDNS implementation.
// It stops working after 2 minutes. And forcing a restart leads to a memory leak.
MDNS
.
update
();
#endif
#
endif
ntp
::
update
();
// NTP client has its own timer. It will connect to NTP server every 60s.
#ifdef AMPEL_HTTP
#
ifdef AMPEL_HTTP
web_server
::
update
();
#endif
#ifdef AMPEL_MQTT
#
endif
#
ifdef AMPEL_MQTT
mqtt
::
keepConnection
();
// MQTT client has its own timer. It will keep alive every 15s.
#endif
#
endif
}
#endif
}
wifi_util.cpp
View file @
c424067c
...
...
@@ -2,16 +2,11 @@
namespace
config
{
// WiFi config. See 'config.h' if you want to modify those values.
#ifdef WIFI_SSID
const
char
*
wifi_ssid
=
WIFI_SSID
;
const
char
*
wifi_password
=
WIFI_PASSWORD
;
#else
const
char
*
wifi_ssid
=
"NO_WIFI"
;
const
char
*
wifi_password
=
""
;
#endif
#ifdef WIFI_TIMEOUT
const
uint8_t
wifi_timeout
=
WIFI_TIMEOUT
;
// [s] Will try to connect during wifi_timeout seconds before failing.
const
uint8_t
wifi_timeout
=
WIFI_TIMEOUT
;
// [s] Will try to connect during wifi_timeout seconds before failing.
#else
const
uint8_t
wifi_timeout
=
60
;
// [s] Will try to connect during wifi_timeout seconds before failing.
#endif
...
...
@@ -20,14 +15,8 @@ namespace config {
// Initialize Wi-Fi
void
WiFiConnect
(
const
String
&
hostname
)
{
//NOTE: WiFi Multi could allow multiple SSID and passwords.
if
(
strcmp
(
config
::
wifi_ssid
,
"NO_WIFI"
)
==
0
)
{
Serial
.
println
(
"Please change WIFI_SSID in config.h if you want to connect."
);
WiFi
.
disconnect
(
true
);
WiFi
.
mode
(
WIFI_OFF
);
return
;
}
WiFi
.
persistent
(
false
);
// Don't write user & password to Flash.
WiFi
.
mode
(
WIFI_STA
);
// Set ESP8266 to be a WiFi-client only
WiFi
.
mode
(
WIFI_STA
);
// Set ESP8266 to be a WiFi-client only
#if defined(ESP8266)
WiFi
.
hostname
(
hostname
);
#elif defined(ESP32)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment