keine statische IP, wie Verbindung aufnehmen?

Hallo,
wie einige mitbekommen haben, fummel ich gerade an Arduino & Internet. Ist ja
alles schön und gut, aber wie bekomme ich eine Verbindung zum Arduino- wenn
die IP nicht bekannt ist? Ich habe keine statische IP.

Nun habe ich mir gedacht, das mit einem GSM-Modul zu erledigen.
Diesem Modul sende ich einen SMS, dann holt sich das LAN-Modul die IP und übegibt
sie an das GSM-Modul. Dieses sendet mir dann die IP und mit dem SmartPhone rufe ich
dann die IP wiegehabt auf.Das hier ist sehr gut dokumentiert.

und das soll Arduino "können"

Wäre das eine Lösung?
Kann mir mal jemand ganz grob den Unterschie zwischen SIM8xx, 9xx erklären?
Gruß und Dank
Andreas

Welche IP meinst Du denn überhaupt?

a) Die lokale IP in Deinem Heimnetz? Die kann man fest legen (im Sketch oder im DHCP-Server) und das ist auch die einzige IP, die das LAN-Modul kennt.

b) Die IP, die Du von Deinem Provider bekommen hast? Da kannst Du einen DynDNS-Dienst nutzen und musst eine Weiterleitung in Deinem Router einrichten.

Gruß Tommy

Hallo Tommy,
die IP des Provider. Einen DynDNS-Dienst nutzen. Das scheint ja
eine Lösung zu sein. Mal sehen, was mein Provider mir da anbieten
kann.
Gruß und Dank
Andreas

Das sind eigene Anbieter, das macht nicht der Provider.
Manche Router unterstützen da auch bestimmte Anbieter.

Gruß Tommy

Wenn dein Provider Carrier Grade Nat macht, brauchst du einen Server im Internet mit öffentlicher IP über den du eine Weiterleitungmachst.

(s.H. GPN19 - Einen Server daheim ohne öffentliche IPv4 Adresse - YouTube )

Interessanter Beitrag, aber Du bekommst wohl keinen ssh-Client auf Arduino mit Ethernetshield zum Laufen. Höchstens evtl. auf ESP8266/ESP32.

Gruß Tommy

Hallo
das ist ja alles... zu wenig Speicher, nur X-Seiten, DynDNS-Dienst und weiß der Teufel was noch.

Dann müßte es doch mit einem GSM-Modem funktionieren?
Also, ich sende eine SMS mit dem Text "Aktiviere LAN" an das Modem.
Der Mega wertet "Aktiviere LAN" als gültige Daten aus.
Der Mega sendet an das EthernetShield "aktiviere Netzwerk und hole IP"
Der Mega übergibt die gültige IP als SMS-Text.
Das Modem sendet die SMS an das Smartphone.
Nun habe ich die gültige IP und kann mit dem SmartPhone auf das EthernetShield zugreifen.
Habe ich alle Informationen verarbeitet kann ich eine SMS an das Modem senden.
Der Mega holt sich den gültigen Text und läßt die Verbindung des EthernetShiel wieder
aufheben.
Das ist doch genial, ich habe keinen Externen dazwischen und kann das ganze auch noch
vom Netz nehmen.
Ich werde das einmal probieren und mir so ein GSM-Modem besorgen.
Dann schau´n wir einmal.
Gruß und Dank
Andreas

SkobyMobil:
Der Mega sendet an das EthernetShield "aktiviere Netzwerk und hole IP"
Der Mega übergibt die gültige IP als SMS-Text.

Der Mega kennt nur seine lokale IP, sonst nix. Evtl. kannst Du über das TR064-Protokoll Deines Routers was stricken, um die öffentliche abzufragen. Da kenne ich mich aber nicht aus. Bei providerseitigem NAT hast Du aber auch da verloren.

Gib doch mal ipconfig (Win) oder ifconfig (*UX) auf Deinem Rechner ein. Dann siehst Du ja, was da kommt.

Gruß Tommy

Las den Arduino etwas etwas an einen (öffentlichen) webserver POSTen (oder mach ein GET auf eine Resource) dann weist du mit welcher IP du nach außen hast. Diese IP trägst dir in ein simples file ein. Damit weist du von überall deine public IP.

DynDNS für arme sozusagen.

Das funktioniert nicht bei ProviderNat, weil da die Tabellen nicht gefüllt sind. Der weiß nicht, dass er 1.2.3.4 zu Dir routen muss.
Früher (TM) war das so einfach, heute nicht mehr. Schau Dir ruhig mal das von Rintin verlinkte Video an. Das ist gut.

Gruß Tommy

noiasca:
DynDNS für arme sozusagen.

Wenn du es etwas komfortabler möchtest nimm die: http://freedns.afraid.org/

