ESP RGBWW Wifi Led Controller - Hinweise zu Sammelbestellung 2.5

Begonnen von mrpj, 07 Februar 2016, 17:53:42

Vorheriges Thema - Nächstes Thema

jojoja

Hallo Patrick,

ich habe jetzt beide Controller geflasht, auch beim zweiten hat es ~15 Versuche für den dritten Block gebraucht.
Habe gleich zur Einrichtung eine feste IP vergeben - hat funktioniert, er ist unter der Adresse erreichbar.
In der Fritzbox wird allerdings eine andere IP angezeigt, die nicht erreichbar ist (ist dann vermutlich eine Fritzbox-Sache). Als Netmask habe ich 255.255.255.0 angegeben, im Nachhinein zeigt es bei den Network-Settings 0.0.0.0 an.
Geflasht ist die Version 0.2.6, ein OTA-Update schlug fehl. Da du den Prozess ja noch abändern willst, sollen wir Tester dem trotzdem nachgehen (nicht zum eigenen Zwecke, sondern um dir weiterzuhelfen :D)?

Eine Idee hätte ich noch: ein weiterer Tastereingang (per Interrupt), mit dem man das Licht ein-/ausschält, damit man nicht den "WLAN-Umweg" nehmen muss. Ich würde ihn dann einfach dauerhaft laufen lassen, somit ist er per fhem/Netzewerk immer erreichbar und man kann auf herkömmlichen Weg schalten.
Wenn ich das richtig sehe, ginge das z.B. beim GPIO2?

Gruß Johannes
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

mrpj

Zitat von: jojoja am 27 April 2016, 20:13:13
Als Netmask habe ich 255.255.255.0 angegeben, im Nachhinein zeigt es bei den Network-Settings 0.0.0.0 an.

Kannst du mir bitte mal die Ausgabe von http://controllerip/config posten? danke

Zitat von: jojoja am 27 April 2016, 20:13:13
Geflasht ist die Version 0.2.6, ein OTA-Update schlug fehl. Da du den Prozess ja noch abändern willst, sollen wir Tester dem trotzdem nachgehen (nicht zum eigenen Zwecke, sondern um dir weiterzuhelfen :D)?

Im Moment ist es nicht mehr nötig

Zitat von: jojoja am 27 April 2016, 20:13:13
Eine Idee hätte ich noch: ein weiterer Tastereingang (per Interrupt), mit dem man das Licht ein-/ausschält, damit man nicht den "WLAN-Umweg" nehmen muss. Ich würde ihn dann einfach dauerhaft laufen lassen, somit ist er per fhem/Netzewerk immer erreichbar und man kann auf herkömmlichen Weg schalten.
Wenn ich das richtig sehe, ginge das z.B. beim GPIO2?

GPIO2 ist nicht per PIN Header erreichbar - es muss gelötet werden. Ich nehme es mal auf die Wunschliste auf. Schau es mir aber erst an, wenn der Rest gegeben ist. Es muss dann auchmal geschaut werden, wie die Implementation von Joerg ausfällt, um den Status synkron zu halten


Hauswart

Zitat von: ext23 am 26 April 2016, 14:55:28
Je nach verwendeten USB zu Seriell Adapter ist es nötig die Pegel (RX/TX/...) von 5V auf 3,3V zu senken. Es gibt fertige Module wie das bekannt FT232R Module welches man umschalten kann zwischen 5V und 3,3V, dieses Module ändert richtigerweise auch die Pegel der Datenleitungen. Das Funktioniert da der FT232R einen Eingang hat (VCCIO) auf welchen man genau die Spannung gibt, die als Ausgangspegel benutzt werden soll, in unserem Fall des ESP nämlich genau 3,3V. Das macht man mit dem Jumper/Lötbrücke.

Für das Flashen des ESP hat bei mir der FT232R für ordentliche Probleme gesorgt weshalb ich auf den CP2102 ausgewichen bin. Dieser ist jedoch häufig nur für 5V konfiguriert. Es ist richtig das es ein 3,3V Ausgang gibt, aber das bedeutet nicht unbedingt, dass die Logikausgänge auch 3,3V haben müssen (Oft auch 5V). Aber um Probleme aus der Welt zu schaffen hilft nur eins, messen. Ich habe zwei Module, eines arbeitet mit 5V, das andere mit 3,3V :-) Zum messen einfach mal den TX Port messen. Das hängt wirklich vom verwendeten Modul ab bzw. wie dieses verschaltet ist. Die neuen Module scheinen aber alle als 3,3V ausgelegt zu sein.

