Krautkanal.com

Veröffentlicht am 2017-06-05 17:49:25 in /c/

/c/ 218861: Suppe Bernd, ich versuche ein kleines Projekt umzuset...

okcoker Avatar
okcoker:#218861

Suppe Bernd,
ich versuche ein kleines Projekt umzusetzen, aber benötige etwas Hilfe, da Bernd eher so der Hartwarentyp ist.

Bernd möchte eine Webseite erstellen, die lediglich ein Login-Feld enthält. Bei korrektem Login soll sich eine neue Seite öffnen, die einen Button enthält. Bei Druck dieses Buttons soll ein Befehl an Bernds Router gesendet werden, der dann anhand des Port erkennt, dass das Ganze zum einem WLAN-Chip/µC des Modells ESP8266 geschickt werden soll. Sobald der ESP8266 den Befehl hat ist Bernd wieder in seinem Element, aber alles davor ist etwas Neuland.

Bisher hat Bernd sich lediglich einen freien Webhoster ausgesucht und eine index.html erstellt.

Wie am besten vorgehen? In PHP einarbeiten wie man einen Button/ein Login-Feld erstellt und das ganze dann mit einem hartcodiertem Passwort in einer vom Internetz nicht lesbaren Datei vergleicht? Sicherheit ist dabei nicht so wichtig. Bernd möchte keine Zertifikate erstellen.

Hilfe, Expertenbernd :3

jeremyworboys Avatar
jeremyworboys:#218865

>>218861
> Befehl an Bernds Router gesendet werden, der dann anhand des Port erkennt, dass das Ganze zum einem WLAN-Chip/µC des Modells ESP8266 geschickt werden soll

Meinst du also eine Art Portknocking?
Dazu müsste dein Router aber offen sein damit du selber Programme drauf laufen lassen kannst.
Ich würde es viel einfach machen und einfach ein Port am Router öffnen und dahinter ein Webserver betreiben, entweder direkt auf dem ESP oder ein extra auf einem RPi oder so.
Damit kannst du dir auch den Webserver beim Webhoster sparen, machst dir einfach eine Domain per DynDNS.

Ich mache es selber so:
Webserver in einer VM auf meinem Heim-Server auf dem auch ein MQTT-Broker läuft.
Port-Weiterleiung am Router von Port 8558 auf Port 80 für den Webserver.
Auf dem Webserver eine kleine Seite An/Aus Stehlampe usw.
Die Seite kann dann von außen erreicht werden per dyn. DNS und Port 8558.
Abgesichert stinknormal per htaccess.
Die Befehle laufen dann über MQTT an verschiedene Aktoren wie z.B. auch ein ESP8266 oder ein RPi der alle Funksteckdosen anfunken kann.
MQTT geht super einfach über JS und Websockets sogar ohne PHP, siehe:
http://blog.ithasu.org/2016/05/enabling-and-using-websockets-on-mosquitto/

subburam Avatar
subburam:#218866

So als Tipp, ist es per SMS einfacher und verfügbarerer?
Sonst ist .htaccess ziemlich gut dafür, da klein und save.

guischmitt Avatar
guischmitt:#218890

>>218865
Bernd hat natürlich viel zu kompliziert gedacht. Ich werde versuchen einen Webservierer auf den ESP zu bringen. Danke für die Tipps. Chip kombt in ein paar Tagen :3

m_kalibry Avatar
m_kalibry:#218893

>>218890
Webservierer auf dem ESP ist kein Problem, sogar sehr einfach wenn du mit Arduino programmierst, da ist schon ein Beispiel-Projekt für ein Webserver dabei.
Hatte früher selber auf dem ESP ein Webserver laufen, der mir die Sensoren-Werte angezeigt hat, bevor ich auf MQTT umgestiegen bin.

joshclark17 Avatar
joshclark17:#218902

>>218893
Es war wirklich sehr einfach, danke Bernd. Innerhalb von 5 Minuten hatte Bernd einen Servierer am laufen mit Login-Seite und Keksen, erreichbar aus dem Internetz über Port 8558, ohne wirklich Ahnung davon zu haben.

Und kurze Zeit später klappte es auch mit einem Button hinter dem Login, der die LED zum Aufleuchten bringt.

Benutze wahrscheinlich Konstrukte, für die mich Vorderendeprogrammierbernd steinigen würde, aber es funktioniert :3

"Nach dem Login gibts nen Button mit <form method=\"get\" action=\"/button?BUTTON=YES\"><button type=\"submit\">Heh</button><br><br><br><br><br><br>";
Ein Klick darauf ruft die Seite /button auf, die eine Globale buttonWasPressed = true setzt und die Seite neu lädt. In der void loop() wird geprüft ob buttonWasPressed = true ist, wenn ja mach was, warte kurz und setze sie wieder auf false.

t. Experten-Webdesigner

christauziet Avatar
christauziet:#218904

>>218902
Freut mich zu hören dass es so gut geklappt hat :)
Und solange es funktioniert es es eh egal wie es funktioniert im Privatbereich.

starburst1977 Avatar
starburst1977:#218914

>>218902
> erreichbar aus dem Internetz über Port 8558

>>218904
> solange es funktioniert es es eh egal wie es funktioniert

Genieße dein Roboternetz.

giuliusa Avatar
giuliusa:#218916

>>218914
Wenn man keine Ahnung hat, einfach mal Fresse halten.

Neuste Fäden in diesem Brett: