Benutzer-Werkzeuge

Webseiten-Werkzeuge


tipsandtricks:espprogrammierung

ESP spezifische Programmierung

ESP8266 spezifische Dinge

Hier findest du eine Übersicht über Funktionen und Programmierbeispiele speziell für den ESP8266.

Wi-Fi

Wi-Fi einrichten

#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
}

Deep Sleep-Modus

Deep Sleep mit Timer

#include <ESP8266WiFi.h>
 
void setup() {
  Serial.begin(115200);
  Serial.println("ESP8266 geht in Deep Sleep...");
  ESP.deepSleep(10 * 1000000); // 10 Sekunden
}
 
void loop() {}

Webserver

Einfacher Webserver

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

Serielle Kommunikation

Seriellen Monitor initialisieren

Serial.begin(115200);

Daten senden

Serial.print("Nachricht: ");
Serial.println("Hallo ESP8266!");

Daten empfangen

if (Serial.available()) {
  char input = Serial.read();
  Serial.print("Empfangen: ");
  Serial.println(input);
}

ESP32 spezifische Dinge

Hier findest du eine Übersicht über Funktionen und Programmierbeispiele speziell für den ESP32.

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); // 10 Sekunden
  esp_deep_sleep_start();
}
 
void loop() {}

Multitasking

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>
#include <WebServer.h>
 
WebServer 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 ESP32!</h1>");
  });
 
  server.begin();
}
 
void loop() {
  server.handleClient();
}

Serielle Kommunikation

Seriellen Monitor initialisieren

Serial.begin(115200);

Daten senden

Serial.print("Nachricht: ");
Serial.println("Hallo ESP32!");

Daten empfangen

if (Serial.available()) {
  char input = Serial.read();
  Serial.print("Empfangen: ");
  Serial.println(input);
}
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.txt · Zuletzt geändert: 2024/12/02 23:29 von cschepelmann

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki