Für mein Projekt möchte ich den ESP32 als AccessPoint verwenden um ihn über eine WebApp zu steuern, aber es gibt einige Detailfragen die ich noch nicht klären konnte.
Das ESP32 soll:
Als eigener Access Point funktionieren - mit Netzwerkname und Passwort
Das Smartphone soll:
über das Heimnetzwerk, oder mobiles Internet eine Web App öffnen
über die Web App automatisch eine WLAN-Verbindung zum ESP32 herstellen
Der Netzwerkname und PW sollen in der Web App gespeichert sein.
die Verbindung zum Heimnetzwerk aufrechterhalten
Fragen:
Kann sich das Smartphone über eine WebApp automatisch an den WLAN-Access-Point des ESP32 verbinden?
Kann das Smartphone währenddessen die Verbindung zum Heimnetzwerb aufrechterhalten?
Vor gar nicht allzulanger Zeit habe ich mir da selbst etwas gebaut.
Und zwar einen ESP32, der einen Hotspot aufbaut und sobald ich mich mit dem Handy (automatisch) verbinde, eine Webseite starte.
Das nennt sich dann "Captive Portal".
Den Anfang des Ganzen kannst Du in diesem Thread lesen. Die Sources dazu gibt es dann im dort verlinkten GitHub.
Leider geht tatsächlich Dein Punkt "2" nicht. Nicht nur kann sich das Telefon nicht mit zwei Hotspots zeitgleich verbinden, bist Du in dem WiFi, hast Du auch keine Datenverbindung über das Mobilfunknetz.
Diese App soll auch für Technik-Unerfahrene möglichst einfach bedienbar sein.
Dann wäre eine BLE (Bluetooth Low Energy) Verbindung wohl sinnvoller, richtig?
Fällt euch noch eine andere Möglickeit ein wie man ein Gerät mit dem Smartphone über eine Webapp steuern kann?
Mir ist gerade eine Idee eingefallen. Könnte man den ESP32 (Als Backup, wenn Bluetooth nicht funktoniert) über den Audioausgang steuern?
Wäre das denkbar?
Oha, ich wusste bisher nicht, dass WebApps theroetisch auch Bluetooth (LE) können!
Schaut interessant aus, jedoch kann ich hierbei noch keinerlei Input geben.
Möglichst einfach und Klinkenstecker in einem Kontext? Wie viele Smartphones haben diesen denn überhaupt noch? iPhones und Samsungs jedenfalls nicht mehr.
Weshalb es nicht hunderten Geräten gleichtun, die ähnliche Features bereits bieten?
Sei es nun eine steuerbare Glühbirne, ein WiFi Repeater oder IoT Gerät.
Wird das Gerät das erste Mal aktiviert, so stellt es einen Hotspot bereit. Mit diesem muss man sich einmalig verbinden und kann dann über das Captive-Portal Einrichtungen vornehmen.
Z.B. die Daten seines Heimnetzes dort eintragen.
Ab diesem Zeitpunkt, wechselt der ESP vom AP Modus ins Heimnetzwerk und der Anwender kann wieder im Internet surfen und per WebApp auf das Gerät zugreifen.
Ein Fallback könnte dann natürlich wieder den AP starten, wenn der ESP AdHoc das Heimnetzwerk nicht findet oder sich das Passwort geändert hat.
Hier sehe ich die Frage eher so: Wo soll denn die WebApp liegen und von wo wird diese gestartet?
Weshalb keine "richtige App", die sowohl WiFi als auch Bluetooth kann?
Ansonsten: Auf die Entfernung, wo BT funktioniert, ist's für den User sicher gesünder, wenn er seinen 2 Krautstampfern den Befehl gibt, seinen Knödelfriedhof vom Sofa zu wuchten und mit seinen Wurstsemmelhaltern ein paar physische Taster zu drücken. Wall-E läßt grüßen
Wenn das Gerät funktioniert wie erhofft, möchte ich die Geräte verleihen.
Ein integriertes Touchdisplay ist in meinem Fall nicht so gut, weil es in Zukunft Updates in der Steuerung geben wird und ich dann nicht immer einen physischen Zugriff auf die Geräte habe um sie upzudaten. Deshalb die Überlegung einer App/Web App.
WebApp deshalb, weil ich es möglichst einfach benutzbar machen möchte (auch für Nicht-Technikaffine): QR-Coda am Gerät bzw URL -> und schon ist die Steuerung am Smartphone
Derfips:
Wenn das Captive Portal zu Technisch fürs Volk ist, bliebe noch WPS!
Danke für die Idee,
Diese funktioniert aber nur dann, wenn es ein WLAN-Netzwerk gibt, richtig? Also, das wäre dann auch nicht massentauglich.
Könnte es sein, dass die BLE-Berbindung die beste kabelungebundene Lösung ist?
scharfet:
WebApp deshalb, weil ich es möglichst einfach benutzbar machen möchte (auch für Nicht-Technikaffine): QR-Coda am Gerät bzw URL -> und schon ist die Steuerung am Smartphone
Das würde ja bedeuten, dass Du die WebApp irgendwo selbst hosten müsstest.
Da sei einfach mal CSS (CrossSiteScripting) in den Raum geworfen, was je nach Browser durchaus problematisch werden könnte.
Internetverbindung vorausgesetzt.
Änderungen an der Oberfläche würden die Nutzer auch verwirren, wenn es gestern noch so, heute anders ist.
Wie erkennt die Oberfläche, welches Gerät es in der Nähe suchen soll? (Unabhängig ob jetzt BT oder WiFi)
Wie werden Versionsunterschiede erkannt? Ein Gerät war schon wieder bei Dir und hat eine neue Firmware erhalten.
Für mich werfen diese ganzen Fragen nur noch mehr Fragen auf! Und die Komplexität ist nicht zu unterschätzen!
Dazu kommt, dass jeder Anwender nachher ein anderes Endgerät verwendet (Android, iOS, Laptop, Tablet, etc.).
Daher würde ich mich bei all dem Aufwand fragen, weshalb die Oberfläche (aber nicht das tatsächliche Endgerät) laufend optimiert/verändert werden sollte!
Macht es nicht mehr Sinn, die Geräte zu updaten, wenn sie wieder zu Dir kommen?
Ob BLE in Kombination mit WebApps die Lösung ist, kann ich Dir nicht sagen. Habe es noch nicht ausprobiert. Die Hürde sehe ich bei der Kompatibilität. Bisher habe ich immer nur von Chrome gelesen.
Das würde ja bedeuten, dass Du die WebApp irgendwo selbst hosten müsstest. ...
Da sei einfach mal CSS (CrossSiteScripting) in den Raum geworfen, was je nach Browser durchaus problematisch werden könnte.
Ja, das mache ich. Ist aber nicht zwingend notwendig. Es gibt eine tolle möglicheit einfache Apps und WebApps kostenlos per Drag & Drop selber herzustellen, ohne großes Prgrammierwissen. www.appgyver.com
Die Webapps könnte man dort hosten lassen oder selber organisieren.
Änderungen an der Oberfläche würden die Nutzer auch verwirren
Nicht wirklich. Es sollen sich nur die Auswahlmöglichkeiten mit der Zeit erweitern. Das Design bleibt immer gleich.
Macht es nicht mehr Sinn, die Geräte zu updaten, wenn sie wieder zu Dir kommen?
Das ist aus oragnisatorischen Gründen schwierig bis unmöglich.
Ob BLE in Kombination mit WebApps die Lösung ist, kann ich Dir nicht sagen. Habe es noch nicht ausprobiert. Die Hürde sehe ich bei der Kompatibilität. Bisher habe ich immer nur von Chrome gelesen.
Ja, das ist die entscheidende Frage. Falls ich es schaffe werde ich das im Forum posten.
Nur noch einen Tipp am Rande. Da Du die App verleihen willst, trittst Du gewerblich auf (das wird sehr weit gefasst) und bist verantwortlich für die Einhaltung der Datenschutzbestimmungen (DSGVO) auch für die Dienste, die Du nutzt (Hosting), wenn Du personenbezogene Daten erhebst. Die IP ist auch ein personenbezogenes Datum.
Du brauchst mit denen entsprechende Verträge.
Das kann sonst sehr schnell sehr teuer werden.
scharfet:
Es gibt eine tolle möglicheit einfache Apps und WebApps kostenlos per Drag & Drop selber herzustellen, ohne großes Prgrammierwissen. www.appgyver.at
Der Link funktioniert, der Text stimmt nicht (at → com).
Hast Du das schon mal ausprobiert? Geht das wirklich so einfach, wie es dort beschrieben wird?
Für Animationen verwende ich übrigens gerne FastLED, weil da auch HSV als Farbraum möglich ist.
Hast Du das schon mal ausprobiert? Geht das wirklich so einfach, wie es dort beschrieben wird?
Ja, ich konnte ein Ansprechendes GUI erstellen, obwohl ich vor ein paar Wochen wusste was eine GUI üerhaupt ist.
Es gibt ganz gute 2-3 Minütige Video-Tutorials mit deren HIlfe ich dann Funktionen wie If else, usw ohne Programmierkenntnisse erstellen konnte. Ich musste mich schon erst zurechtfinden, es hat auch etwas gedauert, aber ich habs geschafft. Ich bin zufrieden und würde es wieder so machen.
Und es soll irgendwann möglich sein third party plugins zu integrieren. Damit würden sich die Möglichkeiten noch stark erweitern.
Der Link ist korrigiert.
scharfet:
Ja, ich konnte ein Ansprechendes GUI erstellen, ...
Danke für den Link und die Antwort!
Ich wollte für meine LED-Animationen von IR-Fernbedienung auf Smartphone wechseln, bin aber wie Du über die eine mögliche Verbindung gestolpert. Mit Webseite und Router (Fritz!Box) geht es. Eine App wollte ich dann doch nicht programmieren, eventuell ist der finnische Weg ein möglicher
agmue:
Eine App wollte ich dann doch nicht programmieren, eventuell ist der finnische Weg ein möglicher
Der Finnische Weg ist zum einen noch etwas aufwändig für deinen Fall und die Verbindung zu WLAN/Bluetooth ist im Moment noch nicht möglich.
Ich glaube ich habe was passendes für dich.
Schau dir mal Blynk näher an.. Get started with Blynk
Das ist wirklich eine einfach App zur Steuerung von verschiedensten Microcontollern, (über WLAN, Bluetooth, BLE, Ethernet, GSM, USB) alles möglich.
Aber Achtung, auf dem iPhone geht Bluetooth nicht, statdessen aber BLE! Ich wusste das nicht und hab deshalb das falsche Transceiver-Modul gekauft.