ESP-Tipp: ESPBASE lib

Stephan Strittmatter
Smart Home - Do it Yourself
2 min readAug 18, 2018

Ich möchte eine ganz hilfreiche Bibliothek für die ESP-Programmierung von Pedro Albuquerque vorstellen: die ESPBASE lib.

ESPBASE lib — ein Grundtemplate

Der Autor selbst schreibt über ESPBASE:

library to build ESP8266/ESP32 projects using OTA and Web config

This lib was created to simplify the creation of any new project from scratch but starting with many Wifi and Web functionalities already available to be used in code with minimum configuration effort.

Konfigurationsseite von ESPBASE

ESPBASE entstand aus einem früheren Projekt des Autors, das tatsächlich eher Vorlagencharakter hat. Man hat es sich komplett als,Projekt kopiert und dann für sich selbst angepasst. ESPBASE ist eine Neuentwicklung und kann nun per Include als Bibliothek in das eigene Projekt eingebunden werden.

Funktionalitäten

Die Library bietet einige nützliche Grundfunktionen für die Entwicklung von IoT-Sensoren. Im Gegensatz zu anderen Bibliotheken ist ESPBASE sehr leichtgewichtig und überschaubar und unterstützt sowohl ESP32- als auch ESP8266-Module.

Folgende Features bietet die Library:

  • Over-the-Air (OTA) Upload des Sourcecodes
  • Speichen von Konfigurationsdaten im EEPROM
  • Webserver, um die Konfigurationsdaten zu ändern (z.B. WLAN-Einstellungen)
  • Access-Point-Modus, wenn die WLAN-Konfiguration fehlt oder nicht funktioniert
  • NTP Konfiguration für die lokale Zeit und Zeitzone

Download

Das Projekt ist auf GitHub unter der GNU General Public License v3.0 verfügbar.

Wer mit Platform.io arbeitet, kann die Bibliothek über die folgende URL einbinden: https://github.com/Pedroalbuquerque/ESPBASE/archive/master.zip

In den Beispielen der Bibliothek ist dafür eine vollständiges Beispiel einer platformio.ini

Im Projekt nutzen

Um die Bibliothek nutzen zu können, müssen einige wenige Schritte gemacht werden.

  1. Die Bibliothek ins Projekt einbinden
  2. Im Quellcode die Bibliothek inkludieren:
    #include <ESPBASE.h>
  3. Objekt als globale Variable anlegen:
    ESPBASE Esp;
  4. In der Funktion setup() muss nun die Bibliothek initialisiert werden:
    Esp.initialize();
  5. Danach in der loop()-Funktion an erster Stelle noch die folgenden Zeilen:
    // OTA request handling
    ArduinoOTA.handle();
    // WebServer requests handling
    server.handleClient();
    // feed de DOG :)
    customWatchdog = millis();

Hier ein komplettes Beispiel aus dem Projekt:

--

--