File network.cpp¶
Location: src/network.cpp
Includes¶
graph LR
12["mqtt.h"]
click 12 "mqtt_8h.md#mqtt_8h"
12 --> 3
2["network.h"]
click 2 "network_8h.md#network_8h"
2 --> 3
3["platform.h"]
click 3 "platform_8h.md#platform_8h"
3 --> 4
3 --> 5
3 --> 6
3 --> 7
3 --> 8
3 --> 9
3 --> 10
1["src/network.cpp"]
click 1 "network_8cpp.md#network_8cpp"
1 --> 2
1 --> 11
1 --> 12
8["Adafruit_ADT7410.h"]
4["Arduino.h"]
9["ArduinoJson.h"]
10["ArduinoMqttClient.h"]
7["RTClib.h"]
6["SdFat.h"]
5["Wire.h"]
11["secrets.h"]
Variables¶
Variable SSID¶
Definition: src/network.cpp
(line 11)
const char SSID[][] = [SECRET\_SSID](secrets__example_8h.md#secrets__example_8h_1af44aa8face3356c1566d19fcad3e5f8b)
Type: const char
Variable PASSWORD¶
Definition: src/network.cpp
(line 12)
const char PASSWORD[][] = [SECRET\_PASS](secrets__example_8h.md#secrets__example_8h_1af9af3945a9a7c95d2d047a2183832d35)
Type: const char
Variable BROKER¶
Definition: src/network.cpp
(line 13)
Type: const char *
Variable port¶
Definition: src/network.cpp
(line 14)
Type: const int
Functions¶
Function ConnectToWiFi¶
Establishes a WiFi connection with the configured network.
Attempts to connect to the WiFi network using credentials from the secrets file. Provides visual feedback via serial output and enforces a connection timeout.
Parameters:
- timeoutMs: Maximum time in milliseconds to wait for connection (default: 10000ms).
Returns:
true if WiFi connection is successful, false if timeout occurs.
Parameters:
- unsigned long timeoutMs
Return type: bool
Function ConnectToMQTT¶
Establishes an authenticated MQTT connection to the broker.
Sets up MQTT client credentials using values from the secrets file and attempts to connect to the configured MQTT broker. Provides visual feedback and enforces a connection timeout.
Parameters:
- mqttClient: Reference to the MQTT client instance to connect.
- timeoutMs: Maximum time in milliseconds to wait for connection (default: 10000ms).
Returns:
true if MQTT connection is successful, false if timeout occurs.
Parameters:
- MqttClient & mqttClient
- unsigned long timeoutMs
Return type: bool
Source¶
#include "network.h"
#ifdef UNIT_TEST
#include "secrets_example.h"
#else
#include "secrets.h"
#endif
#include "mqtt.h"
static const char SSID[] = SECRET_SSID;
static const char PASSWORD[] = SECRET_PASS;
static const char* BROKER = "aicon.dhbw-heidenheim.de";
static const int port = 1883;
bool ConnectToWiFi(unsigned long timeoutMs) {
Serial.print("Connecting to WiFi...");
WiFi.begin(SSID, PASSWORD);
unsigned long startAttemptTime = millis();
while (WiFi.status() != WL_CONNECTED) {
if (millis() - startAttemptTime >= timeoutMs) {
Serial.println("WiFi connection timed out.");
return false;
}
delay(500);
Serial.print(".");
}
Serial.println("WiFi is connected.");
return true;
}
bool ConnectToMQTT(MqttClient& mqttClient, unsigned long timeoutMs) {
Serial.print("Connecting to MQTT...");
mqttClient.setUsernamePassword(SECRET_MQTT_USER, SECRET_MQTT_PASS);
unsigned long startAttemptTime = millis();
while (!mqttClient.connect(BROKER, port)) {
if (millis() - startAttemptTime >= timeoutMs) {
Serial.println("MQTT connection timed out.");
return false;
}
Serial.print(".");
delay(1000);
}
Serial.println(" connected.");
return true;
}