Sollten die Pegel 5V sein, MUSS dieser zwingend auf 3,3V gesenkt werden, da der ESP sonst die Sinfonie der Vernichtung pfeift.

Da der CP2102 und viele andere Chips auch 3,3V als High interpretieren muss natürlich nur der Weg vom CP2102 zum ESP angepasst werden. Dafür gibt es verschiedene Wege, zwei hier:

Edelvariante mit einem Pegelwandler Board:
Bei www.segor.de nach "LevelConverterModul4K" suchen. Ich habe so eine Platine, ist ganz nett, auch für andere Sachen.

Der einfache Weg über einen Spannungsteiler:
(http://www.mikrocontroller.net/wikifiles/6/64/Pw_st_5-3.png)

Weitere Informationen dazu unter:
http://www.mikrocontroller.net/articles/Pegelwandler

/Daniel
Hallo Daniel, heute ist mein Adapter gekommen. TX habe ich gemessen war bei knapp über 3V.
Und du glaubst es nicht nun geht das flashen ohne Probleme... Den Tipp hätte ich früher gebraucht. :) Danke!
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

funclass

Also ich habe meine Controller zwar noch nicht bekommen, habe mir aber auch bereits einige Gedanken über Anwendungsfälle gemacht. Dabei kam mir die Idee, dass es schon cool wäre 1 bis 2 GPIO's als Eingänge für Hardwaretaster frei zu haben. Somit könnte der Controller per Taster z.B. immer mit definierter Lichtfarbe ein-/ausgeschaltet bzw. gedimmt werden. Außerdem könnte per zweiter Taste die aktuelle Lichtfarbe für diesen Zweck gespeichert werden.

Das würde den Controller auch für Zwecke der "Allgemeinbeleuchtung" unabhängig vom WLAN, FHEM und anderer smarter Gerätschaften machen.

Was haltet ihr von der Idee?

herrmannj

...
Zitatwie die Implementation von Joerg
...
der wünscht sich ohnehin eine Rückkopplung um zB beim faden die readings mitziehen zu können :). Von daher d'acour. Wird aber werden, wird wachsen.

Ich hab vor kurzem eine von den Milight fbs auseinandergenommen (entsorgt). Die haben das color wheel irgendwie mit kapazitiven "slidern" gemacht - das wäre vielleicht eine (viel spätere) mögliche Erweiterung. Aber vorerst gibt es ja genug anderes zu tun.

vg
joerg

pc1246

@funclass
Der Controller merkt sich die letzte Einstellung, das war einer der wichtigsten Punkte von mrpj!
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

jojoja

ZitatKannst du mir bitte mal die Ausgabe von http://controllerip/config posten? danke
Folgt heute Nachmittag.

ZitatGPIO2 ist nicht per PIN Header erreichbar - es muss gelötet werden.
Zitatdass es schon cool wäre 1 bis 2 GPIO's als Eingänge für Hardwaretaster frei zu haben.

Klar, weitere Taster wurden nicht vorhergesehen, aber da ja sogar schon Pullups vorhanden sind, dürfte das keine größeren Probleme machen (denke ich). Es wäre aber sehr angenehm, da die Reaktionszeit viel kürzer als über die besagten Umwege ist.

Gruß Johannes
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

ext23

Zitat von: Hauswart am 27 April 2016, 21:23:14
Hallo Daniel, heute ist mein Adapter gekommen. TX habe ich gemessen war bei knapp über 3V.
Und du glaubst es nicht nun geht das flashen ohne Probleme... Den Tipp hätte ich früher gebraucht. :) Danke!

*lol* Naja ich ja selber auch ;-)))))

Ja die neuen scheinen alle mit 3,3V zu arbeiten. ich habe hier vermutlich noch alle Adapter gehabt.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Zitat von: mrpj am 27 April 2016, 14:38:26
Nein bisher nicht - aber es braucht keinen Internetzugang - solange die Dateien auf einem webserver liegen und die "version.json" auf die korrekten Dateien auf dem Server zeigt, kannst du es auch intern in deinem Netzwerk halten.

Ahh ok, nee naja das reicht dann so, dann kommt das mit auf den Apache. Ist zwar dennoch umständlich aber je nach Anzahl von Boards auch wiederum einfacher am Ende ;-)
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

mrpj

Zitat von: jojoja am 28 April 2016, 09:43:22
Klar, weitere Taster wurden nicht vorhergesehen, aber da ja sogar schon Pullups vorhanden sind, dürfte das keine größeren Probleme machen (denke ich). Es wäre aber sehr angenehm, da die Reaktionszeit viel kürzer als über die besagten Umwege ist.

Die pullups/pulldowns sind per se für die Bootkonfiguration vorhanden - birgt andersrum die Gefahr, dass wenn jemand drückt und dabei der Controller abschmiert oder Strom weg fällt, dass er nicht korrekt bootet ;-)

In meinem WLAN haben die Controller zwischen 10 und 15ms Latenzzeit (Tastendruck->Router->fhemserver->router->controller). Komm ich auf ca 30ms (kurze Berechnungszeit für FHEM eingerechnet) - das ist für Anschalten/Ausschalten und Farbänderungen wirklich kaum bemerkbar ;-). Wenn der Controller natürlich im Unterputz sitzt und eh schon schlechten bis gar keinen Empfang hat, dann ist es was anderes ;-)

Zitat von: funclass am 27 April 2016, 22:05:01
Also ich habe meine Controller zwar noch nicht bekommen, habe mir aber auch bereits einige Gedanken über Anwendungsfälle gemacht. Dabei kam mir die Idee, dass es schon cool wäre 1 bis 2 GPIO's als Eingänge für Hardwaretaster frei zu haben. Somit könnte der Controller per Taster z.B. immer mit definierter Lichtfarbe ein-/ausgeschaltet bzw. gedimmt werden. Außerdem könnte per zweiter Taste die aktuelle Lichtfarbe für diesen Zweck gespeichert werden.

Das würde den Controller auch für Zwecke der "Allgemeinbeleuchtung" unabhängig vom WLAN, FHEM und anderer smarter Gerätschaften machen.

Das Projekt ist als Steuerung via FHEM konzipiert worden, daher ist es im Moment eine Steuerung via Taster nicht vorgesehen.
Bevor die PCBs bestellt wurde, gab es den Aufruf für konkrete Vorschläge ("GPIOX/Y/Z noch für Taster frei machen und dafür PWM via GPIO A/B/C",) aber es kam keine Resonanz.

Der Controller speichert den letzten Zustand (im HSV Modus) ab und stellt ihn bei Stromverlust wieder her


Allgemein mein Standpunkt dazu:
Das Projekt hatte das Ziel eine günstige und gute alternative zu China Controller zu bieten. Und meiner Meinung nach fokussiere ich mich auf eine gute Umsetzung dieser einen Funktion, als zu versuchen alles mögliche noch dran zu machen. Ich bin ein verfechter von "Ein Gerät - Eine Aufgabe".
Insbesondere wenn es um "Eingaben" geht - einer möchte zwei Taster haben, der nächste aber ein DrehEncoder, der dritte würde gerne ein Touchpad dran machen etc... das alles in einer Firmware noch extra unterzubringen potenziert den Aufwand der Entwicklung um ein vielfaches.

Version 1.4 (2.0) des PCBs versuche (! - ohne Gewährleistung) ich ein paar GPIOs frei zu machen - aber Aufgrund der unterschiedlichen Anwendungsfälle ist jeder für die Implementierung von Zusatzfunktionen (Taster, Schalter, Ethernet, Raktenantrieb) selber verantwortlich. Die von mir bereit gestellt Firmware wird sich auf die Hauptfunktionalität beziehen und ich werde keine extra Funktionalität in diese Richtung implementieren.

Zitat von: ext23 am 28 April 2016, 10:21:29
Ahh ok, nee naja das reicht dann so, dann kommt das mit auf den Apache. Ist zwar dennoch umständlich aber je nach Anzahl von Boards auch wiederum einfacher am Ende ;-)

