ESP8266 IoT/HomeAutomation Baukasten - Idee/Entwicklung

Begonnen von mrpj, 05 April 2016, 14:29:15

Vorheriges Thema - Nächstes Thema

mrpj

Hallo zusammen,

durch Gespräche mit Forenmitgliedern und noch ein paar weiteren Gedankengängen ist mir folgende Idee gekommen:

ESP8266 IoT/HomeAutomation Baukastensystem

Zielsetzung:
Eine Hauptplatine basierend auf dem ESP8266 und dazugehörige Zusatzmodule zu erstellen.
Dabei soll die Hauptplatinen einen möglichst kleinen Formfaktor erhalten um dadurch auf verschiedene Zusatzboards aufgesteckt/verbunden werden zu können.




Hintergrund der Idee:
Hier im Forum enstehen immer wieder tolle Projekte rund um den ESP8266 herum - es gibt dabei viele Gemeinsamkeiten (ESP/Spannungsversorgung/Wiederstände) aber auch Projektspezifische Sonderheiten.

Daher kam mir die Idee, ähnlich dem NODEMCU Kit ein abstrahiertes Board mit den wichtigsten Eigenschaften/Bauteilen zu konstruieren und die Funktionalitäten auf Aufsteckplatinen zu verteilen. Ähnlich zu dem Baukastenprinzip mit den Arduino (Shields)

Da das ganze noch in einem sehr Rohe Zustand steckt, würde ich gerne  hier in dem Thread eine Diskussion starten, in der wir besprechen, wie so ein ESP Board aussehen könnte und welche sinnvollen Zusatzplatinen es geben könnte.

Meine bisherigen Gedanken Ideen dazu:

Hauptplatine Eigenschaften

  • Auswahlmöglichkeit ob interne/externe Antenne (ESP8266-7/12)
  • Geregelte Spannungsversorgung (Vin flexibel)
  • Das Board soll eigenständig Funktionstüchtig sein (nur Spannungsversorgung wird benötigt)
  • Pinleiste zum aufstecken auf "Funktionsboards"
  • Klein und Wiederverwendbar

