Benutzer-Werkzeuge

Webseiten-Werkzeuge


tipsandtricks:espprogrammierung

Dies ist eine alte Version des Dokuments!


ESP32 spezifische Programmierung

Hier findest du eine Übersicht über ESP32-spezifische Funktionen und Programmierbeispiele.

Wi-Fi

Wi-Fi einrichten

#include <WiFi.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
}

Bluetooth

Bluetooth starten

#include "BluetoothSerial.h"
 
BluetoothSerial SerialBT;
 
void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32_Bluetooth");
  Serial.println("Bluetooth gestartet. Gerät sichtbar.");
}
 
void loop() {
  if (SerialBT.available()) {
    char incomingChar = SerialBT.read();
    Serial.print("Empfangen: ");
    Serial.println(incomingChar);
  }
  delay(20);
}

Deep Sleep-Modus

Deep Sleep mit Timer

#include "esp_sleep.h"
 
void setup() {
  Serial.begin(115200);
  Serial.println("ESP32 geht in Deep Sleep...");
  esp_sleep_enable_timer_wakeup(10 * 1000000);
  esp_deep_sleep_start();
}
 
void loop() {}

Deep Sleep mit GPIO als Wakeup

#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() {}

Multitasking mit FreeRTOS

Beispiel für zwei Tasks

void Task1(void * parameter) {
  while (true) {
    Serial.println("Task 1 läuft");
    delay(1000);
  }
}
 
void Task2(void * parameter) {
  while (true) {
    Serial.println("Task 2 läuft");
    delay(500);
  }
}
 
void setup() {
  Serial.begin(115200);
  xTaskCreate(Task1, "Task1", 1000, NULL, 1, NULL);
  xTaskCreate(Task2, "Task2", 1000, NULL, 1, NULL);
}
 
void loop() {}

Webserver

Einfacher Webserver

#include <WiFi.h>
 
const char* ssid = "Dein_WiFi_Netzwerk";
const char* password = "Dein_Passwort";
 
WiFiServer server(80);
 
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.begin();
}
 
void loop() {
  WiFiClient client = server.available();
  if (client) {
    Serial.println("Neuer Client verbunden");
    String request = client.readStringUntil('\r');
    Serial.println(request);
    client.flush();
 
    client.print("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n");
    client.print("<html><body><h1>Hallo vom ESP32!</h1></body></html>");
    client.stop();
  }
}
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
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