Seh es doch mal andersrum - je nach Anzahl von Boards ist das sogar wesentlich einfacher via mqtt - einfach die Informationen publishen und alle deine Controller machen ein update ;-)

Zitat von: herrmannj am 27 April 2016, 22:12:41
der wünscht sich ohnehin eine Rückkopplung um zB beim faden die readings mitziehen zu können :). Von daher d'acour. Wird aber werden, wird wachsen.

MQTT ;-)
Andernfalls polling. Einen dedizierte Rückkanal der nicht permanent offen gehalten wird (wie z.b. bei mqtt) halte ich für nicht sinnvoll. Es kostet einfach sehr viel Latenz immer wieder eine Verbindung aufzubauen. (Und vor allem kann es zum stocken kommen, wenn der TCP Verbindungsaufbau langsam ist. Der ESP hat nur einen Kern mit einer Ausführung ohne scheduling oder threads)

ext23

ZitatAllgemein mein Standpunkt dazu:
Das Projekt hatte das Ziel eine günstige und gute alternative zu China Controller zu bieten. Und meiner Meinung nach fokussiere ich mich auf eine gute Umsetzung dieser einen Funktion, als zu versuchen alles mögliche noch dran zu machen. Ich bin ein verfechter von "Ein Gerät - Eine Aufgabe".
Insbesondere wenn es um "Eingaben" geht - einer möchte zwei Taster haben, der nächste aber ein DrehEncoder, der dritte würde gerne ein Touchpad dran machen etc... das alles in einer Firmware noch extra unterzubringen potenziert den Aufwand der Entwicklung um ein vielfaches.

Man könnte natürlich auch ein Board bauen, was noch einiges mehr zu bieten hat. Beispiel für Eingabe wäre ja eine DMX Schnittstelle, da kann man dann als "Eingabegerät" verschiedene Geräte verwenden die aber auf ESP Seite im Prinzip alle gleich behandelt werden. Aber eventuell ist der ESP auch irgend wann an der Kotzgrenze, wobei die ja schon sehr performant sind. Das schafft man ja alles auch mit einem billigen einfachen AVR wenn man es geschickt macht und nicht die fertigen libs verwendet, bzw. am Ende sogar einige Sachen als inline Assembler schreibt. Aber wer hat schon die Zeit heutzutage...

Oder man verbaut auch ein ESP im Eingabegerät ;-) Dann muss zumindest nur das WLAN funktionieren wenn man Licht anschalten möchte. Wäre vermutlich die bessere Variante.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

jojoja

ZitatKannst du mir bitte mal die Ausgabe von http://controllerip/config posten? danke

Hier die erwünschte Ausgabe:
{"network":{"connection":{"dhcp":false,"ip":"192.168.178.63","netmask":"0.0.0.0","gateway":"192.168.178.1"},"ap":{"secured":false,"ssid":"RGBWW13731927"},"mqtt":{"enabled":false,"server":"","port":0,"username":""}},"color":{"outputmode":0,"hsv":{"model":0,"red":0.00,"yellow":0.00,"green":0.00,"cyan":0.00,"blue":0.00,"magenta":0.00},"brightness":{"red":100,"green":100,"blue":100,"ww":100,"cw":100},"colortemp":{"ww":2700,"cw":6000}},"security":{"api_secured":false}}


Und falls es hilft, dieselbe Ausgabe des anderen Controller der über die automatische IP-Zuweisung läuft:
{"network":{"connection":{"dhcp":true,"ip":"0.0.0.0","netmask":"0.0.0.0","gateway":"0.0.0.0"},"ap":{"secured":false,"ssid":"RGBWW13730397"},"mqtt":{"enabled":false,"server":"","port":0,"username":""}},"color":{"outputmode":0,"hsv":{"model":0,"red":0.00,"yellow":0.00,"green":0.00,"cyan":0.00,"blue":0.00,"magenta":0.00},"brightness":{"red":100,"green":100,"blue":100,"ww":100,"cw":100},"colortemp":{"ww":2700,"cw":6000}},"security":{"api_secured":false}}


Für Fritzbox-User:
ZitatIn der Fritzbox wird allerdings eine andere IP angezeigt, die nicht erreichbar ist (ist dann vermutlich eine Fritzbox-Sache).
Das war eine Fritzbox Sache. Ich habe gestern in der Box dem Controller einen anderen Namen gegeben, heute konnte der Controller keine Verbindung mehr herstellen. In der Box den Namen zurückgesetzt, Controller neu gestartet und er verbindet sich wieder. Jetzt wird auch die richtige IP-Adresse angezeigt, umbennen funktioniert nun auch neustartresistiv.
Also: In der Fritzbox erst umbennen, wenn sie die IP-Adresse angenommen hat. Demnach.
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

mrpj

Danke dir, kannst du zu den beiden mir noch die Ausgabe von http://controllerip/info posten?

Da scheint mir ein Fehler zu sein, sehe aber gerade im Code nicht woher das kommen könnte

jojoja

Aber natürlich, hier Controller mit manueller Einstellung:
{"deviceid":"13731927","firmware":"0.2.6","git_version":"v0.2.6","git_date":"2016-04-23","config_version":"1","sming":"2.1.0","rgbww":{"version":"0.8.0","queuesize":50},"connection":{"connected":true,"ssid":"Mothership","dhcp":false,"ip":"192.168.178.63","netmask":"0.0.0.0","gateway":"192.168.178.1","mac":"18fe34d18857"}}

und hier der mit automatischer/DHCP:
{"deviceid":"13730397","firmware":"0.2.6","git_version":"v0.2.6","git_date":"2016-04-23","config_version":"1","sming":"2.1.0","rgbww":{"version":"0.8.0","queuesize":50},"connection":{"connected":true,"ssid":"Mothership","dhcp":true,"ip":"192.168.178.43","netmask":"255.255.255.0","gateway":"192.168.178.1","mac":"18fe34d1825d"}}
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

mrpj

@jojoja

Kannst du bei dem "statischen" Controller von dir mal in den Einstellungen noch die korrekte netmask eintragen, speichern und ihn neustarten und mir dann das Ergebniss von /config /info mitteilen.

Ich versuch das gerade nach zu vollziehen:
Wann hast du die Netmask eingetragen? Direkt beim ersten verbinden?
Kann es sein, dass du dabei die Netmask eventuell nicht spezifiziert hast?



Zitat von: ext23 am 28 April 2016, 12:22:38
Man könnte natürlich auch ein Board bauen, was noch einiges mehr zu bieten hat. Beispiel für Eingabe wäre ja eine DMX Schnittstelle, da kann man dann als "Eingabegerät" verschiedene Geräte verwenden die aber auf ESP Seite im Prinzip alle gleich behandelt werden. Aber eventuell ist der ESP auch irgend wann an der Kotzgrenze, wobei die ja schon sehr performant sind. Das schafft man ja alles auch mit einem billigen einfachen AVR wenn man es geschickt macht und nicht die fertigen libs verwendet, bzw. am Ende sogar einige Sachen als inline Assembler schreibt. Aber wer hat schon die Zeit heutzutage...

Klar könnte man noch DMX dran klemmen - war blos nicht das Ziel der ganzen Sache.

Der Titel vom Thread lautet ja auch

ZitatRGBWW Wifi Led Controller


Zitat von: ext23 am 28 April 2016, 12:22:38
Oder man verbaut auch ein ESP im Eingabegerät ;-) Dann muss zumindest nur das WLAN funktionieren wenn man Licht anschalten möchte. Wäre vermutlich die bessere Variante.

Der analoge Lichtschalter funktioniert ja weiterhin mit dem Controller ;-)
Aber ich weiße nochmal dezent auf den Threadtitel hin .... die Grundannahme ist, dass der Controller zusammen mit Wlan Betrieben wird.

Ich hätte natürlich jetzt auch noch ein Funkmodul draufklatschen können, dann könnte man mit normalem Funk den Controller steuern usw.... Es lebe der Konjunktiv ;-)

Die Schaltpläne sind frei verfügbar und jeder kann seine eigenen Vorstellungen/Änderungen damit umsetzen.
Freut mich sogar, wenn jemand seine eigenen Ideen damit umsetzt....