Bauteile des Boards

  • ESP8266- 7/12 (je nachdem ob externe oder Antenne auf dem PCB
  • Spannungsregler (Entweder LM1117 oder DCDC  Buck Converter xm1584
  • Pufferkondensatoren für Spannungsversorgung
  • Wiederstände für den korrekten Start
  • Jumper um die Startmöglichkeiten einzustellen
  • Pinheader für Spannungsversorgung
  • Pinheader für FTDI Controller
  • Pinheader/Leiste zum aufstecken auf Funktionsboard
  • Reset/Flash Taster

Bisherige Ideen für Modulplatinen

  • Aufsteckversion des RGBWW Controllers
  • Relay Platine (DC? AC?)
  • ? ? ?

Eine Idee von mir wäre es, dass Board zu NodeMCU v3 Pin-Kompatibel zu gestalten, so dass es austauschbar ist.
Während das NodeMCU Board bei 5-15V Eingangsspannung genutzt werden kann, würde durch die Verwendung vom XM1584 DC Converter der Spannungsbereich auf 5-28V steigen. (24V Verbraucher könnten angesteuert werden?)

Ich habe bisher noch kein NodeMCU Board genutzt, gibt es aber weitere Einschränkungen/Probleme/Verbesserungswünsche die mit einem eigenen Board realisiert werden könnten?

Welche Ideen/Vorschläge/Kritiken habt ihr zu dem Projekt?
Welche Zusatzmodule haltet ihr für sinnvoll und wie könnte man es umsetzen?
Welche Bauteile/Komponenten sind interressant für das Projekt?
Bei welchen schon vorhandenen Projekten würde es Sinn machen, dies auf ein modulares Konzept umzuwandeln?




Wichtig
Die Grundplatine soll so klein und simpel wie möglich ausfallen, damit eine Hohe Flexibilität Gewährleistet werden kann.
Bitte bedenkt auch, dass eine "eierlegende Wollmilchsau" nicht praktikabel ist.

Eine reine Aufzählung von Funktionalitäten/Komponenten ist ein Startpunkt - für die Umsetzung ist es hilfreich, konkrete Anwendungszenarien und Vorstellungen zu besprechen. Wofür braucht man Komponente X? Welcher Funktionsumfang soll damit umgesetzt werden?

Rince

Ich hatte das mal recht ausführlich beschrieben, finde aber meinen Thread nicht mehr.

Ich würde nicht nur "Aufsteckplatinen" vorsehen, sondern per Flachbandkabel verbundene Erweiterungsplatinen, die dann Träger sind für Sensoren und Relais (Kaskadierbar):
Das Problem dürfte oft sein, dass eine gewisse Einbautiefe einfach irgendwann zu tief ist. Da kann man nicht so viel aufeinander stecken. Daher eben besser ggfs. nebeneinander.


Was ich für sinnvoll erachte:
Relais, (ggfs. auch SolidStateRelais mit PWM  (Sparversion um 0815 LEDs zu dimmen)), 3 Stück sollten auf ein Board passen

Sensorik:
Bewegungsmelder
Ultraschallsensor
RFID
Temperatur / Luftfeuchte
Helligkeit
IR Eingang / Ausgang
Drehencoder
Schalteingänge (Push Buttons sowie normale An / Aus Schalter)
Lichtschranke

Information:
LEDs
TFT-Display

Ansonsten:
USB 5V out mit 2A wäre auch fein

Klar braucht man das nicht alles überall, aber das sind die Dinge, die ich gerne in der ein oder anderen Dose hätte...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mrpj

Vielleicht findest du ja später noch den Thread und man kann da noch zusätzlich Informationen rausziehen

Zitat von: Rince am 05 April 2016, 15:05:44
Ich würde nicht nur "Aufsteckplatinen" vorsehen, sondern per Flachbandkabel verbundene Erweiterungsplatinen, die dann Träger sind für Sensoren und Relais (Kaskadierbar):
Das Problem dürfte oft sein, dass eine gewisse Einbautiefe einfach irgendwann zu tief ist. Da kann man nicht so viel aufeinander stecken. Daher eben besser ggfs. nebeneinander.

Ich finde die Idee mit den Flachbandkabel gut - überlege gerade wie die ESP8266 Grundplatine beides ermöglichen könnte - es wird wahrscheinlich eine ziemliche Herausforderung auf einem 2 Layer PCB alle PINOUTs auf eine Seite zu bekommen. Welche Bauteile/Steckverbinder hast du denn für die Flachbandkabel Idee im Hinterkopf?

Zitat von: Rince am 05 April 2016, 15:05:44
Was ich für sinnvoll erachte:
Relais, (ggfs. auch SolidStateRelais mit PWM  (Sparversion um 0815 LEDs zu dimmen)), 3 Stück sollten auf ein Board passen

Verstehe ich das richtig - ein "Relaisboard" ?

Zitat von: Rince am 05 April 2016, 15:05:44
Sensorik:
Bewegungsmelder
Ultraschallsensor
RFID
Temperatur / Luftfeuchte
Helligkeit
IR Eingang / Ausgang
Drehencoder
Schalteingänge (Push Buttons sowie normale An / Aus Schalter)
Lichtschranke

Wie würdest du dir das vorstellen?
Spezifische kleine Boards oder ein generelles Board?
Welche Anforderungen/Anschlüsse vom/zum ESP8266 sind notwendig?
Braucht es dabei zusätzliche Schaltungen, oder reicht es die Sensoren mit einem/mehreren Kabel mit dem ESP zu verdrahten


Zitat von: Rince am 05 April 2016, 15:05:44
Ansonsten:
USB 5V out mit 2A wäre auch fein

Klar braucht man das nicht alles überall, aber das sind die Dinge, die ich gerne in der ein oder anderen Dose hätte...

Ist ja erstmal eine Ideensammlung und Austausch.

Beim Nachdenken würde ich die "Aufsteckboards"/Zusatzplatinen so klein wie möglich gestalten wollen. Jede Funktionalität/Bauteil kostet Platz

Da fällt mir ein:

Gibt es bestimmte gängige Einheitsgrößen/Größenanforderungen? LxBxH ? Formen?

reibuehl

Ich würde Pegelwandler für sinnvoll halten, um die GPIO Pins des ESP8266 5V-tollerant zu machen.
Reiner.

Wuppi68

cool fände ich auch die Option es direkt mit Netzspannung zu versorgen
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

mrpj

Zitat von: Wuppi68 am 05 April 2016, 15:43:17
cool fände ich auch die Option es direkt mit Netzspannung zu versorgen

Spezifiziere das doch bitte genauer - was soll mit netspannung versorgt werden? Welche Spannungen, wieviel Amper?

Reicht es wenn der ESP und Kleinbauteile versorgt werden können z.b. via http://www.hlktech.net/product_detail.php?ProId=54

Zitat von: reibuehl am 05 April 2016, 15:38:16
Ich würde Pegelwandler für sinnvoll halten, um die GPIO Pins des ESP8266 5V-tollerant zu machen.

Wie stellst du dir das vor? Ein "Zwischenboard" was von 3.3V auf 5.5V wandelt?
Ist es vielleicht sinnvoller den Wandler nur bei den Komponenten die diesen benötigen vorzuschalten

Wuppi68

Zitat von: mrpj am 05 April 2016, 15:47:53
Spezifiziere das doch bitte genauer - was soll mit netspannung versorgt werden? Welche Spannungen, wieviel Amper?

Reicht es wenn der ESP und Kleinbauteile versorgt werden können z.b. via http://www.hlktech.net/product_detail.php?ProId=54
die Netzspannung sollte wenn dann "nur" für die Versorgung des ESPs und mögliche Dauhterboards sein ...
der Wandler aus dem Link klingt doch super - klein, gekapselt
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Rince

ZitatVerstehe ich das richtig - ein "Relaisboard" ?
Ja. Für Licht und Steckdosen.

ZitatSpezifiziere das doch bitte genauer - was soll mit netspannung versorgt werden? Welche Spannungen, wieviel Amper?
Die meisten Leute  haben wohl schlicht 230V in einer Dose liegen.
Ich denke dass man i.d.R. 3,3V, 5V und 12V brauchen kann.

ZitatIst es vielleicht sinnvoller den Wandler nur bei den Komponenten die diesen benötigen vorzuschalten
Sehe ich auch so.

ZitatWelche Bauteile/Steckverbinder hast du denn für die Flachbandkabel Idee im Hinterkopf?
Dachte ursprünglich an 2xRJ45, mithin also max. 16 Verbindungen. Aber das war nur ne Idee. Ist vermutlich auch keine Gute Idee.

ZitatGibt es bestimmte gängige Einheitsgrößen/Größenanforderungen? LxBxH ? Formen?
So, dass man sie in eine UP Dose bekommt ;)


Bezüglich des Sensor-Sammelsuriums...
Schwer zu sagen, was wo kombiniert Sinn ergibt.
Ich überleg mir was dazu.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

reibuehl

Zitat von: mrpj am 05 April 2016, 15:47:53
Wie stellst du dir das vor? Ein "Zwischenboard" was von 3.3V auf 5.5V wandelt?
Ist es vielleicht sinnvoller den Wandler nur bei den Komponenten die diesen benötigen vorzuschalten

Ich würde das auf der von Dir beschriebenen Hauptplatine mit Spannungsteiler (zwei SMD, je ein 10k und 20k, Widerstände pro GPIO Leitung) oder einem Chip (z.B. 74HC4049, 74HC4050, CD4050 oder PCA9306) machen. Wenn man das Layout entsprechend macht, könnte man die einfach nicht bestücken und stattdessen eine Lötbrücke einsetzten.
Reiner.

Rince

RFID
könnte man per I2C anbinden.
Vorteil:
Kann auf mehreren Boards vorgesehen werden. Ob und wo man ihn dann wirklich einsetzt, kann der Enduser entscheiden (z.B. auf dem Relais-Board).

Bewegungsmelder, Temperatur / Luftfeuchte, Helligkeit könnten auf einem Board durchaus Sinn machen

Ultraschallsensor / Lichtschranke eher alternativ zum Bewegungsmelder


Das Relais Board könnte man evtl. so auslegen, dass man nur 1x L, N und PE anschließen muss, sie Relais wären dann nur noch Ausgänge. Idealerweise mit Wago Klemmen.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mrpj

Zitat von: Rince am 05 April 2016, 16:07:28
Ja. Für Licht und Steckdosen.

Ah alles klar - das sehe ich als "Zusatzboard" an. Das Zusatzboard Relaisboard könnte es ja in verschiedenen Ausführungen gebe (1-X Relais).
In dem Fall wäre es spannend, wenn das Zusatzboard direkt an 230V angeschlossen werden kann und via z.B. dem kleinen AC Wandler die Relais und das ESP Hauptboard versorgt.

Zitat von: Rince am 05 April 2016, 16:07:28
Die meisten Leute  haben wohl schlicht 230V in einer Dose liegen.
Ich denke dass man i.d.R. 3,3V, 5V und 12V brauchen kann.
Ich denke es macht Sinn, die 230VAC -> DC Wandlung auf einem externen Board bzw. auf dem jeweiligen Zusatzboard (z.B. Relaisplatine) unterzubringen.
Auf dem ESP Board würde ich nur einen Pegelwandler für den ESP und Kleinverbrauch (ESP+Verbraucher < 800mA) unterbringen.

Eine Funktionalität die ich daraus ableiten würde: bei VIn kann der Pegelwandler "überbrückt" werden, so dass von dem Zusatzboard direkt 3.3V für den ESP zur Verfügung gestellt werden kann

Ander Spannungen die benötigt werden, würde ich durch das Zusatzboard zur Verfügung stellen.
Beispiel bei der Relaisplatine - wenn wir 230V > 12V haben für die Relais zum schalten, sind die 12V vorhanden und können direkt zum ESP Board geführt werden.

Zu beachten ist auch, dass der Stromverbrauch nicht zu hoch ausfallen sollte - ein 2A Ausgang ist nur mit entsprechendem Netzteil möglich...


Zitat von: Rince am 05 April 2016, 16:07:28
Dachte ursprünglich an 2xRJ45, mithin also max. 16 Verbindungen. Aber das war nur ne Idee. Ist vermutlich auch keine Gute Idee.
RJ45 ist vom Formfaktor nicht kleiner als Pinleisten - ich dachte das Verbinden via Flachbandkabel soll als Alternative zum aufstecken dienen, falls der Platz in der Höhe nicht ausreicht?

Zitat von: Rince am 05 April 2016, 16:07:28
So, dass man sie in eine UP Dose bekommt ;)
Welche verschiedenen Baugrößen gibt es denn da? BxLxH


