PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Rolläden steuern



stepbystep
30.10.2020, 20:00
Hallo zusammen,
möchte mehrere Rolläden steuern das jeweils mit einem ESP32 mit Webserver pro Fenster

Über eine zentrale Web-Steuerseite schalte ich manuell:
....
<A HREF="http://192.168.178.76/H">Fenster 1 hoch</A><BR>
<A HREF="http://192.168.178.76/L">Fenster 1 runter</A><BR>
<A HREF="http://192.168.178.77/H">Fenster 2 hoch</A><BR>
<A HREF="http://192.168.178.77/L">Fenster 2 runter</A><BR>
...

wobei jetzt jedes mal die Webseite des ESP32-Webserver aufgeht und meine Web-Steuerseite verdrängt!

Meine Fragen:
Wie kann ich die Kommandos über die Steuerseite absetzen ohne dass der ESP32 Webserver sich im Browser in den Vordergrund drängt? Am liebsten soll er nur schalten und sich nicht melden.

Sollte ich statt mit Webserver lieber mit SSH arbeiten? Möchte aber die lokale Licht und Temperatur pro Fenster abfragen können.

Letztendlich soll diese Handbetätigung später von einem Raspi automatisch je nach Uhrzeit und Lichteinfall pro Fenster ersetzt werden. Dieser setzt dann auch z.B. "192.168.178.77/L" ab.

Gibt es eurer Meinung nach bessere und auch einfache Möglichkeiten?

Danke

Moppi
30.10.2020, 20:17
Hallo zurück!



... wobei jetzt jedes mal die Webseite des ESP32-Webserver aufgeht und meine Web-Steuerseite verdrängt!


Eine Webseite geht nicht einfach so auf. Sondern nur, wenn der Browser eine Anfrage an den Webserver sendet und dieser eine Webseite zurückschickt.
Das wird wohl das Problem sein: "192.168.178.77/L"
Damit rufst Du praktisch eine Webseite "L" ab, der Webserver sendet dann was zurück. Das kann ein "404"-Fehler sein oder was anderes. Und damit ist die vorherige Seite im Browser weg. Die letzte Seite, die im Browser angezeigt wurde, muss dann noch mal geschickt werden. So würde ich das jetzt sehen, wenn so ganz pauschal gefragt wird.

Der Webserver muss anders programmiert werden. Vielleicht genügt eine kleine Änderung im Programm.



MfG

Rabenauge
31.10.2020, 02:25
Ich würd das Ganze per MQTT machen.
Da du ja ohnehin weitere Funktionen einbauen willst, bietet es sich an- MQTT ist genau dafür gemacht.

HaWe
31.10.2020, 09:39
wenn du es unbedingt so machen willst, mit je 1 Website pro Rolladen, ok, aber da kann ich dir leider nicht helfen.
Ich selber habe es anders gelöst:
1 esp8266 als Server, der zum einen eine Website mit Buttons für alle Aktoren aufbaut (per Mausbuttons),
und zum anderen mit esp8266-Clients verbunden ist, die die lokalen Aktoren schalten.
Das ganze geht dann mit den einfacheren esp8266 WifiServer- bzw. Webserver-Libs.

Die esp-Server-IP bekommt außerdem eine statische url zugewiesen, sodass die Website nicht nur per WiFi, sondern auch per Mobilphone von unterwegs und jedem anderen PC auf der Welt erreicht werden kann.

Moppi
31.10.2020, 09:54
Er hat offenbar schon eine Webserver-Lösung, will aber den ESP32-Webserver einbinden. Genau wissen wir das aber nicht, er sagt darüber nichts. RasPi halte aber auch für übertrieben. Aber vielleicht hat er den schon im Einsatz? - Wer weiß das schon.

MfG

HaWe
31.10.2020, 10:07
Er hat offenbar schon eine Webserver-Lösung, will aber den ESP32-Webserver einbinden. Genau wissen wir das aber nicht, er sagt darüber nichts. RasPi halte aber auch für übertrieben. Aber vielleicht hat er den schon im Einsatz? - Wer weiß das schon.

MfG

oh, das mit dem Raspi habe ich wohl überlesen (selbst jetzt finde ich nichts dazu) - aber wenn esps mit einem Raspi verbunden werden sollen, dann gebe ich dir Recht, dann wäre MQTT der sinnvollste Weg.

