Forum: Mikrocontroller und Digitale Elektronik Wie verbinde ich den ESP8266 denn jetzt mit dem Internet?


von Tim  . (cpldcpu)


Lesenswert?

Nach ersten Spielereien mit dem ESP8266 fällt auf, dass es zwar einfach 
ist, im lokalen Netz Verbindungen herzustellen, wenn man aber von 
Außerhalb auf den ESP8266 zugreifen will, oder gar auf mehrere ESP8266 
gleichzeit steuern will, tauchen schnell Probleme auf. Ohne jetzt auf 
einzelne Lösungsmöglichkeiten einzugehen, kommt man kaum darum herum, 
einen zusätzlichen Server einzurichten.

Meine Frage ist jetzt, was es an brauchbaren fertigen Lösungen gibt? Auf 
einen selbstgehosteten lokalen Server würde ich lieber verzichen - dann 
kann man auch gleich bei den NRF24L01 bleiben. Also etwas im Internet? 
IoT ist nicht so einfach wie es klingt...

Es scheint einige Start-Ups zu geben, die sich der Problemstellung 
angenommen haben:

1) http://www.nearbus.net/
2) http://ubidots.com/
3) https://www.yaler.net/
uvm...

Hat jemand Erfahrungen mit diesen? oder noch weitere Ideen?

Insbesondere IFTTT-Integration fände ich interessant. Habe bisher nur 
schreckliche Frickellösungen gefunden, bei deinen ein Mail-Account über 
POP3 gepollt wurde. Vielleicht ja gleich IRC oder Twitter, wie die 
ganzen Botnetze?

: Bearbeitet durch User
von Michael (Gast)


Lesenswert?

Ich suche noch nach einer einfachen Lösung, wie man regelmäßig ein paar 
Messdaten zum eigenen Webauftritt (Webserver) übertragen kann. Als 
kleine Textdatei, die man dann serverseitig mit einem kleinen Php-Script 
auswertet.

von Lars R. (lrs)


Lesenswert?

@Tim:
Zunächst benötigst Du Deine Internet-IP-Adresse. Da diese sich häufig 
ändert, gibt es folgende Möglichkeit:
http://www.pcwelt.de/ratgeber/DynDNS-Alternativen-kostenlos-5680355.html

Dann folgt:
a. Variante wenig sicher:
An deinem Internet-Router benötigst Du eine Portfreigabe. Für die 
Fritzbox schaut das zB so aus:
http://avm.de/nc/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/34_Portfreigaben-fuer-eingehende-Internetverbindungen-einrichten/

b. Variante sicher:
Auf Deinem Internet-Router läuft ein VPN-Server (Virtual private 
Network). Mit dem verbindest Du Dich von ausserhalb mit einem VPN-Client 
und bist dann direkt bei Dir zu Hause im lokalen Netz mit den 
ESP8266-Modulen

Auch das kann wohl die Fritzbox.

Eventuell gibt es auch für Variante a. noch eine Möglichkeit der 
Authentifizierung.

@Michael
Eine einfache Möglichkeit ist eine (nicht-öffentliche) Webseite mit 
Formular auf dem Webserver (z.B php). In das Formular kannst Du 
Messdaten eintragen, die das php-Script auf dem Server speichert.

Dann lässt Du das ESP8266 per HTTP-Client das Formular "ausfüllen".

Falls die Übertragung nur im Klartext möglich ist, gibst Du ESP8266 und 
dem php-Script eine Liste mit 256-Bit-Werten (beide die selbe Liste). 
Das ESP8266 überträgt beim "Ausfüllen" des Formulars auch einen solchen 
Wert und das php-Script weiß, dass Dein ESP8266 das Formular 
"ausgefüllt" hat. Oder es wird ein Schlüssel auf Basis von Tag, Stunde 
und etwas Salt (http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29) 
berechnet. Das Salt kennen PHP-Script und ESP8266-Modul

...Und natürlich File-Upload per "Formular"

: Bearbeitet durch User
von Michael (Gast)


Lesenswert?

Hallo Lars,
habe ich das jetzt richtig verstanden: Wenn der ESP Messwerte zum Senden 
hat fordert er die nichtöffentliche Formularseite an, trägt die Werte 
ein und schickt die Seite zurück zum Server, wo dann der Formularinhalt 
via Php ausgewertet wird ?
Die Datenübertragung soll unbedingt vom ESP ausgehen/angestoßen werden.

von Lars R. (lrs)


Lesenswert?

Ich hatte es anschaulich dargestellt. Das ESP8266 muss die Formularseite 
nicht erst abholen. Es kann gleich die Formulardaten schicken.

Es kommt darauf an, was der Server und Dein php-Scipt/cgi-Script 
unterstützt.
Formular:
. http://de.selfhtml.org/servercgi/cgi/formularverarbeitung.htm

Ganze Files:
. http://aktuell.de.selfhtml.org/artikel/php/php-uploadcheck/
. Webdav / Http PUT


Edit: Link bei Formular korrigiert.

: Bearbeitet durch User
von Jack M (Gast)


Lesenswert?

Hallo Michael,
ich habe das so gelöst, dass der ESP ein PHP-Skript aufruft und die 
Parameter per GET überträgt. Das PHP-Skript schreibt die übergebenen 
Parameter dann in eine Textdatei.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

@Tim: Ist Deine Frage beantwortet?

Lars R. schrieb:
> b. Variante sicher:

Das scheint mir die pragmatischste und gleichzeitig sichere Lösung zu 
sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.