Zitat von: Rince am 05 April 2016, 16:07:28
Bezüglich des Sensor-Sammelsuriums...
Schwer zu sagen, was wo kombiniert Sinn ergibt.
Ich überleg mir was dazu.

Das wäre super - vielleicht ist es ja möglich eine kleines Zusatzboard zu erstellen, dass verschiedene Anschlüsse für Sensoren  vereint. Insofern die Sensoren keine besonderen Vorschaltungen benötigen.

Eine andere Idee wäre es, die Sensoren mit "mini-Platinen" auszustatten, so dass diese per Kabel mit dem "Sensor Board" verbunden werden können?


Zitat von: Rince am 05 April 2016, 16:47:44
RFID
könnte man per I2C anbinden.
Vorteil:
Kann auf mehreren Boards vorgesehen werden. Ob und wo man ihn dann wirklich einsetzt, kann der Enduser entscheiden (z.B. auf dem Relais-Board).

Ich habe es jetzt so verstanden, dass es ein RFID Zusatzboard gibt, was auch auf andere Boards aufgesteckt werden kann?
Ich fände es wichtig, dass dieses Modul einzeln mit der Hauptplaine benutzt werden kann, aber auch aufsteckbar ist


Zitat von: Rince am 05 April 2016, 16:47:44
Das Relais Board könnte man evtl. so auslegen, dass man nur 1x L, N und PE anschließen muss, sie Relais wären dann nur noch Ausgänge. Idealerweise mit Wago Klemmen.

