NEWS
Vorstellung meines Intex Poollampen Umbau's
-
Hallo ich habe meiner Intex RGB-Poollampe einen Nodemcu spendiert...
Vorher dem Umbau taugt die Lampe nicht wirklich viel.
Steuerung über Zeitschaltuhr nicht möglich, da man immer manuell über Taster einschalten muss,
kein App / Wlan Anbindung...Also habe ich der Lampe einen Nodemcu verbaut und überwache damit die Tasten an der Lampe, sowie kann auch über den Nodemcu Tastendrücke "simulieren".
Desweitern wurde in der Software natürlich ein Webinterface sowie Mqtt integriert.
Somit ist das Einbinden ins Smarthome kein Problem mehr. Unter Homeassistant wird die Lampe auch als neues Gerät unter MQTT erkannt.In der Lampe sitzt ein sn8f570210sg (8051-based Microcontroller)
dieser läuft mit 3.3V und die beiden Taster haben jeweils einen 4,7kOhm Pullup-Widerstand.
Eigentlich hätte für den Umbau auch ein Wemos oder ESP-01 gereicht, weil nur 2 GPIO's nötig sind, aber ich wollte den 3.3V Spannungsregler der Lampe nicht noch zusätzlich belasten. Also habe ich mich für einen Nodemcu entschieden, da er wunderbar mit der 12V Spannung des Netzteils der Lampe klar kommt.Das Video ist nicht so toll, aber zur Veranschaulichung reicht es denke ich... g Das Video zeigt noch die erste Version der Software. Das Webinterface hat sich etwas verändert mit neuen Funktionen,...
Die Lampe flackert beim umschalten, weil man über den Taster immer nur zum nächsten Programm/Farbe springen kann.
Flashen
Wenn Ihr den Sourcecode direkt über Arduino flashen wollt, bitte Flashsize 4MB (2MB Ota, OTA ~1019KB) unter Flashsize auswählen.
Wenn Du über das Flash Download Tool von Espressif Systems flashst müssen folgende Adressen angegeben werden :
PoollampeHA.bin @ 0x000000
littlefs.bin @ 0x200000Erster Start
Nach dem Flashen, erstellt der ESP einen AccessPoint mit dem Namen "Poollampe" das Kennwort lautet "12345678"
Das Webinterface ist dann unter der Adresse http://192.168.4.1 erreichbar.
Nun sollte erstmal die Grundkonfiguration durchgeführt werden. Lasst MQTT am besten erstmal aus....Die Grundkonfiguration machen wir folgt :
Einstellungen => Farben konfigurieren
Die Lampe sollte nach dem einschalten "Aus" sein. Unter Einstellungen => Farben konfigurieren, kann die Reihenfolge der Farben festgelegt werden.
Wenn man nun 1x die Taste an der Lampe für die Innenfarbe drückt, wechselt die Lampe auf die Farbe "Farbwechsel".
drückt man nun nochmal die Taste, geht die Lampe wieder aus.
Nach einem erneuten Tastendruck hat man die Farbe Weiß.
Diese Reihenfolge muss unter Innen 1 - Innen 4 in den Einstellungen angegeben werden. In diesem Beispiel also :
Innen 1 : Aus
Innen 2: Farbwechsel
Innen 3: Aus
Innen 4: WeißDas gleiche wiederholt man nun für die Aussenfarbe.
Nun kann man kontrollieren, ob über das Webinterface die richtige Farbe angesteuert wird. Als nächstes kontrolliert nochmal auch beim drücken der Tasten an der Lampe, die richtige Farbe im Webinterface angezeigt wird.Einstellungen => GPIO
Solltet Ihr die Tasten vertauscht haben, kann die Belegung der GPIOs / Tasten unter "Einstellungen" => "GPIO" angepasst werden. Dort kann auch eingestellt werden in welchem Abstand die Informationen per MQTT übertragen werden. (Temperatursensoren & WiFi Informationen)Einstellungen => DS18B20 Sensoren
Dort kann der Name der Sensoren angepasst werden. Es können bis zu 20 Sensoren angeschlossen werden. Der GPIO kann über Einstellungen / GPIO angepasst werden. Bei jedem Start des ESP wird nach DS18B20 Sensoren gesucht, diese werden im Filesystem in die Datei "sensor_data.json" gespeichert. Alte Sensoren die bei einem Neustart nicht angeschlossen sind, werden aus der Datei entfernt. Sollte ein neuer Sensor hinzukommen, wird dieser in die Datei eingetragen. Sollte es mal zu Problemen mit den Sensoren kommen, kann es hilfreich sein, die Datei über den Filebrowser zu löschen und durch einen Reboot neu erstellen zu lassen.Einstellungen => Wifi-Setup
Dieser Menüpunkt ist denke ich mal selbsterklärend. Der ESP versucht sich immer wieder mit dem gespeichertem Wlan zu verbinden, wenn "mit Wlan verbinden" eingestellt wird. Wenn sich Eure Wlan Zugangsdaten ändern, müssen die Wlan Einstellungen des ESP zurückgesetzt werden. (Siehe Reset)Die Grundkonfiguration sollte nun abgeschlossen sein. Am besten den ESP nochmal neu starten und danach MQTT einschalten.
Einstellungen => MQTT
Auch dieser Menüpunkt ist denke ich selbsterklärend. Solltest Du Home Assistant nutzen, bitte "HA Auto Discover" aktivieren.** Einstellungen => Farbe bei Start**
Auch dieser Menüpunkt sollte selbsterklärend sein.Einstellungen => Farben syncronisieren
Hier kann seit dieser Version die aktuelle Farbe angepasst werden. In der alten Version ist es mir immer schonmal passiert, das die Lampe nach dem Einschalten nicht aus war, sondern noch eine Farbe leuchtete. Der ESP stand aber aber auf "Aus".
Hier kann man bei diesem Problem mal eben schnell die aktuelle Farbe zwischen ESP und Lampe syncronisieren.Einstellungen => Filesystem
Ein einfacher Filebrowser um mal eben schnell eine Webseite, sensor_data.json o.Ä. auszutauschen bei einem update.Einstellungen =>Update
Hier kann ein Update über den Webbrowser aufgespielt werden.
Zu beachten ist, das alle Einstellungen der Lampe ins Filesystem geschrieben werden. Solltet Ihr also ein komplettes Update des Filesystems über den Updater einspielen, verfällt die Lampe in den Werkszustand. Auch die Wlan Einstellungen sind wieder zurückgesetzt. Bei einem Update des Flash bleiben immer alle Einstellungen erhalten.Informationen
Im Menü unter Informationen werden allerlei Informationen angezeigt. Als erstes die erkannten Temperatursensoren mit den Temperaturwerten., Softwareversion, IP's, MQTT Informationen, EPS Flash/RamFehler
Solltet Ihr einen Fehler / Problem mit meiner Software haben, bitte unter Github ein Issue eröffnen.
Dort sind dann alle Fehler / Probleme gesammelt und müssen nicht in zig verschiedenen Foren diskutiert / erklärt werden.
Außerdem ist es auch für mich einfach, weil ich nur eine Anlaufstelle für Probleme habe.Wlan Zurücksetzen
Um die Wlan Zugangsdaten zurückzusetzen und den ESP wieder einen Accesspoint mit den Standart Zugangsdaten erstellen zu lassen geht Ihr wie folgt vor :- Lampe ausstecken und etwas warten, damit evtl. Restspannung abgebaut werden kann
- Taster S1 + S2 festhalten
- Lampe einstecken
- Nach ca. 5 Sekunden können die Tasten losgelassen werden.
Nun sollte die Lampe wieder einen Accesspoint mit dem Namen "Poollampe" aufmachen.
Debug Meldungen
In dieser Version sind die Debugausgaben über die Serielle Schnittstelle standardmäßig deaktiviert.
Um diese ein bzw. auszuschalten einfach die Adresse : http://IP-Adresse/debug/on
oder http://IP-Adresse/debug/off aufrufen.
Die Neue Version ist ab sofort auf Github zu finden.
-
Erst einmal Respekt. Das ist genau das was ich mit den Lampen vor hatte und nun hast Du es schon so toll umgesetzt. Könntest Du mir noch eine Art Schaltplan liefern, damit ich das meinem Elektriker geben kann? Herzlichen Dank vorab!!
-
Eigentlich ist es nix wildes.
Der Nodemcu bekomme die 12V Versorgungsspannung (Vin) vom Netzteil der Lampe.
Dann habe ich an 2 GPIO's die Tasterausgänge parallel angeschlossen.
Auf der Platine sind die beiden Taster über einen 4,7kOhm Pullup-Widerstand an 3.3V angeschlossen.
Beim betätigen des Tasters, fällt die Spannung nach GND ab.
Ich habe also einfach nur eine Leitung zwischen Pullup-Widerstand und Taster angelötet und diese mit dem GPIO des Nodemcu verbunden.
Nun überwache ich mit dem Nodemcu einfach den Pegel an GPIO. Ist dieser "High" wird kein Taster betätigt. Fällt er nach Low ab, drückt jemand den Taster an der Lampe.
Zum schalten über Wifi, stelle ich die GPIO's einfach auf Output um und lege sie auf Low für ein paar ms.
Der Rest ist nur ein wenig Software zum zählen der Tastendrücke, welches Programm hat die Lampe gerade, wie oft muss der Taster betätigt werden um zu Farbe xyz zu kommen,....
Also eigentlich kein Hexenwerk.
Evtl. würde sogar auch nur ein ESP01 reichen. Da ja ein 3.3V Spannungswandler auf der Platine verbaut ist. Wieviel Strom er aber noch zusätzlich liefern kann, habe ich nicht nachgeprüft, weil der Nodemcu rein passt und ich noch ein paar in der Bastelkiste liegen hatte. -
Anhang gelöschtIch habe meinen Code von Arduino mal hier angehangen.
Wahrscheinlich schlagen die Profies die Hände über den Kopf, aber ich bin ein Newbie und bastel mir zeitweise ein paar Programme zurecht.Ein paar Fehler können mit Sicherheit noch drin sein. Aber bei mir läuft die Lampe seit meines 1.Post's alltagstauglich in meinem Pool und geht jeden abend bei SU schön an und um 23Uhr wieder aus...
Also viel Spaß damit.
-
Da ich schon einige Anfragen per Chat Funktion bekommen habe, hier der "Schaltplan" und eine kleine Anleitung :
Vorderseite der Platine
V+ => VIN am NodeMCU
V- => GND am NodeMCURückseite der Platine
Ein Schalter wird an D2 am Nodemcu angeschlossen
und der andere Schalter an D1 am NodemcuACHTUNG !!!
DAS GANZE FUNKTIONIERT NUR MIT EINEM NODEMCU !!
AN V+ / V- LIEGT DIE SPANNUNG DES NETZTEILS DER LAMPE AN. ALSO +12V.
EIN NODEMCU KANN ÜBER DEN VIN PIN MIT 4,5V - 20V VERSORGT WERDEN.
EIN WEMOS Z.B. NUR MIT 5V !!
DAHER NEHMT EINEN NODEMCU, ODER BAUT EUCH EINEN SPANNUNGSWANDLER EIN UM AUF EURE GEWÜNSCHTE VERSORGUNGSSPANNUNG ZU KOMMEN.Allgemeines zum Code
Der Code ist wahrscheinlich etwas umständlich und es sind bestimmt noch irgendwelche Leichen darin vorhanden. Das liegt daran das ich die Software meines Poolthermometers einfach kurz umgeschrieben habe. (MQTT, Wlan, OTA, Webinterface mit Setup,.. war da alles schon vorhanden).
Profis werden wahrscheinlich nur noch mit dem Kopf schütteln, aber das ist nur ein Hobby von mir, welches ich neben Familie, Kinder, Haus, usw. hin und wieder mache.... Ich bin ja mittlerweile auch schon etwas älter. gZum Schluss
Evtl. finden sich ja ein paar fähige Leute hier die Interesse haben die Software noch etwas zu verbessern und evtl. Bugs zu beheben.(Der Counter in der Fußzeile zählt zum Beispiel keine Tagen / Wochen, aber das stört mich im Moment nicht, weil ich da eh nie drauf schaue. )Es wäre auch schön, wenn Ihr eine kleine Resonanz hier lassen könntet, wenn's geklappt hat. Oder wenn Ihr einen Bug feststellt.
Des weiteren möchte ich hier nochmal erwähnen das ich mir das ganze hier ausgedacht und programmiert habe. Ich möchte nicht das sich damit jemand in irgendeiner Weise finanziell bereichert und es irgendwann fertige Platinen bei Ebay oder sonst irgendwo zu kaufen gibt !
Mein Arduino Programm
Siehe Github Link im 1.PostingIntexlampe_wlan.zip
Neue Version hier... -
Hi Andy. Die Module sind heute gekommen. Ich werde sie in den kommenden Tagen einbauen. Herzlichen Dank für Deine ganzen Mühen, die Du investiert hast. Ich gebe in jedem Fall Feedback, sobald ich fertig bin.
-
@Andy200877 sagte in Vorstellung meines Intex Poollampen Umbau's:
EIN NODEMCU KANN ÜBER DEN VIN PIN MIT 4,5V - 20V VERSORGT WERDEN.
Hallo,
habe mal bei ebay nach nodecmu gesucht.Die, die ich gefunden haben sagen:
bis 9 V (max 10)Gib mal einen Link wo man einen bekommt mit bis 20V
mfg
Dieter -
@bahnuhr die aussagen sind wirklich sehr wiedersprüchlich...
Der spannungswandler AMS1117 sollte eigentlich 20v können. Welche bei mir drauf sind kann ich aber nicht genau sagen. Sind ja schon verbaut und überleben auch 12v.
Aber vielleicht sollte man doch ein kleines stepdown board vor den esp hängen. 5v o.ä.
Kostet ja auch nicht sie welt. Und man könnte dafür einen kleineren wemos nehmen....Muss aber jeder selber entscheiden..
-
Hallo,
habe dein Script probiert.
Folgende Fragen:- mqtt komtt nicht an
Die Daten kommen nicht in iob an. Muss mal weiter prüfen; vielleicht klappt es ja noch. - statische IP
Ist dies möglich ?
Tasmota Software.
Kann man diese auch benutzen. Wäre einfacher für mich.
Wenn ja, was man bei den Geräteeinstellungen eingeben ?mfg
Dieter - mqtt komtt nicht an
-
So, habe es auch hinbekommen.
Wemos D1 Mini mit Spannungswandler
Tasmota auf den Wemos
Und iob-Script.Danke für die Inspiration.
mfg
-
@bahnuhr said in Vorstellung meines Intex Poollampen Umbau's:
So, habe es auch hinbekommen.
Wemos D1 Mini mit Spannungswandler
Tasmota auf den Wemos
Und iob-Script.Danke für die Inspiration.
mfg
wie hast du es mit tasmota gemacht poste mal dein script .....danke
-
@Stratos-Gkrekidis sagte in Vorstellung meines Intex Poollampen Umbau's:
wie hast du es mit tasmota gemacht poste mal dein script .....danke
tasmota drauf und bei den Geräten relay1 und relay2 gewählt.
Script um Objekte anzulegen:
Script in iob
Und in VIS sieht es dann so aus!
mfg
Dieter -
Frage per chat:
Antwort:
angeschlossen, wie oben schon vom TE beschrieben. -
Da es immer wieder mal zu Problemen mit "Arduino" gekommen ist, habe ich mal eine Bin-Datei für den Nodemcu erstellt.
Kann einfach über ESPEasyFlasher o.Ä. geflasht werden.
Folgendes habe ich festgestellt :
der Nodemcu scheint wohl Probleme zu haben, wenn der MQTT-Server ein Benutzername / Passwort verlangt. Ohne Zugangsdaten verbindet er sich.Unter "Einstellungen" gibt es die Punkte :
"Anzeige Wechselzeit (ms)", "Abfrageintervall DS18B20 (ms)" und "NTP-Server Adresse" die Punkte können getrost ignoriert werden. Das sind Überbleibsel von meinem "Pool-Thermometer Projekt" welches ich für die Poollampe nur etwas modifiziert habe.Ein Anpassen der Wlan Einstellungen ist nicht nötig, da der ESP nach dem flashen einen Accesspoint auf macht. Einfach damit verbinden und über webinterface eure wlan zugangsdaten eingeben. ( IP des ESP : 192.168.4.1)
intexlampe_wlan.ino.nodemcu.bin
Neue Version hier... -
@Andy200877
Erstmal Respekt und vielen Dank für deine Arbeit und dass du sie geteilt hast! Ich möchte das gleiche Projekt realisieren und habe schon den NODEMCU und die Lampe besorgt. Das BIN File habe ich auch bereits geladen - scheint zu funktionieren. Die Lötarbeiten kommen als nächstes.
Da ich mit dem Arduino bzw. NODEMCU aber noch blutiger Anfänger bin, würde ich gerne auch die Quelldateien verstehen und ggf. noch anpassen. Ich habe die 1595540510987-intexlampe_wlan.zip geladen, werde aber teils aus den Variablen nicht schlau
Beispiel:
"const int buttonS1 = D2" ist klar,
aber wofür wird "const int LED2 = 16" gebraucht? GPIO16 is ja ein ganz anderer als D2 oder D3....
Auch die ganzen Libraries, die über include im intexlampe_wlan.ino geladen werden, fehlen mir.Könntest Du und hier nochmal den letzten Stand deiner Quelldateien hochladen - mit Bibiotheken?? Das wäre super!
BTW auf meinem NodeMCU sitzt auch der AMS1117. Er kommt prima mit 12V klar, wird aber ganz schön heiß. Ich habe einfach einen kleinen Kühlkörper von einem RasPi Set aufgeklebt, um auf Nummer sicher zu gehen.
beste Grüße
Markus -
@gravity led pin 16 ist die led die auf dem nodemcu verlötet ist,....
Libraries kann ich später mal genau nachsehen, bzw. verlinken.
Auf anhieb fallen mir arduinojson (für config datei auf esp)
pubsubclient (mqtt) ein.Bei den variablen bekommst du mit sicherheit eine krise. Ich habe vor ein paar tagen mal begonnen fehler zu fixen. (Mqtt mit user/pass), unnötige sachen entfernt,...
-
@andy200877
..... Das wäre super - Danke!!!
Krise hin oder her - funktionieren tut es mit der .bin! Gerade im Pool in Betrieb genommenIch möchte aber die .bin auch selbst erstellen können und mich mit der Materie vertrauter machen.
Anbei ein paar Bilder von meinen Lötarbeiten nach Deiner Anleitung. -
Folgende Libraries werden benötigt um das ganze unter Arduino zu kompilieren :
- ArduinoJson (by Benoit Blanchon)
- PubSubClient (by Nick O'Leary)
- WiFiManager (by tablatronix)
Alle Libraries findet man unter Arduino unter : Menü Werkzeuge -> Bibliotheken verwalten.
Dort einfach danach suchen (nach unten scrollen) und installieren.Um einen ESP8266 mit Arduino programmieren zu können, muss unter "Datei -> Voreinstellungen" unter "zusätzliche Boardverwalter-URLs:" folgendes eingetragen werden : https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
der erste Link ist für ESP32 und der zweite für ESP8266.
In meinem Programm ist auch ArduinoOTA installiert.
Ihr könnt den Arduino damit auch direkt aus der Arduino Software heraus programmieren, wenn er im gleichen Netzwerk wie euer PC ist.... -
@andy200877
Perfekt - hab's gefunden! Vielen Dank für Deine Mühe!
Die Lampe wird mit dem NodeMCU eigentlich erst sinnvoll - wer läuft schon nachts zum Pool und drückt auf die Knöpfe :-)....!
25m Entfernung zum AP macht der NodeMCU erfreulicherweise ohne Probleme. -
@andy200877 Phantastische Lösung! Leider bin ich in der Richtung völlig unbegabt. Habe dasselbe Problem und gehofft es gäbe eine Lösung die Lampe durch "überbrücken" auf Dauerstrom zu setzen. Geht das? Sorry für so eine banale Frage!