ESP8266 Einstieg und Codesamples

Hallo Zusammen

Ich hab hier eine Nodemcu mit ESP8266 rum liegen und würde gern mit dem teilchen Daten (Zählimpulse) in IPSYMCON übertragen. Ich habe auch schon die Hilfe bemüht, lande abe rimmer wirgendwie bei 2-3 einträgen zu dem thema. Auch zu MQTT gibt es jede Menge Zeugs, aber da bin ich ja stundenlang mit lesen beschäftigt weil alles total durcheinander ist…
Gibt es hier irgendwo eine Hilfe für den Einstieg in die Thematik oder muss ich mir wirklich alles stückchenweise zusammen suchen? Wäre für Links sehr dankbar.

Hi,

also den Nürnberger Trichter zu dem Thema habe ich leider noch nicht gefunden, :stuck_out_tongue:

aber eine der vielen Möglichkeiten wäre ESPEasy.

Erzeugt auf dem ESP ein eigenständiges System mit vielfältigen Möglichkeiten der Datenübertragung und mittlerweile eine kaum noch zu überschauende Anzahl an Sensoren.

Den Bereich Zähler habe ich noch nicht getestet, u.a. weil mir die S0 Zähler einfach zu dämlich sind und es weitaus bessere Möglichkeiten gibt.

Nach dem Durchackern der Homepage könnte man z.B. über DIESEN Beitrag stolpern,

ein anderer wäre DIESER,

wenn ich mich recht entsinne geht es aber auch mit den IO Ports.

Übersicht der Sensoren.

Wichtig ist zu wissen, dass dieses nur ein kleiner Teil der unterstützen ist, weitere findet man im Playground.

… Aber eines gibt es immer noch nicht: den Nürnberger Trichter.

mfg

BerndJ

PS: ESPEasy ist nur eines von mehreren verfügbaren, aber aus meiner Sicht das Beste
Ein weiteres wäre Tasmota, aber auch denen fehlt der Trich…

Hallo Bernd

Danke für die Links. Das System scheint ja ziemlich viel zu können.

Momentan habe ich zur Energieerfassung das EM1010 System von ELV und bin damit gar nicht glücklich.
https://www.elv.de/Funk-Energiemonitor-mit-Datenlogger-EM-1010-PC-Teil-13/x.aspx/cid_726/detail_32521

Gas-, Strom- und Wasserzähler sind bei mir im Keller direkt nebeneinander. Dennoch habe ich da 3 separate Sender mit 3 Netzteilen an der Wand hängen, die über CUL/CUN und die hier verfügbare Bibliothek an IPS senden. Das Ganze ist aber sehr fehleranfällig und zudem ist mir der Sender vom kürzlich Stromzähler ausgefallen.

Daher kam ich auf die Idee, die drei Sensoren, die ja lediglich Impulse ausgeben an die GPIOs eines einzelnen ESP8266 zu hängen und gemeinsam als Datenpaket an IPS zu senden. Das Ganze sollte halt möglichst einfach sein. Da hatte ich halt an einfache UDP Datenpakete oder an MQTT gedacht. Gestern abend habe ich da zumindest schon mal eine einfache Kommunikation per UDP hin bekommen. Ich schau mir aber die Implementierung in deinen Links mal genauer an und entscheide dann wie ich es umsetze.

Vermutlich wird das doch nicht so einfach wie ich dachte. Ich war in der Annahme, dass der EM100-IR zum Beispiel Zählimpulse ausgibt. Leider ist dem nicht so.:frowning:
In dem Teil ist eine IR-LED und ein Phototransistor verbaut und das Ausgangssignal ist analog. leider hat der ESP8266 nur einen ADC eingang und damit kann ich die IDee, alle 3 Sensoren mit einem ESP auzuleden vergessen. Ich werde mal das Analogsignal ausmessen und schauen, ob ich da mit einem Schmitt-Trigger ein Impulssignal draus machen kann. Das hängt dann aber von den Pegeln ab.

Hier mal eine kleine Demo wie ich das immer mache!
Ich hab viele Anwendungen mit dem ESP. Ich erzeuge einfach eine Text-Homepage und hole die aktuellen Werte einfach über Port 80 ab. Falls ich Relais schalten will, mache ich einfach eine Unterseite „/ein“ und eine Unterseite „/aus“ beim Aufruf wird dann geschaltet und als Antwort der Zustand als „Homepage“ erzeugt.
Die Demo liefert einen gemessenen Analogwert.
Du könntest deine Pulse zählen und wenn die Daten abgeholt werden, könntest du die Zähler zurücksetzen.

#include <ESP.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPUpdateServer.h>


const String Hostname = "Zisterne";
const String Version ="Zisterne OTA V2.20 
(C) Schuggi 2018";

#define LED 0

ESP8266WiFiMulti wifiMulti;
ESP8266WebServer server(80);  
ESP8266HTTPUpdateServer httpUpdater;

int altMilli;