Wobei ich hab da noch mal ein paar Fragen zu deinem Projekt.

  1. Was soll es tun?
  2. Wie sieht deine Netzwerksituation aus?

Hab da mal was zusammengezeichnet, wie ich mir deine Situation gerade vorstelle. Ob du DynDNS verwenden kannst, hängt davon ab, was in dem roten Kasten abspielt. Bei CGN kannst du DynDNS vergessen und du brauchst jemanden "im Internet" über den du die Kommunikation tunneln kannst. (s.H. Video)

Wenn dein Router eine öffentliche IP bekommt, kannst du mit DynDNS arbeiten und ein Forwarding in deinem Router einstellen.

Wenn du einige richtige öffentliche IP hast, kann dein Mega die auch per Aufruf von https://www.whatismyip.com ermitteln. Dann Nach jedem Wechsel Push Nachricht zum Smartphone. Aber dann kannst du ja gleich einen Dyndns Dienst nehmen.

Demnach habe ich noch eine IPV4, obwohl meist die IPV6 angezeigt wird. Interessant

Gruß Tommy

Tommy56:
Demnach habe ich noch eine IPV4, obwohl meist die IPV6 angezeigt wird. Interessant

Gruß Tommy

Ist nur die Frage ob die IPv4 deinem Router zugewiesen ist oder einem NAT-Router bei deinem Provider

Hallo,
ooh Man!
Aus meiner Wand kommt ein Breitbandkabel.
Dieses Kabel endet an einem KabelModem.
Dieses Modem hat eine RJ-Buchse.
An dieser RJ-Buchse hängt ein CAT-Kabel zum Rechner, RJ-Buchse 1, Netzwerkverbindung 1.
Das ist meine normale Verbindung zum Internet. Bin ich im Netz, dann ist diese Verbindung aktiviert.
Bin ich nicht im Netz, ist diese Verbindung deaktiviert.
Der Rechner hat eine zweite RJ-Buchse, RJ-Buchse 2, Netzwerkverbindung 2.
An dieser RJ-Buchse hängt ein CAT-Kabel zum EthernetShield 2.
Aktiviere ich Netzwerkverbindung 1 & 2, so kann ich über die Netzwerkverbindung 2 ins Netz.

Die IP, die das Kabelmodem liefert ist nicht statisch. Die ändert sich. Je nachdem, wie lange der
Rechner nicht am Netz hängt. Das geht mal schnell, kann aber auch dauern.
Diese IP will ich einfach abfragen. Wenn ich die als SMS bekomme, dann kann ich darauf zugreifen.
Der Rechner hängt ja am Netz, die IP ändert sich ja während der Verbindung nicht, weil
Abfrage mit EthernetShield 2.
Es kostet mich also, beim "ersten Versuch", max. 2 SMS um eine Verbindung aufzubauen oder/und zu trennen.
Wenn ich die Verbindung stehen lasse, steht die IP ja zur Verfügung.

Je länger ich darüber nachdenke, um so besser gefällt mir die Sache.
Über die Anweisungen per SMS kann ich das ganze Netzwerk von der Außenwelt trennen. Wenn ich Zugriff
brauche aktiviere ich das Netzwerk, verrichte die Arbeit, und trenne es dann wieder.
Das mag zwar etwas umständlich sein, aber der einzige der da fummelt bin ich.
Ich glaube ihr bringt mich auf den Weg.
Gruß und Dank
Andreas

Weil ich das vor kurzem selbst gebraucht habe: Hier zwei recht minimalistische "IP-Ermittler", die ich recht brauchbar finde, wenn ich nur die IP brauche (ohne "Zusatzschnickschnack-Infos"):
http://api.ipify.org/
http://checkip.dyndns.com/

Die könnte man vom Arduino aller x Minuten mit einem Http-Client abrufen, mit einer gespeicherten IP vergleichen und wenn sie anders ist, die SMS senden und die IP speichern.
Nach dem Starten kommt halt immer eine SMS oder man speichert die IP persistent (FRAM, EEPROM, ...).

Gruß Tommy

Hallo,
so einen mini IP-Ermittler habe ich gerade auf dem Shield laufen. Macht nichts
als die IP holen. Aber vielen Dank.

Alle x-Minuten die IP abrufen und vergleichen ist keine schlechte Idee.
Dann hängt das System aber auch alle x-Minuten am Netz.

Das mit dem Provider und der statischen IP habe ich verworfen. Ist nicht so
schlecht, in ungerelmäßigen Abständen eine neue IP zu bekommen.

Überlegt habe ich mir, das ich das Netzwerk über SMS mit dem Netz verbinden/trennen
werde. Das ist zwar alles etwas umständlich, aber mal sehen ob ich damit leben kann.
Ich stelle mir das ja alles ziemlich einfach vor.
Gruß und Dank
Andreas

Trennen kannst du es ja auch über die Netzwerkverbindung. Spart eine sms