Benutzer-Werkzeuge

Webseiten-Werkzeuge


tipsandtricks:espprogrammierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
tipsandtricks:espprogrammierung [2024/12/02 23:23] – angelegt cschepelmanntipsandtricks:espprogrammierung [2024/12/02 23:29] (aktuell) cschepelmann
Zeile 1: Zeile 1:
-====== ESP32 spezifische Programmierung ======+{{indexmenu_n>20}} 
 +====== ESP spezifische Programmierung ====== 
 +====== 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 <ESP8266WiFi.h> 
 + 
 +const char* ssid = "Dein_WiFi_Netzwerk"; 
 +const char* password = "Dein_Passwort"; 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +  WiFi.begin(ssid, password); 
 +   
 +  while (WiFi.status() != WL_CONNECTED) { 
 +    delay(500); 
 +    Serial.print("."); 
 +  } 
 +   
 +  Serial.println("WiFi verbunden!"); 
 +  Serial.println(WiFi.localIP()); 
 +
 + 
 +void loop() { 
 +  // Dein Code hier 
 +
 +</code> 
 + 
 +===== Deep Sleep-Modus ===== 
 +=== Deep Sleep mit Timer === 
 +<code cpp> 
 +#include <ESP8266WiFi.h> 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +  Serial.println("ESP8266 geht in Deep Sleep..."); 
 +  ESP.deepSleep(10 * 1000000); // 10 Sekunden 
 +
 + 
 +void loop() {} 
 +</code> 
 + 
 +===== Webserver ===== 
 +=== Einfacher Webserver === 
 +<code cpp> 
 +#include <ESP8266WiFi.h> 
 +#include <ESP8266WebServer.h> 
 + 
 +ESP8266WebServer server(80); 
 + 
 +const char* ssid = "Dein_WiFi_Netzwerk"; 
 +const char* password = "Dein_Passwort"; 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +  WiFi.begin(ssid, password); 
 +   
 +  while (WiFi.status() != WL_CONNECTED) { 
 +    delay(500); 
 +    Serial.print("."); 
 +  } 
 +   
 +  Serial.println("WiFi verbunden!"); 
 +  Serial.println(WiFi.localIP()); 
 +   
 +  server.on("/", []() { 
 +    server.send(200, "text/html", "<h1>Hallo vom ESP8266!</h1>"); 
 +  }); 
 +   
 +  server.begin(); 
 +
 + 
 +void loop() { 
 +  server.handleClient(); 
 +
 +</code> 
 + 
 +===== Serielle Kommunikation ===== 
 +=== Seriellen Monitor initialisieren === 
 +<code cpp> 
 +Serial.begin(115200); 
 +</code> 
 + 
 +=== Daten senden === 
 +<code cpp> 
 +Serial.print("Nachricht: "); 
 +Serial.println("Hallo ESP8266!"); 
 +</code> 
 + 
 +=== Daten empfangen === 
 +<code cpp> 
 +if (Serial.available()) { 
 +  char input = Serial.read(); 
 +  Serial.print("Empfangen: "); 
 +  Serial.println(input); 
 +
 +</code> 
 + 
 +====== ESP32 spezifische Dinge ====== 
 + 
 +Hier findest du eine Übersicht über Funktionen und Programmierbeispiele speziell für den ESP32.
  
 ===== Wi-Fi ===== ===== Wi-Fi =====
Zeile 60: Zeile 162:
   Serial.begin(115200);   Serial.begin(115200);
   Serial.println("ESP32 geht in Deep Sleep...");   Serial.println("ESP32 geht in Deep Sleep...");
-  esp_sleep_enable_timer_wakeup(10 * 1000000);+  esp_sleep_enable_timer_wakeup(10 * 1000000); // 10 Sekunden
   esp_deep_sleep_start();   esp_deep_sleep_start();
 } }
Zeile 67: Zeile 169:
 </code> </code>
  
-=== Deep Sleep mit GPIO als Wakeup === +===== Multitasking =====
-<code cpp> +
-#include "esp_sleep.h" +
- +
-#define WAKEUP_PIN 33 +
- +
-void setup() { +
-  pinMode(WAKEUP_PIN, INPUT_PULLUP); +
-  esp_sleep_enable_ext0_wakeup(WAKEUP_PIN, LOW); +
-  Serial.begin(115200); +
-  Serial.println("Gehe in Deep Sleep. Drücke den Knopf zum Aufwachen."); +
-  esp_deep_sleep_start(); +
-+
- +
-void loop() {} +
-</code> +
- +
-===== Multitasking mit FreeRTOS =====+
 === Beispiel für zwei Tasks === === Beispiel für zwei Tasks ===
 <code cpp> <code cpp>
Zeile 114: Zeile 199:
 <code cpp> <code cpp>
 #include <WiFi.h> #include <WiFi.h>
 +#include <WebServer.h>
 +
 +WebServer server(80);
  
 const char* ssid = "Dein_WiFi_Netzwerk"; const char* ssid = "Dein_WiFi_Netzwerk";
 const char* password = "Dein_Passwort"; const char* password = "Dein_Passwort";
- 
-WiFiServer server(80); 
  
 void setup() { void setup() {
Zeile 131: Zeile 217:
   Serial.println("WiFi verbunden!");   Serial.println("WiFi verbunden!");
   Serial.println(WiFi.localIP());   Serial.println(WiFi.localIP());
 +  
 +  server.on("/", []() {
 +    server.send(200, "text/html", "<h1>Hallo vom ESP32!</h1>");
 +  });
      
   server.begin();   server.begin();
Zeile 136: Zeile 226:
  
 void loop() { void loop() {
-  WiFiClient client = server.available(); +  server.handleClient(); 
-  if (client) { +
-    Serial.println("Neuer Client verbunden"); +</code> 
-    String request client.readStringUntil('\r'); + 
-    Serial.println(request); +===== Serielle Kommunikation ===== 
-    client.flush(); +=== Seriellen Monitor initialisieren === 
-     +<code cpp> 
-    client.print("HTTP/1.1 200 OK\r\nContent-Typetext/html\r\n\r\n"); +Serial.begin(115200); 
-    client.print("<html><body><h1>Hallo vom ESP32!</h1></body></html>"); +</code> 
-    client.stop(); + 
-  }+=== Daten senden === 
 +<code cpp> 
 +Serial.print("Nachricht: "); 
 +Serial.println("Hallo ESP32!"); 
 +</code> 
 + 
 +=== Daten empfangen === 
 +<code cpp> 
 +if (Serial.available()) { 
 +  char input = Serial.read(); 
 +  Serial.print("Empfangen: "); 
 +  Serial.println(input);
 } }
 </code> </code>
  
tipsandtricks/espprogrammierung.1733178192.txt.gz · Zuletzt geändert: 2024/12/02 23:23 von cschepelmann

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki