ESP RGBWW Wifi Led Controller - Hinweise zu Sammelbestellung 2.5

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

Vorheriges Thema - Nächstes Thema

ext23

Zitat von: Hauswart am 26 April 2016, 12:18:15
Der CP2102 hat doch einen 3.3V Lötpunkt? Diesen kann man doch verwenden. Oder wie in den Amazon Fragen beantwortet den Strom gar nicht vom Konverter verwenden und den ESP direkt mit Strom versorgen.

Ähh, es geht nicht um die Versorgungsspannung! Es geht um die TX Pegel! Diese sind und bleiben 5V und das ist zu viel für den ESP!
Das sind irgend welche Kommentare von Amazon Usern die auch keine Ahnung haben ;-)

Bei dem FT232 ist es so, dass man eine Referenzspannung anlegt an einen bestimmten PIN (mit dem Jumper auf den meisten Boards) und diese ändert dann auch die Pegel von RX/TX/DTS und was nicht alles.

Das man den ESP nicht vom USB Adapter versorgt, sollte ja nun schon klar sein. Also nur TX/RX/GND verbinden, mehr nicht.

@AxelSchweiss:
Wegen dem Spannungsteiler:
http://images.google.de/imgres?imgurl=http://www.mikrocontroller.net/wikifiles/6/64/Pw_st_5-3.png&imgrefurl=http://www.mikrocontroller.net/articles/Pegelwandler&h=254&w=425&tbnid=azEZ6vDnXdHe7M:&tbnh=90&tbnw=151&docid=wvVF9fh_b38RAM&usg=__W6fR8ZeV8IqHLBNjpoa4pMTaoYw=&sa=X&ved=0ahUKEwiUiuTYi6zMAhXFwxQKHdsIDVIQ9QEIOTAC

680 Ω und 1 kΩ finde ich aber etwas wenig, versuch mal mehr zu nehmen, 1,3k und 1,8k oder sowas. (Rechne das am besten mal durch, es gibt online Rechner dafür.) Auch wenn du keine Ahnung von E-Technik hast, ein bissel lesen schadet ja nicht und man lernt ein wenig dabei ;-) Macht ja sonst kein Spaß ;-)

/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)

Hauswart

Jetzt muss ich noch einmal blöd fragen, anstatt einen Spannungsteiler wäre doch ein LE33CZ oder AMS1117 einfacher? 5V Eingang vom TX (CP2102), Ground, und 3.3V Ausgang an den RX vom ESP8266?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

AxelSchweiss

Zitat von: ext23 am 26 April 2016, 12:30:01
680 Ω und 1 kΩ finde ich aber etwas wenig, versuch mal mehr zu nehmen, 1,3k und 1,8k oder sowas. (Rechne das am besten mal durch, es gibt online Rechner dafür.) Auch wenn du keine Ahnung von E-Technik hast, ein bissel lesen schadet ja nicht und man lernt ein wenig dabei ;-) Macht ja sonst kein Spaß ;-)
Super .. Danke ... mach ich ja( sonst wür ich mich ja nicht hier rumtreiben ;))  ... nur habe ich drei Online-Rechner mit identischen Werten gefütter und bekam drei verschiedene Werte (online eben) ... und bevor sich der ESP mit Rauchzeichen meldet ... frach ich doch mal nach.

mrpj

@ext23 @AxelSchweiss

Wäre es möglich, dass ihr eure Erfahrungen und Lösungen in einem (gemeinsamen) Post zusammenfasst?
Auch am besten mit den Hinweisen zu dem 5V -> 3,3V Pegelwandler.

Ich denke die Informationen würde nochmal einigen Helfen und wäre wahrscheinlich auch Projekt unabhängig gut in einem Post in ESP8266 Sub-Forum. (Eventuell gepinnt? )

Updates: Firmware, Fertige Controller usw.

Firmware

Ich habe mir gestern nochmal den OTA code genauer angeschaut und mich entschlossen, einige Stellen nochmals umzuschreiben um es noch stabiler zu gestalten.
Der wichtigste Schritt hierbei ist für mich, dass das OTA zuverlässig funktioniert und zuverlässig mitteilt ob (und wenn möglich warum) das update Fehlgeschlagen ist.

Dabei werde ich nochmal das Flash Layout ändern müssen und werde statt die WebIF Dateien einzeln upzudaten, immer das komplette Dateisystem ersetzen. Bedeutet aber auch, dass die nächste Firmware Version nicht per OTA eingespielt werden kann, sondern neu geflasht werden muss.

Das implementieren und testen von der neuen Methode wird noch etwas Zeit in Anspruch nehmen (ca. 1-2 Wochen).


Fertige Controller

Aufgrund des nacharbeitens mit der Firmware wird sich der Versand noch nach hinten verzögern. Es tut mir Leid wenn ihr länger darauf warten müsst, aber ich möchte sicher sein, dass die Controller auch danach noch updates bekommen können.