Finde ich einen guten Vorschlag, ich kenne mich jedoch mit AC auf Leitbahnen nicht gut genug aus, dass ich dies selber umsetzen würde. Allgemein dachte ich, dass das ESP8266 Hauptplatinen Modul eine Basis zur Weiterentwicklung darstellen soll. Frei nach dem Motto: bisherige Boards haben nicht die Funktionalität die ich brauche, ich nehme ein bestehendes, wandle das Zusatzboard etwas ab und brauch dann nur den ESP "draufstecken".

Auch mit der Idee: Mein aktuelles Zusatzboard hat nur 3 Sensoren - aber druch neue Umstände brauche ich an der Stelle im Haus nun 5 Sensoren. Kein Problem - ich nehme das Zusatzboard für 5 Sensoren, stecken den ESP drauf und fertig.

Zitat von: reibuehl am 05 April 2016, 16:08:22
Ich würde das auf der von Dir beschriebenen Hauptplatine mit Spannungsteiler (zwei SMD, je ein 10k und 20k, Widerstände pro GPIO Leitung) oder einem Chip (z.B. 74HC4049, 74HC4050, CD4050 oder PCA9306) machen. Wenn man das Layout entsprechend macht, könnte man die einfach nicht bestücken und stattdessen eine Lötbrücke einsetzten.

Ich würde da einen Pegelwandler CHIP bevorzugen - haben oftmals Schutzschaltungen integriert.

