Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.
SensESP ist eine Bibliothek, die die Integration von ESP8266 und ESP32 basierten Sensoren und Aktoren in ein signaK-Netzwerk erleichtert. Das Framework basiert auf PlatformIO und ist überwiegend in C++ geschrieben. Grundsätzlich werden wiederkehrende und wichtige Funktionen durch das Framework abgebildet, so dass die Programmierung und Anbindung eigener Sensoren an SignalK recht einfach ist. Aktuell gibt es mehrere gut dokumentierte Beispiel für verschiedene Sensoren wie:
- Tanksensor (10…180 Ohm)
- Temperatursensoren (DS18B20, SHT31)
- Temperatursensoren mit einem Thermopile-Sensor für höhere Temperaturen bis 500°C
- Spannungsmessung 0….15V
- Umweltsensor BME280 (Temperatur, Luftdruck, Luftfeuchtigkeit)
- Frequenzzähler (z.B. für Windspeed, Motordrehzahl, Wellendrehzahl)
- Heading-Sensor (9DOF)
- GPS-Koordinaten mit Speed und Richtung
- Batteriemonitoring mit INA219
- Helligkeitssensor
- Drehzahlsensor
- Relayansteuerung als Ausgang bei Grenzwertüberschreitung von Messwerten
Das Repository enthält auch eine universelle Platine für einen ESP8266 an die verschiedene Sensoren angeschlossen werden können.
Hier ein Software-Beispiel für einen Durchflußsensor:
#include <Arduino.h>
#include "sensesp_app.h"
#include "wiring_helpers.h"
ReactESP app([]() {
#ifndef SERIAL_DEBUG_DISABLED
SetupSerialDebug(115200);
#endif
// create an new application for flow meter
sensesp_app = new SensESPApp();
// setup the fuel flow meter on two pins
// ESP8266 pins are specified as DX
// ESP32 pins are specified as just the X in GPIOX
#ifdef ESP8266
uint8_t pinA = D5;
uint8_t pinB = D6;
#elif defined(ESP32)
uint8_t pinA = 4;
uint8_t pinB = 5;
#endif
// setup flow meter
setup_fuel_flow_meter(pinA, pinB);
// start application
sensesp_app->enable();
});
Beispielschaltplan (Fritzing)
Realisierung auf Lochrasterplatine
Realisierung als Platine (Gerber Files)
Hier eine etwas professionellere Platine mit ESP32 und Lochrasterfeld für eigene Schaltungen
Bestell-Shop für die Platine: https://hatlabs.fi/?v=3a52f3c22ed6
Weiterführende Informationen
Beispiele: https://github.com/SignalK/SensESP/tree/master/examples
Quellen: https://github.com/SignalK/SensESP
Thread im segeln-forum: https://www.segeln-forum.de/thread/78521-sensesp-a-signal-k-sensor-development-library-for-esp8266-and-esp32/
Hintergrundgeschichten: