tipsandtricks:espprogrammierung
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
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(); } }
tipsandtricks/espprogrammierung.1733178192.txt.gz · Zuletzt geändert: 2024/12/02 23:23 von cschepelmann