void setup(void) {
  int Timeout;

  pinMode(LED,OUTPUT);
  digitalWrite(LED, LOW);
  
  
  Serial.begin(115200);
  Serial.println(Version);
  
  Serial.println("Initialized");
  WiFi.mode(WIFI_STA);
  WiFi.config(IPAddress(192,168,178,246), IPAddress(192,168,178,1), IPAddress(255,255,255,0));
  
  wifiMulti.addAP("SSID 1", "PW1");
  wifiMulti.addAP("SSID 2", "PW2");
  WiFi.hostname(Hostname);
   
  while (wifiMulti.run() != WL_CONNECTED)// Warten auf verbindung
  {
    delay(500);
    Timeout++;
    if (Timeout>100) break;
    Serial.print(".");
  }            
  digitalWrite(LED, HIGH);
  
  Serial.println("connected");
  Serial.println(WiFi.SSID());
  Serial.println(WiFi.localIP()); 
  Serial.println();
  delay(2000);
  
  httpUpdater.setup(&server,"User","Kennwort");
  server.on("/", Ereignis_Info);
  server.onNotFound(Ereignis_Info);
  server.begin();               // Starte den Server
  altMilli = millis();
  
}

void Ereignis_Info()
{
  String T = "";
  T = Version + "

";
  T = T+ "SSID:     "+WiFi.SSID()+" 
";
  T = T+ "RSSI:     "+String(WiFi.RSSI())+" 
";
  T = T+ "Hostname: "+WiFi.hostname()+" 
";
  T = T+ "ADC: "+String(analogRead(A0))+" digit";
  server.send(200, "text/plain", T);
}



void loop() 
{
  int mi;

  mi = millis();
  
  if((mi-altMilli)>=5000)
  {
    Serial.print(".");
  }
  server.handleClient(); 
}



Also externe ADCs an den ESP zu hängen ist auch nur eine Kleinigkeit und günstig zu bekommen.
Schau dir mal ADS1115 an. Der Baustein wird über I2C angeschlossen und fertige Librarys gibts auch.

Hallo Zusammen

Es gibt eine Möglichkeit über ein Addon in der Arduino die ESP zu Programmieren
einfach mal Google fragen.

Habe schon 2 Projekte mit dem ESP und IPS realesiert.

  1. Einfacher One Wire Temperatur Sensor an ESP angeschlossen
    der mir alle 5Min. eine Webhook an IPS sendet
    (Spannung der Batterie und Temperatur)
    Daruch kann ich den ESP in Deepsleep setzen und die Batarien halten ewig

  2. Einen Briefkasten Überwachung
    (bei Auslösung der Klappe wacht der ESP auf und schickt mir einen Webhhook)

  3. Monentan baue ich mit eine Kolegen eine Kleine Wetterstation auf

    1. Windsensor (Messen von pusen pro sekunden -> umrechung in KM/H)(Leuft schon)
    2. Regenmenge

    usw

Also währ Interesse hat an den Programmen kann mich gerne im Forum anschreiben

Gruß
GrafvonSocke

  1. Einen Briefkasten Überwachung
    (bei Auslösung der Klappe wacht der ESP auf und schickt mir einen Webhhook)

Wie machst du das denn mit der Batterieversorgung? Hast du einen externen Akkupack da dran?

Danke

Hallo spooniester

Ja ich habe ein Akku-pack dran.
3X1,5V AA Batterien in einen 4XAA Batteriegehäuse.
Die Resetleitung wird über den Reedkontakt (Klappe) an Masse geschaltet.

In dem Webhook werden bei mir folgende Daten übermittel
MAC Adresse
VCC des AKUPAKS
USER
PASS

Hallo GrafvonSocke

Ich versuche ein Näherungssensor via ESP8862 über einen Webhook an IPS zu senden.
Naja versuche… ich scheitere an diversen Hürden. Würdest Du mir deine Programme zu verfügung stellen damit ich sehen kann wie Du dies gelöst hast?

Danke, gruss saschild

Hi,

warum nicht gleich was Umfangreiches und funktionierendes ??

Schnapp Dir ESPEasy für den ESP8266

Nutze die für Deinen Anwendungsfall passenden Möglichkeiten.

[Übersicht der Sensoren:](Nutze die für Deinen Anwendungsfall passenden Möglichkeiten. Übersicht der Sensoren:)

In Frage käme:

HC-SR04
Eingang als Switch deklarieren
PIR Sensor
[PCF8574](https://www.letscontrolit.com/wiki/index.php/PCF 8574)
[MCP23017](https://www.letscontrolit.com/wiki/index.php/MCP 23017)

Im Forum findest Du auch Beiträge zu Radarsensoren, ich habe mal den ersten raus gegriffen.

Um den Wunsch eines WebHooks zu Nutzen hinterlege eine RULE mit dementsprechendem Inhalt.

Joerg64 hat es HIER einmal beschrieben.

Und schon werden überflüssige Kopfschmerzen durch weg fallenden Programmieraufwand vermieden;

denn dies alles wurde bereits von anderen gelöst.

Als Alternative zum WebHook nutze ich das Zerlegen des Stringes beim DOMOTICS HTTP Protokoll.

Wobei Mitarbeit beim Projekt immer gerne gesehen und auch angnommen wird.

Ich persönlich komm mit der Vielfalt und dem Testen der kaum noch zu überschauenden Möglichkeiten kaum hinterher.

mfg

BerndJ

Hallo BerndJ
Danke für deine Tipps. Ich habe mir mal die passende Hardware bestellt und werde es dann mal versuchen. Den Sensor den ich anschliessen möchte ist ein Pimoroni Skywriter.