ESPNode
main.h
Go to the documentation of this file.
1 /*
2 
3 On Branch: main@github !!!!!
4 
5 */
6 #include "common.h"
7 #include "secrets.h"
8 
9 #ifdef USE_FTP
10 #ifdef CONFIG_IDF_TARGET_ESP32S3
11 #ifdef ESP32
12 #warning "ESP32 is defined"
13 #else
14 #define ESP32
15 #endif
16 //#define DEFAULT_FTP_SERVER_NETWORK_TYPE_ESP32 NETWORK_ESP32
17 //#define DEFAULT_STORAGE_TYPE_ESP32 STORAGE_SD
18 //#define DEFAULT_STORAGE_TYPE_ESP32 STORAGE_LITTLEFS
19 #endif
20 #include <FtpServer.h>
21 #endif
22 
23 #ifdef ESP32
24 //ToDo
25 #else
26 #ifndef ANALOGINPUT
27 ADC_MODE(ADC_VCC);
28 #endif
29 #endif
30 
31 
32 // Definiert in den Modulen
33 // MQTT
34 extern String mqtt_topicP2;
35 void callback_mqtt(char* topic, byte* payload, unsigned int length);
36 void send_mqtt_stat();
37 void send_mqtt_tele();
38 void reconnect_mqtt();
39 // Webserver
40 void setup_webserver();
41 
42 // Zeitmanagement
44 const char* ntp_server = NTP_SERVER;
46 //const char* tz_info = TZ_INFO;
47 
49 int rssi;
50 
51 
52 // preferences
54 Preferences preferences;
55 int magicno;
56 
58 //prefs_t preference;
60 bool rebootflag = false;
61 
62 // WiFi
63 String wifi_ssid;
64 String wifi_pass;
65 #ifdef ESP32
66 String wifi_ssid1;
67 String wifi_pass1;
68 String wifi_ssid2;
69 String wifi_pass2;
70 #endif
71 
72 bool ap_mode = false;
73 
74 // Logging
79 
81 String log_str;
82 
84 //String tmp_str;
85 
87 char timeStr[16];
88 
90 char katStr[7];
91 
92 // Schleifensteuerung
93 
95 unsigned long mqtt_last_stat = 0;
97 unsigned long mqtt_last_tele = 0;
99 //unsigned long measure_starttime = 0;
101 unsigned long loop_starttime = 0;
103 unsigned long wifi_ap_starttime = 0;
104 int lastHour = 0;
105 int lastDay = 0;
106 unsigned long loop_time_alarm;
107 
108 char loopmsg[30];
109 
111 Uptime uptime;
115 time_t now;
116 
117 #ifdef USE_AUDIO_MEDIA
118 #include "FS.h"
119 #include "SD.h"
120 #if defined(CONFIG_IDF_TARGET_ESP32S3)
121 // ESP32S3: SD Card mit HW-SPI (ok bei 3V3 Adaptern)
122 //#define SD_SCK 12
123 //#define SD_MISO 13
124 //#define SD_MOSI 11
125 #ifndef SD_CS
126 #define SD_CS 10
127 #endif
128 #endif
129 #if defined(CONFIG_IDF_TARGET_ESP32)
130 // ESP32: SD Card mit HW-SPI (ok bei 3V3 Adaptern)
131 //#define SD_SCK 18
132 //#define SD_MISO 19
133 //#define SD_MOSI 23
134 #ifndef SD_CS
135 #define SD_CS 5
136 #endif
137 #endif
138 uint64_t sd_cardsize;
139 uint64_t sd_usedbytes;
140 uint8_t sd_cardType;
141 #endif
142 
144 void noop() {}
145 
148 void getVcc(String& json);
149 
154 void write2log(uint8_t kat, int count, ...);
155 
159 bool getNTPtime(long unsigned int sec);
160 
162 void wifi_con(void);
163 
164 /****************************************************************
165  * Funktionen für den Webserver
166  ***************************************************************/
167 
168 
169 
170 
171 
172 
176 void writeRf242log(const char* senddir, payload_t pl);
177 
179 void setup();
180 
182 void loop();
183 
186 char *getResetReason(char*);
uint64_t sd_usedbytes
uint8_t sd_cardType
uint64_t sd_cardsize
#define NTP_SERVER
Definition: config.h:37
unsigned long wifi_ap_starttime
Definition: main.h:103
void send_mqtt_tele()
Definition: mqtt.cpp:149
int rssi_quality
TimeZone Info.
Definition: main.h:48
int lastDay
Definition: main.h:105
unsigned long loop_starttime
Startzeitpunkt des Messvorgangs.
Definition: main.h:101
bool do_log_web
Definition: main.h:78
void getVcc(String &json)
Fügt die gemessene Betriebsspannung dem übergebenen String hinzu. Achtung: ESP32 noch nicht implement...
Definition: main.cpp:46
bool rebootflag
Eine Variable zur Aufnahme der Preferences Struktur.
Definition: main.h:60
tm timeinfo
Eine Variable zur Aufnahme der Zeitzoneninfo.
Definition: main.h:113
void reconnect_mqtt()
Definition: mqtt.cpp:36
time_t now
Eine Variable für Zeitinformationen.
Definition: main.h:115
char katStr[7]
Ein fixes Array zur Aufnahme des Log-Kategorie.
Definition: main.h:90
void setup_webserver()
Definition: webserver.cpp:479
const char * ntp_server
Der NTP Server.
Definition: main.h:44
void setup()
Das Setup.
Definition: main.cpp:315
Uptime uptime
Ein Objekt zur Verwaltung der uptime.
Definition: main.h:111
void send_mqtt_stat()
Definition: mqtt.cpp:93
Preferences preferences
Ein Objekt für die Preferences.
Definition: main.h:54
String log_str
Ein String zum Einsatz in der Funktion write2log. Darf nicht genutzt werden wenn diese Funktion mit g...
Definition: main.h:81
void write2log(uint8_t kat, int count,...)
Schreibt Dateien in die LogKanäle.
Definition: main.cpp:60
int magicno
Definition: main.h:55
char timeStr[16]
Ein String zur temporären Nutzung im Programm.
Definition: main.h:87
bool getNTPtime(long unsigned int sec)
Beziehen der Netzzeit.
Definition: main.cpp:150
char * getResetReason(char *)
Ermittlung des Resetgrundes für den ESP32, da der ESP Core keine ResetReason zurückgibt wird diese hi...
bool do_log_system
Definition: main.h:76
void wifi_con(void)
Connect or reconnect to WIFI.
String mqtt_topicP2
Definition: mqtt.cpp:23
int lastHour
Definition: main.h:104
void noop()
Eine Funktion als Dummy die nichts macht.
Definition: main.h:144
int rssi
Definition: main.h:49
String wifi_pass
Definition: main.h:64
void callback_mqtt(char *topic, byte *payload, unsigned int length)
Definition: mqtt.cpp:310
bool do_log_module
Definition: main.h:75
unsigned long mqtt_last_stat
Zeitpunkt der letzten Statusdatenerstellung.
Definition: main.h:95
String wifi_ssid
Definition: main.h:63
void writeRf242log(const char *senddir, payload_t pl)
Logfunktion für RF24 Daten.
Definition: rf24gw.cpp:4
unsigned long mqtt_last_tele
Zeitpunkt der letzten Telemetriedatenübertragung.
Definition: main.h:97
ADC_MODE(ADC_VCC)
unsigned long loop_time_alarm
Definition: main.h:106
bool do_log_critical
Definition: main.h:77
char loopmsg[30]
Definition: main.h:108
void loop()
Die Hauptschleife.
Definition: main.cpp:564
bool ap_mode
Definition: main.h:72
payload_t payload
Der Payload vom Typ payload_t.
Definition: rf24gw.h:8
Anschlusspin für den CE Pin des Funkmodules.
Definition: config.h:278