stepbystep
31.10.2020, 11:04
wenn du es unbedingt so machen willst, mit je 1 Website pro Rolladen, ok, aber da kann ich dir leider nicht helfen.
Ich selber habe es anders gelöst:
1 esp8266 als Server, der zum einen eine Website mit Buttons für alle Aktoren aufbaut (per Mausbuttons),
und zum anderen mit esp8266-Clients verbunden ist, die die lokalen Aktoren schalten.
Das ganze geht dann mit den einfacheren esp8266 WifiServer- bzw. Webserver-Libs.

Die esp-Server-IP bekommt außerdem eine statische url zugewiesen, sodass die Website nicht nur per WiFi, sondern auch per Mobilphone von unterwegs und jedem anderen PC auf der Welt erreicht werden kann.

Wie sendest du die Kommandos vom Server ab? Würde da gerne einen Raspi-Zero nehmen

MQTT werde ich mir definitiv ansehen und hoffe dass das nicht zu ein großer Brocken zum lernen ist.

Möchte nicht von außerhalb die Rolläden schalten.

Viele Grüße

Moppi
31.10.2020, 11:14
Hier hatten wir mal an was Einfachem gearbeitet, da kannst Du mal reinschauen. Code, warum, wie weshalb:


https://www.roboternetz.de/community/threads/74178-html-Code-für-virtuelles-website-Button-Pad/page9?highlight=keypad


Da es etwas durcheinander ist, hier ein kompletter Code als Beispiel:
https://www.roboternetz.de/community/attachment.php?attachmentid=34441&d=1572621346


Und hier ein Video dazu:



https://youtu.be/yWqrUk5nDK4




MfG

HaWe
31.10.2020, 11:46
mit Raspi mache ich kein IoT und habe daher selber keine MQTT Erfahrung, sorry, und mit ESP32 habe ich auch WiFi/Web-Code-Probleme:
esp8266-Code funktioniert nach dem Portieren auf ESP32-Libs nicht mehr, habe es mehrfach probiert.
Solltest du aber an reinem esp8266 Code ohne MQTT interessiert sein, gebe ich dir gern einen Link auf Anfrage.

stepbystep
04.11.2020, 21:54
Hallo,
habe heute zum ersten Mal GPIO's am ESP32 und am ESP8266 per MQTT geschalten. Das ganze per Mosquitto vom Raspi 3B aus der Konsole. Jetzt will ich die Logik zum schalten (Abhängigkeiten, Zeit, Licht, Temperatur) der Microcontroller in ein C++-Programm auf dem Raspi bringen. Eigentlich muss ich dazu nur die Kommandozeilenbefehle vom C++Programm aus absetzen, oder?
Gerne würde ich aber nicht nur schalten sondern auch lesen zum Beispiel Temperaturen und Lichtstärke von anderen MQTT-Teilnehmern.
Erfinde ich das Rad da neu? Sollte ich mit Note Red arbeiten? Würde das aber gerne selber programmieren. Soll ich vielleicht einen ESP32 als Broker nehmen da dort besser die "Aktoren" zu programmieren sind als vom Raspi?
Kennt Ihr Beispielprogramme für Raspi?
Oje, alles Fragen die mich beschäftigen.
Gerne nehme ich Tipps entgegen.

Moppi
05.11.2020, 07:39
Hallo,

"Eigentlich muss ich dazu nur die Kommandozeilenbefehle vom C++Programm aus absetzen, oder?"
Wenn es bereits von der Kommandozeile aus funktioniert, ja. Hauptsache der ESP bekommt die Befehle zugestellt.

Hier gibt es ein Tutorial zu der Geschichte: https://smarthome-blogger.de/tutorial/esp8266-mqtt-tutorial/
Vielleicht kannst Du dort was Nützliches rausziehen.


MfG

stepbystep
05.11.2020, 08:06
Danke,
dann geh ich mal auf die Suche nach einem Python Script - lieber wäre mir C++ gewesen.
Werde hierzu mal ein neues Thema hier im Forum erstellen.

stepbystep
06.11.2020, 08:46
Hätte noch eine Frage hierzu.
Welche fertig zu kaufenden Aktoren gibt es die ich dann über meine Konfiguration:Raspi/Mosquitto/python-paho-Programm ansteuern könnte?
Habe zwar einen funktionierenden Aufbau mit ESP32, Doppelrelaismodul, Minitrafo 5V DC welcher aber ziemlich Einbauraum benötigt und auch sein Geld kostet.
(Warnhinweise nicht nötig, Elektronische Ausbildung vorhanden).

Danke!