PCB Layout Verbesserungen für zukünftige Versionen

Das bisherige Feedback habe ich wahrgenommen und in eagle den Bauteilen die Lötaugen ( Thermals) gesetzt.
An zwei stellen sind diese nicht gesetzt worden: Bei den Anschlussklemmen für V+ und GND, sowie bei den jeweiligen V+ Anschlussklemmen der LED Stripes

Ich überlege noch wie ich die zuführung einer externen 3,3V Quelle sinnvoll einbringen kann, im Moment ist die Idee, einen 3 poligen PIN Header zu nutzen. (GND 3,3V, 3,3V_DC vom DCWandler). 3,3V auf 3,3V_DC kann mit einer Lötbrucke oder einem Jumper verbunden werden, andernfalls kann man GND und 3,3V über einen PINHeader speißen

Das wird sozusagen das Layout v1.3b (v1.3.1) werden.


In den letzten Wochen habe ich nochmals mehr über den ESP gelernt und auch mir Gedanken gemacht, wie man das PCB anders aufbauen könnte um noch weitere GPIOs nutzen zu können.
- der ADC wird frei werden (die Speicherung des Zustandes wird Firmwareseitig geregelt)
- ca 2 GPIOs könnten komplett frei verfügbar werden, weitere GPIOs könnten mit den vorhanden Pullup/Pulldown heraus geführt werden.

Es ist nicht möglich SPI UND I2C gleichzeitig zur Verfügung zu stellen - das gibt der ESP mit GPIOs nicht her. (Ich möchte das Layout immernoch ESP7 undESP12 kompatibel handhaben um wenn nötig externe Antennen anschließen zu können)

Weitere Vorschläge nehme ich sehr gerne an. Wichtig dabei ist: Welche und Wieviele Pins würden dafür benötigt werden. Müssen diese Pins etwas spezielles unterstützen (Interrupt, MISO, MOSI, SCLK etc.. )

Das wäre dann sozusagen v1.4 (oder v2.x) - bedeutet aber auch nochmal mehr Komplexität was die Firmware betrifft - es müssen dann mehrere PINouts unterstützt werden (und wie das dann letztendlich gehandhabt wird, weiss ich gerade noch nicht...)


AxelSchweiss

Zitat von: mrpj am 26 April 2016, 13:34:36
Weitere Vorschläge nehme ich sehr gerne an. Wichtig dabei ist: Welche und Wieviele Pins würden dafür benötigt werden. Müssen diese Pins etwas spezielles unterstützen (Interrupt, MISO, MOSI, SCLK etc.. )
Mich würde ein herausgeführter SPI zum Anschluss von einem W5100 NIC interessiern.
ja .. ich weiss .. LAN ist OnChip :-[ ... es geht aber nun mal nix über Kupfer. ;D

mrpj

#425
Zitat von: AxelSchweiss am 26 April 2016, 14:03:58
Mich würde ein herausgeführter SPI zum Anschluss von einem W5100 NIC interessiern.
ja .. ich weiss .. LAN ist OnChip :-[ ... es geht aber nun mal nix über Kupfer. ;D

Ich habe keine Ahnung wieviele PINs du dafür brauchst - da ich wirklich mit dem Projekt an sich schon zu tun habe, kann ich solche Vorschläge nur in betracht ziehen, wenn eine klare Ansage gemacht wird, wieviele und welche PINs benötigt werden.

PS:
Je weniger Arbeit ich damit habe, desto eher kann ich den Wunsch in betracht ziehen - ich werde mir nicht die Informationen dazu selber zusammen stellen.

Und wichtig für die Feature Request:
Für die Implementierung in der Firmware ist jeder selber verantwortlich
(PS: dafür lohnt es sich, schonmal zu schauen ob es den generell schon mit dem ESP umgesetzt wurde und ob eine (SMING kompatible) Library besteht)

AxelSchweiss

Zitat von: mrpj am 26 April 2016, 14:16:41
Ich habe keine Ahnung wieviele PINs du dafür brauchst - da ich wirklich mit dem Projekt an sich schon zu tun habe, kann ich solche Vorschläge nur in betracht ziehen, wenn eine klare Ansage gemacht wird, wieviele und welche PINs benötigt werden.
Also .. SCK, MISO, MOSI, SS, GND und eventuell noch einen GPIO für den Reset.
Das Modul benötigt 5 Volt .. von daher macht ein rausgeführter 3,3 Volt kein Sinn wäre aber für die Vollständigkeit hübsch.

Zitat von: mrpj am 26 April 2016, 14:16:41
Für die Implementierung in der Firmware ist jeder selber verantwortlich
klar

mrpj

#427
Zitat von: AxelSchweiss am 26 April 2016, 14:28:45
Also .. SCK, MISO, MOSI, SS, GND und eventuell noch einen GPIO für den Reset.
Das Modul benötigt 5 Volt .. von daher macht ein rausgeführter 3,3 Volt kein Sinn wäre aber für die Vollständigkeit hübsch.
klar

Genau SCK, MISO und MOSI sind gerade belegt - ohne trickserei werden nicht alle 3 frei werden. Und ich sehe keinen Trick der einfach zu implementieren ist und es ermöglicht.

Am besten ist es, wenn du auch nochmal schaust, aber es gilt zu beachten das der ESP bestimmte PINs auf low/high zu booten braucht. Ein Teil der PINS nicht verfügbar ist.
Und ich weiss nicht ob man ein PWM Signal auf RX/TX legen kann

http://www.esp8266.com/wiki/doku.php?id=esp8266_gpio_pin_allocations
https://github.com/esp8266/Arduino/blob/master/doc/boards.md#improved-stability
https://github.com/esp8266/Arduino/blob/master/doc/esp12.png
https://github.com/patrickjahns/esp_rgbww_controller/blob/master/pictures/rgbww-schema.png

Für PWM brauch ich 5 GPIOs mit Pulldown Möglichkeit. Der Controller MUSS bei jedem reset ganz normal starten können, ohne das ein umstecken/taster drücken erforderlich ist

Es wäre sehr gut, wenn der ADC Kanal nicht für PWM genutzt wird (ist mit am besten noch für anderes zu gebrauchen)
3te Anforderung: eine Möglichkeit die Einstellungen des Controllers per CLR zurück zu setzen (d.h. low/high beim boot switchen zu könne, ohne den Betrieb des ESPs einzuschränken)

Für Ideen/Vorschläge bin ich offen - aber gerade sehe ich das nicht vereinbar an

ext23

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

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: AxelSchweiss am 26 April 2016, 14:03:58
Mich würde ein herausgeführter SPI zum Anschluss von einem W5100 NIC interessiern.
ja .. ich weiss .. LAN ist OnChip :-[ ... es geht aber nun mal nix über Kupfer. ;D

He he, ganz meine Meinung ;-) Aber gibt es nicht vielleicht direkt eine ESP Variante für Kupfer?

/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)

mrpj

Zitat von: ext23 am 26 April 2016, 14:59:51
He he, ganz meine Meinung ;-) Aber gibt es nicht vielleicht direkt eine ESP Variante für Kupfer?

/Daniel

Das schimpft sich dann ARDUINO mit EthernetShield - oder eben dann ARDUINO mit WIFI (http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno-wifi)

Sehr amüsant dass der WifiChip mehr RAM, ROM und Taktfrequenz hat  ;)

ext23

Naja das ist aber nicht ESP kompatible von der Programmierung her oder? Es geht ja um das Vermeiden der parallelen Programmierung der Firmware.

Ansonsten Arduino, naja, ist was für Leute die nicht löten können/wollen und zu viel Geld haben. Das ist ja alles mehr so eine LEGO System zum zusammen stecken. Da nimmt man sich lieber gleich ein AVR oder ähnliches und baut das selber auf, kostet dann vermutlich nen Bruchteil von dem was so ein "Arduino" Kram kostet.

/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)

mrpj

Zitat von: ext23 am 26 April 2016, 16:17:50
Naja das ist aber nicht ESP kompatible von der Programmierung her oder? Es geht ja um das Vermeiden der parallelen Programmierung der Firmware.

ESP kompatibel ist allgemein so eine Sache - wenn es um die Netzwerk Geschicht geht, dann bietet der ESP bzw. der ESP mit Espressif SDK eben eine Netwerkimplementierung an. Und man ab Layer4 (OSI Modell) damit hantierne kann, und sich keine Gedanken um die Schnittstelle machen muss.

Ob der Espressif SDK gleichzeitig die interne Wifi Schnittstelle UND noch eine andere Schnittstelle unterstützt, sei mal dahin gestellt. Daher auch:

Zitat von: mrpj am 26 April 2016, 14:16:41
(PS: dafür lohnt es sich, schonmal zu schauen ob es den generell schon mit dem ESP umgesetzt wurde und ob eine (SMING kompatible) Library besteht)

So das ganze dazu gesagt, wir entfernen uns von dem Thema "RBGWW Controller" und ich möchte bitten wieder sich auf den Controller zu beziehen bzw. bei weiterem Gesprächsbedarf das ganze in ein anderes Thema zu verlegen

ext23

Nochmal zurück zum Thema, ich hab mir mal das OTA Update angeschaut.

Gibt es später auch eine Möglichkeit einfach ohne Internet und irgend welchen extra Servern die neue Firmware auf der WebGUI hoch zu laden wie bei anderen Geräten auch?

Ich frage deswegen, da meine FHEM Geräte in einem gesonderten Netz arbeiten welches kein direkten Zugriff auf das Internet hat. Maximal über ein Squid, aber das auch nur als Ausnahme.

/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)

mrpj

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.

Alternativ ohne eigenen webserver: ein kleiner python server
https://github.com/patrickjahns/esp_rgbww_firmware/tree/master/tools