tipsandtricks:espprogrammierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
tipsandtricks:espprogrammierung [2024/12/02 23:23] – angelegt cschepelmann | tipsandtricks:espprogrammierung [2024/12/02 23:29] (aktuell) – cschepelmann | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | {{indexmenu_n> |
+ | ====== | ||
+ | ====== ESP8266 spezifische Dinge ====== | ||
- | Hier findest du eine Übersicht über ESP32-spezifische Funktionen und Programmierbeispiele. | + | Hier findest du eine Übersicht über Funktionen und Programmierbeispiele speziell für den ESP8266. |
+ | |||
+ | ===== Wi-Fi ===== | ||
+ | === Wi-Fi einrichten === | ||
+ | <code cpp> | ||
+ | #include < | ||
+ | |||
+ | const char* ssid = " | ||
+ | const char* password = " | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | WiFi.begin(ssid, | ||
+ | |||
+ | while (WiFi.status() != WL_CONNECTED) { | ||
+ | delay(500); | ||
+ | Serial.print(" | ||
+ | } | ||
+ | |||
+ | Serial.println(" | ||
+ | Serial.println(WiFi.localIP()); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // Dein Code hier | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Deep Sleep-Modus ===== | ||
+ | === Deep Sleep mit Timer === | ||
+ | <code cpp> | ||
+ | #include < | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | Serial.println(" | ||
+ | ESP.deepSleep(10 * 1000000); // 10 Sekunden | ||
+ | } | ||
+ | |||
+ | void loop() {} | ||
+ | </ | ||
+ | |||
+ | ===== Webserver ===== | ||
+ | === Einfacher Webserver === | ||
+ | <code cpp> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | ESP8266WebServer server(80); | ||
+ | |||
+ | const char* ssid = " | ||
+ | const char* password = " | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | WiFi.begin(ssid, | ||
+ | |||
+ | while (WiFi.status() != WL_CONNECTED) { | ||
+ | delay(500); | ||
+ | Serial.print(" | ||
+ | } | ||
+ | |||
+ | Serial.println(" | ||
+ | Serial.println(WiFi.localIP()); | ||
+ | |||
+ | server.on("/", | ||
+ | server.send(200, | ||
+ | }); | ||
+ | |||
+ | server.begin(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | server.handleClient(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Serielle Kommunikation ===== | ||
+ | === Seriellen Monitor initialisieren === | ||
+ | <code cpp> | ||
+ | Serial.begin(115200); | ||
+ | </ | ||
+ | |||
+ | === Daten senden === | ||
+ | <code cpp> | ||
+ | Serial.print(" | ||
+ | Serial.println(" | ||
+ | </ | ||
+ | |||
+ | === Daten empfangen === | ||
+ | <code cpp> | ||
+ | if (Serial.available()) { | ||
+ | char input = Serial.read(); | ||
+ | Serial.print(" | ||
+ | Serial.println(input); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ====== ESP32 spezifische | ||
+ | |||
+ | Hier findest du eine Übersicht über Funktionen und Programmierbeispiele | ||
===== Wi-Fi ===== | ===== Wi-Fi ===== | ||
Zeile 60: | Zeile 162: | ||
Serial.begin(115200); | Serial.begin(115200); | ||
Serial.println(" | Serial.println(" | ||
- | esp_sleep_enable_timer_wakeup(10 * 1000000); | + | esp_sleep_enable_timer_wakeup(10 * 1000000); |
esp_deep_sleep_start(); | esp_deep_sleep_start(); | ||
} | } | ||
Zeile 67: | Zeile 169: | ||
</ | </ | ||
- | === Deep Sleep mit GPIO als Wakeup === | + | ===== Multitasking ===== |
- | <code cpp> | + | |
- | #include " | + | |
- | + | ||
- | #define WAKEUP_PIN 33 | + | |
- | + | ||
- | void setup() { | + | |
- | pinMode(WAKEUP_PIN, | + | |
- | esp_sleep_enable_ext0_wakeup(WAKEUP_PIN, | + | |
- | Serial.begin(115200); | + | |
- | Serial.println(" | + | |
- | esp_deep_sleep_start(); | + | |
- | } | + | |
- | + | ||
- | void loop() {} | + | |
- | </ | + | |
- | + | ||
- | ===== Multitasking | + | |
=== Beispiel für zwei Tasks === | === Beispiel für zwei Tasks === | ||
<code cpp> | <code cpp> | ||
Zeile 114: | Zeile 199: | ||
<code cpp> | <code cpp> | ||
#include < | #include < | ||
+ | #include < | ||
+ | |||
+ | WebServer server(80); | ||
const char* ssid = " | const char* ssid = " | ||
const char* password = " | const char* password = " | ||
- | |||
- | WiFiServer server(80); | ||
void setup() { | void setup() { | ||
Zeile 131: | Zeile 217: | ||
Serial.println(" | Serial.println(" | ||
Serial.println(WiFi.localIP()); | Serial.println(WiFi.localIP()); | ||
+ | | ||
+ | server.on("/", | ||
+ | server.send(200, | ||
+ | }); | ||
| | ||
server.begin(); | server.begin(); | ||
Zeile 136: | Zeile 226: | ||
void loop() { | void loop() { | ||
- | | + | server.handleClient(); |
- | if (client) { | + | } |
- | | + | </ |
- | | + | |
- | Serial.println(request); | + | ===== Serielle Kommunikation ===== |
- | | + | === Seriellen Monitor initialisieren === |
- | + | <code cpp> | |
- | | + | Serial.begin(115200); |
- | | + | </ |
- | | + | |
- | | + | === Daten senden === |
+ | <code cpp> | ||
+ | Serial.print(" | ||
+ | Serial.println(" | ||
+ | </code> | ||
+ | |||
+ | === Daten empfangen === | ||
+ | <code cpp> | ||
+ | if (Serial.available()) { | ||
+ | char input = Serial.read(); | ||
+ | | ||
+ | | ||
} | } | ||
</ | </ | ||
tipsandtricks/espprogrammierung.1733178192.txt.gz · Zuletzt geändert: 2024/12/02 23:23 von cschepelmann