Arduino von draußen übers Internet steuern

Hallo,

ich beschäftige mich seit einiger Zeit mit dem Arduino und nun gerne meine Wohnung über den Arduino steuern. Wichtiger Punkt ist hier aber, dass ich gerne über Internet und nicht Bluetooth steuern möchte.
Am besten auch draußen, ohne in meinem Wlan zu sein.

Beispiel: Ich will von draußen eine Lampe über ein Relais am Arduino Ansteuern.

Ich habe vieles im Netz gefunden aber noch nichts, was mir genau sagt, was ich brauche.
Sprich Webserver , SQL datei

Frage:

Was wird alles benötigt/muss ich machen oder kennen

Welche Hardware brauche ich? Lieber ein WLAN modul oder ein Ethernat Shield?
Muss ich ein Webserver haben? wenn ja kennt ihr eine gute Seite?

Danke

Ein Webserver ist keine Website.
Ein Raspberry brauchst du für ein Webserver.
SQL brauchst du nicht.
Bist du am Laptop lieber mit Kabel oder mit WLAN am Surfen?

Kurz unter Deiner Anfrage gibt es einen langen Thread zu diesem Thema.
Der wäre zum Einlesen ganz praktisch.

Gruß Tommy

Ich gehe lieber per Wlan ins Netz. Aus Platzgründen habe ich nur ein Notebook.

Das man mit dem RasPi einen Webserver machen kann, habe ich schonmal gehört.
Aber ich kann man nichts unter den Dingen vorstellen. Ich brauche eine Kurze Anleitung was alles Benötigt wird um mich dann direkt mit den Dingen zu beschäftigen.

@Tommy56 : geht es in dem Thread um ein Ethernet Shield oder ein Wlan modul ? habe noch keine Zeit gehabt es mir durchzulesen. Werde ich aber machen.

Dann kannste auch mit WLAN mit dem Arduino ins Internet.
Dann könntest du auch gleich ein ESP8266 nehmen.
Dann bräuchtest du auch kein Raspberry und keine Seite (Webserver).

iras-xtc:
ich beschäftige mich seit einiger Zeit mit dem Arduino und nun gerne meine Wohnung über den Arduino steuern. Wichtiger Punkt ist hier aber, dass ich gerne über Internet und nicht Bluetooth steuern möchte.
Am besten auch draußen, ohne in meinem Wlan zu sein.

Beispiel: Ich will von draußen eine Lampe über ein Relais am Arduino Ansteuern.

Ich habe vieles im Netz gefunden aber noch nichts, was mir genau sagt, was ich brauche.
Sprich Webserver , SQL datei

Frage:

Was wird alles benötigt/muss ich machen oder kennen

Du könntest in Deinem LAN einen Arduino mit einem geeigneten Webserver.Sketch laufen lassen. Dazu brauchst Du beispielsweise:

  • ein UNO oder MEGA2560 kompatibles Board
  • Ethernet-Shield mit W5100 Chip
    -Ethernet-Netzwerkkabel zu Deinem LAN/WLAN-Router (LAN-Anschluss) oder Ethernet-Switch-

Und wenn das Schalten dann bei Dir zuhause im Netzwerk läuft, sowohl über LAN als auch über WLAN, dann müßtest Du Dein Heim-Netzwerk über das Internet erreichbar machen, wozu Du einen "dynamischen DNS" Service benötigst.