Ich sehe es dennoch als schwierig an das auf der ESP Hauptplatine unterzubringen. Zum einen braucht man den Pegelwandler nur für bestimmte Komponenten - da macht es meiner Meinung nach Sinn, diesen dann nur vor die Komponenten auf dem Zusatzboard zu setzen. Auch mit dem Hintergrundgedanken, dass z.B. 2 Zusatzboards gleichzeitig verwendet werden sollen, eines was nun z.B. RF 433MHZ Empfänger/Sender bereitstellt, ein anderes welches den Pegelwandler benötigt.

Es müsste also prinzipiell möglich sein einzelnen PINs nur durch den Pegelwandler zu jagen. Das geht nur mit Jumper/Switches. Nimmt dann aber meiner Meinung nach zuviel platz ein.

Im Moment orientiere ich mich noch am NODEMCU Devkit board von der Größe.

Pf@nne

Ist glaube ich schwer die Layoutvorstellungen unter einen Hut zu bekommen.
Ich persönlich wäre für eine UP-Version, 3 Ebenen sollten in eine tiefe Dose passen, da geht ne Menge drauf.

Das soll dann in eine UP-Dose mit GIRA Blinddeckel.

Momentan würde ich einen WeMOS D1 mini nehmen.



FHEM auf: DS415+ (Master), Raspberry Pi 2

mrpj

#12
Zitat von: Pf@nne am 05 April 2016, 23:09:51
Ist glaube ich schwer die Layoutvorstellungen unter einen Hut zu bekommen.

Ich persönlich wäre für eine UP-Version, 3 Ebenen sollten in eine tiefe Dose passen, da geht ne Menge drauf.

Das soll dann in eine UP-Dose mit GIRA Blinddeckel.

Genau an dem Layoutproblem würde ich gerne ansetzen. Bei den meisten Projekten die ich kenne, wurde immer ein spezielles PCB entwickelt und dabei viele Sachen immer wieder mit Copy+Past übernommen.
Spannend finde ich es, diese Gemeinsamkeiten zu abstrahieren, so dass man später ein simples BaukastenSystem hat, in dem man einfach nur bestimmte Schaltungen "zusammensteckt".
Auch mit dem Hinblick darauf, dass schon bestehende Schaltungen Funktionalität fehlt, die man gerne hätte. Bevor man dann ein komplett eigenes Board entwerfen muss, wäre es doch praktischer, nur noch eine Komponente (Shield) hinzufügen (via PINHEADER, KABEL) muss.




Zitat von: Pf@nne am 05 April 2016, 23:09:51
Momentan würde ich einen WeMOS D1 mini nehmen.

Den WeMOS kannte ich noch nicht - der/das WeMOS geht (wie auch die NodeMCU Kits) genau in die Richtung die als "Basis"/"Hauptplatine" vorgesehen sind.

Darauf aufbauend sollten dann die Zusatzboards entstehen -  die verschiedene Anforderungen entsprechen



Rince

Bei dem Tempo ist es schwer Schritt zu halten :)

mrpj:
Ich denke es wäre sinnvoll, wenn du eine Wiki-Seite anlegen würdest (am besten im 1. Thread verlinkt)

Dann führen wir da die verschiedenen Sensoren auf, die die User überhaupt einsetzen wollen. Dann einigen wir uns auf einen Typ davon (so wie bei MySensors).

Damit haben wir eine fest umrissene Menge inkl. Spezifikation (Pinlayout etc.)

Wenn wir das haben, überlegen wir uns, wie diese am effektivsten angebunden werden können. Damit kommen wir dann also zu den diversen Layouten.


Anbindungen prinzipiell:
- Aufstecken (wie Shields beim Arduino)
- Anbindung per Kabelverbindung:
-- wie bei einem Bus-System, Geräte werden hintereinander verkettet (besonders für große Platinen spannend, wie Relaisträger)
-- eine Punkt zu Punkt Verbindung, Geräte werden direkt an den ESP angeklemmt (z.B. mit RJ11 Kabeln mit einer Standardbelegung wie 3,3V, 5V, 2x IO, GND) (bei kleineren Dingen wichtig wie Drehencoder)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Pf@nne

WiKi finde ich gut, erstmal ein Brainstorming, alles raus was keine Miete zahlt.
Das wird die Findungsphase definitiv voranbringen.

Vielleicht noch so etwas wie eine Abstimmungsfunktion, dann kann man sehr schnell sehen was so den meisten Anklang findet.
Wir sollten aber vorher festlegen nach welcher Struktur die Entscheidungsfindung stattfinden soll.
Sonst besteht die Gefahr, dass alles auf einmal diskutiert wird.
Auch ein Moderator währe enpfehlenswert.

Mit ein wenig Steuerung sollten da recht schnell brauchbare Board bei raus kommen.

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2