Der bekannteste Vertreter ist DynDNS, war jahrelang kostenlos, aber verlangt inzwischen eine Jahresgebühr. DynDNS wird von vielen Routern standardmäßig unterstützt. Es gibt aber auch andere Dienste, viele ebenfalls kostenpflichtig, manche aber auch immer noch kostenlos, die werden aber von Routern meist nicht direkt unterstützt. Du müßtest also jedesmal, wenn Dein Router sich neu ins Internet eingewählt hat (also bei Providern mit 24-Stunden-Zwangstrennung alle 24 Stunden, dafür sorgen, dass Deine neue IP-Einwaladresse beim Serviceprovider für den dynamischen DNS Dienst bekanntgemacht wird. Manche Router bieten dazu eine manuelle Konfiguration für dynamische DNS-Dienste an.Manche dieser Dienste bieten PC-Dienstprogramme an, die im laufenden Betrieb die Aktualisierung vornehmen. Aber ich gehemal davon aus: Du möchtest nur einen Arduino ständig laufen haben, aber nicht auch noch einen PC als Webserver zusätzlich, der tätlich 24 Stunden läuft?

Dann könnte der Arduino nicht nur das Schalten Deines Relais übernehmen, sondern auch die Aktualisierung beim Serviceprovider der dynamischen DNS-Adresse.In dem Fall würde der Arduino mit Ethernet-Shield nicht nur als Webserver laufen und auf Anfragen reagieren, sondern er würde zusätzlich auch als Client laufen und in regelmäßigen Zeitabständen prüfen, ob sich die IP-Adresse Deines Netzwerks im Internet geändert hat, und in dem Fall diese IP-Adresse beim dynamischen DNS Provider aktualisieren. Das sollte in den "Pausen" leicht möglich sein, wenn gerade keine Schaltbefehle zu bearbeiten sind.

Netzwerkmäßig müßtest Du im Router jetzt nur noch ein Port-Forwarding einrichten, so dass von außen eintreffende Anfragen auf Port-80 (dem standardmäßigen Port für HTTP) auf Deinen Arduino-Webserver umgeleitet werden. Und dann solltest Du von überall aus dem Internet auf Deinem Arduino-Webserver genau so schalten und walten können wie aus Deinem eigenen Netzwerk heraus.

Vorsicht: Das funktioniert im allgemeinen nur bei Routern, die ihren Internetzugang über einen Festanschluß im Haus realisieren. Wenn Deine Internetverbindung über ein Mobilfunknetz aufgebaut wird, könnte es sein, dass der Mobilfunkprovider von außen eintreffende Internetverbindungen zu Deinem Router blockiert.

Was hast Du denn für eine Internetverbindung im Haus? DSL-Router an einem Festanschluss? Router mit einer LAN-Buchse zum Ethernet-Kabelanschluss? Kombinierter LAN/WLAN-Router? Oder ein reiner WLAN/WiFi-Router oder Access-Point ohne LAN-Buchse?

Hallo jurs,

Danke erstmal für deine ausführeliche Antwort. Ich weiss deine Zeit ist kostbar wie von jedem anderen. Ich bin froh eine so gute Hilfe zu bekommen.

Zu dem DynDNS Service: Es wäre kein Problem etwas zu bezahlen aber eine kostenlose Lösung ist auch in Ordnung. Am besten ein Service, wo man nicht die IP-Adresse jedesmal mitteilen muss. Du hast es schon richtig erkannt. Ich möchte nur meinen Arduino ständig laufen lassen aber nicht mein PC.

Also sollte ich am besten einen Ethernet-Shield benutzen, damit dieser meine IP-Adresse an den Provider sendet oder kann ich auch ein ESP8266 nehmen? Für mich ist wichtig, das es leicht zu verwirklichen ist.
Falls es mit dem Ethernet Shield einfacher ist, dann machen ich es so. Das Wlan Modul hat wohl einen schwierigeren Code glaube ich.

Port freigeben ist kein Problem.

Zu deiner Aussage " Vorsicht": Ja ich würde auch gerne aus dem Mobilfunknetz auf mein Arduino zugreifen wollen.

Ich habe VDSL 50.000
Ich habe eine Ganznormale EasyBox "Schande über mein Haupt" und leider keine Fritzbox.
Dieser LAN/WLAN Router ist ganz normal an einer TAE-Daose angeschlossen.

Ich würde gerne eine Verbindung zwischen Arduino und Router über Wlan herstellen falls nötig, könnte ich auch einen Steckdosen Repeater nutzen um über RJ45 sprich LAN ins Netz zu kommen.

hi,

es geht nicht darum, daß Dein provider die IP-adresse des arduino bekommt, sondern daß Deine (wechselnde) adresse, die Du von Deinem provider bekommst, über einen alias-namen immer erreichbar ist.

beispiel: Du bekommst heute von Deinem provider die IP-adresse 74.116.24.11 zugewiesen. mit dieser adresse kommst Du weltweit von außen zu Deinem router.
morgen bekommst Du aber 74.116.26.130. feststellen, welche adresse Du gerade hast, kannst Du nur zuhause, wenn Du in Deinen router schaust oder von zuhause zb. whatismyip.com aufrufst.

lösung: Du nimmst bei einem dynDNS-dienst ein alias wie zb. iras-xtc.dyndns.com. jedesmal, wenn sich Deine IP-adresse ändert, gibt Dein rouer bei dynDNS bekannt, wie Deine momentane IP-adresse lautet. und wenn Du dann irgendwo im internet iras-xtc.dyndns.com aufrufst, leitet Dich der dynDNS-dienstleister weiter auf Deine richtige, momentane IP.

gruß stefan

Also sollte ich am besten einen Ethernet-Shield benutzen, damit dieser meine IP-Adresse an den Provider sendet oder kann ich auch ein ESP8266 nehmen?
[/quote]

Was Du besser/leichter programmieren kannst. Gute Kenntnisse des HTTP-Protokolls sollten zur Programmierung von DynDNS Updates ausreichen.

Ja ich würde auch gerne aus dem Mobilfunknetz auf mein Arduino zugreifen wollen.

Ja, ist schon klar. Wenn Du in Deinem Heim-Netzwerk einen DynDNS-Dienst an einem Festnetz-fDSL-Router am Laufen hast, kannst Du mit jedem Client-Gerät, das eine Internetverbindung hat, darauf zugreifen.Von anderen Heimnetzen mit DSL-Router. Von einem mobilen Endgerät aus, das über "mobile" Daten aus dem Mobilfunknetz zugreift. Oder mit Deinem Smartphone aus, das im WLAN an der Strandbar am Mittelmeer eingebucht ist, während Du im Liegestuhl abhängst und die Füße im Meer baumeln hast.

Alles kein Problem, solange Du einen am Festnetz angeschlossenen Router hast.

Problematisch ist nur diese Konfiguration:
Du hast überhaupt keinen Festnetzanschluss.
Sondern nur ein Smartphone mit Internetzugang über das Mobilfunknetz und "Mobile Daten", und Du stellst ein WLAN mittels "Tethering" her. So dass Dein Heimnetz seine Internetverbindung nicht über einen Festnetz-SDL-Router hat, sondern nur über "mobile Daten aus einem Mobilfunknetz. In dem Fall blockieren viele Mobilfunk-Netzbetreiber die von außen (aus dem Internet) eingehenden Verbindungen auf Dein Heimnetzwerk.

hi,

wenn Du bei google nach "arduino dyndns updater" suchst, findest Du einiges. scheint recht einfach zu sein, zb.

https://forum.arduino.cc/index.php?topic=369600.0

einen linux-receiver wie dreambox oder vu+ hast Du wohl nicht? da gibt's das fertig als plugin und die dinger laufen ohnehin ständig zumindest auf standby.

gruß stefan

Als DynDNS Ersatz kann ich dnshome.de empfehlen. Der Service ist kostenlos, aber man kann was spenden (mache ich so einmal im Jahr). Keine Werbung nur ab und an mal eine Mail die mitteilt das man noch Services bei denen hat. Man kann beliebig viele dynamische DNS Einträge haben.

hi,

danke für den tip. ich selbst hab' zwar einen asus-router, da ist dyndns inkludiert (und wie einfach: im super zu bedienenden graphischen router-setup nur Deinen wunschnamen angeben, zb. eisebaer, auf nen button klicken, und Du bist eisebaer.asuscomm.com). klingt wie werbung, und ist durchaus eine empfehlung. :slight_smile:

ich werd' aber natürlich immer wieder mal in der firma nach dyndns gefragt, und da isses gut, wenn man was mit erfahrungsbericht hat...

gruß stefan

PS: mit dynDNS-ersatz ist ersatz für dyndns.org gemeint. dnshome ist kein ersatz für einen dynDNS-server, sondern ist einer.

Hi, leider habe ich keine Linux Receiver
aber ich habe mal in meinem Router nachgeschaut, nachdem du das mit deinem Router erwöhnt hast
und sehe da:

hi,

naja, siehe da ist übertrieben. das gibt es auf jedem router. allerdings ist dyndns.org wie gesagt nicht kostenlos. klapp' mal das feld auf und laß uns sehen, welche server da sonst noch drinstehen. oder kannst Du sogar was eigenes eintragen?

gruß stefan

Nach meinem letzten Kenntnisstand hat Vodafone keine kostenlosen dynamischen DNS hinterlegt

Nur so als Tipp, ich würde kein Bild posten auf dem eine IP und der Softwarestand zu sehen ist. Naja wenigstens die IP sollte sich seitdem wieder geändert haben.

Moin,
bin gerade auf der Arbeit und dannach noch Abendschule.
Werde es heute wahrscheinlich nicht mehr schaffen aber ich kann man noch an einen Abieter erinnern" no-ip".

Danke für den Tipp, darauf habe ich schon geachtet :wink:

Hab beim Betreiber von dnshome.de nochmal nachgefragt. Den Update-Request kann man auch ohne SSL, also http:// statt https:// machen. Kennt man die eigene aktuelle IP nicht, dann wird die IP eingetragen von welcher der Request kommt. Damit ist ein Update super einfach auch vom Arduino direkt aus.
Entspricht dann im wesentlichen dem HTTP-Client Beispiel der IDE.

Ich glaub ich schreib da mal nen kleinen Blogbeitrag zu.

Mario.

Bin zurzeit auf der Arbeit und werde es heute nicht mehr schaffen in meinen Router zu schauen aber ich meine "no-ip" wäre auch drin gewesen.

und danke für den Tipp aber darauf habe ich schon geachtet :wink:

TZO und selfHOST war auch noch dabei

hi,

selfhost hat freies dynDNS, wenn ich mich recht erinnere...

gruß stefan