Sim800l Webserver erstellen

Hallo,
Ich habe mir für meinen Arduino Uno ein Sim800l GPRS Modul gekauft, da ich die Messdaten meiner Wetterstation vom Handy aus über das Internet ansehen will.
Mein Prblem jetzt ist das ich im Internet nur Seiten finde die beschreiben wie man mit dem Sim800l Daten an einen externen Webserver sendet (was ich nicht will da ich gerne weiß wo meine Daten sich befinden) und keine einzige Seite wo beschrieben wird wie man mit dem Modul einen Webserver auf dem Arduino betreiben kann.
Es würde mich sehr freuen wenn mir dabei jemand weiterhelfen kann.

Gruß,
Hypec

Hast du dich mal gefragt, wie das gehen soll ?
Nur mal so als Gedankenstütze, du müsstest das Modul immer im Netz halten, damit der Webserver immer erreichbar ist.

Ja aber warum denkst du es ist ein grosses Problem das Modul immer im Netz zu halten.
(Steh ich gerade auf der Leitung und übersehe was wichtiges?)

Das SIM Modul ist soweit ich weiß nur für SMS geeignet. Da musst du schon eine SMS mit deinen Daten an einen Server, der zB. bei dir steht schicken.

Das Modul hat einen GPRS Standart mit dem man webseiten im Internet aufrufen kann dadurch denke ich mal geht es anderst herum genauso.

Hypec:
Ja aber warum denkst du es ist ein grosses Problem das Modul immer im Netz zu halten.
(Steh ich gerade auf der Leitung und übersehe was wichtiges?)

Was ist mit den Kosten ?
Ok, wenn die kein Problem sind, wo willst du die Webseite Speichern ?
Im Arduino ? Dann musst du die Seite immer durch die serielle Schnittstelle quetschen. :wink:

Ok, ich habe es bisher noch nicht versucht, kann mir aber aus vorgenannten Gründen nicht vorstellen, dass es funktioniert.

Also welche Kosten meinst du ?
Stromkosten sind kein Problem und für die Sim Karte sind auch kein Problem.
Und die Seite soll nicht Groß sein es sind 4 Messwerte die ich ausgeben will.

Hypec:
Also welche Kosten meinst du ?
Stromkosten sind kein Problem und für die Sim Karte sind auch kein Problem.
Und die Seite soll nicht Groß sein es sind 4 Messwerte die ich ausgeben will.

Ok, dann mach es und berichte wie es geht. Wir freuen uns darauf, es zu lesen.

Wenn es tatsächlich so "einfach" ist, warum hat es noch keiner gemacht ?

Naja, einerseits gibt es Beispiele zum Thema Webserver mit dem Arduino GSM-Shield:

Ob sich das auch mit dem SIM800 auch umsetzen lässt weiß ich nicht. Ich habe verschiedene GSM-Shields schon verwendet allerdings bisher nur zum Versenden und Empfangen von SMS.

Mit einem Arduino UNO lassen sich grundsätzlich Webserver und eine einfache Website realisieren. Das habe ich schon gemacht, allerdings "nur" mit einem Ethernet-Shield, das an einem WLAN-Router hing. Und alles nur im lokalen (WLAN-) Netzwerk.

Andererseits ist das Hauptproblem wohl die IP-Adresse, die du von deinem Provider bekommst.
Die ändert sich nämlich immer wieder - und bei mobilden Geräten meiner Erfahrung nach sogar noch deutlich schneller als im "Kabelnetz".

Eine eindeutige IP-Adresse ist aber die grundlegende Voraussetzung, damit dein Webserver weltweit gefunden werden kann und du mit ihm auch außerhalb deines "Heimnetzwerks" in Kontakt treten kannst.
Die meisten Anbieter von mobilem Internet bieten dir aber "nur" eine dynamische IP-Adresse an (siehe: IP-Adresse – Wikipedia).

Jeder der eine eigene Website (etwa Firmen- oder Vereinswebsite) bei einem Provider hat, zahlt nicht zuletzt auch dafür extra Geld, um unter einer eindeutigen, nicht wechselnden IP-Adresse gefunden zu werden (natürlich auch noch für andere Services).
Aber das gehört - wie bereits erwähnt - normalerweise nicht zu den Diensten deines "Handy-Anbieters".

Natürlich gibt es da gewisse Tricks, aber das ist von deinem Provider meist nicht erwünscht :slight_smile:

Edit:
Ähnlich lautende Frage zur Zeit im englischsprachigen Teil des Forums:
Has anyone created a webserver with a GSM shield rather than a wifi shield?

Hallo,

das Problem dürfte wohl sein, deinen Web-Server, der dann im GSM-Netz eines Netzbetreibers läuft, von außen zu erreichen. Die IP, die du beim einbuchen bekommst ist, soweit ich weiß, von außen nicht erreichbar. Damit hat sich das erledigt. Evtl. könnte es gehen einen VPN-Tunnel vom Arduino zu (d)einem festen Netz einzurichten und darüber auf den Arduino-Server zuzugreifen. Aber ob das der Arduino kann?
Einfacher ist es doch tatsächlich, die Daten vom Arduino über das SIM800-Modul auf (d)einen Server zu übertragen, dort zu speichern und dann von dort über eine HTML-Seite abzurufen.
Hier kannst mal reinsehen, ein ganz einfaches Beispiel. Sowas habe ich jetzt am laufen, klappt einwandfrei und kannst beliebig kompliziert ausbauen :slight_smile: . Und du bestimmst ja mit dem Speicherort wo die Daten liegen, da mischt dann ja kein anderer Server mit.
Ich messe alle Minute diverse Werte, summiere sie auf und übertrage die Durchschnittswerte alle 60 Minuten zu Server. Und wenn ich mal zwischendrin wissen möchte was los ist rufe ich das SIM-Modul an, das registriert den Anruf, legt auf und schickt dann außer der Reihe die Werte. Darüber hinaus kann ich mit einer SMS auch noch ein paar Parameter einstellen. Wie gesagt, wenn du willst geht es beliebig kompliziert.

Öffentlich zugängliche IPs bekommt man zB bei der Telekom in Deutschland nur noch, wenn man eine SIM Karte mit einem Vertrag betreibt. Bei Prepaid ist das nicht mehr möglich.
Dazu muss aber der Standard APN angepasst werden.

Der Arduino ist für sowas zu schwach. Da müsste schon ein µC her auf dem zumindest ein Linux zum laufen kommt. Ob es ein ESP kann, müsste man nachschlagen. Somit hast du aber immer an der Gegenstelle ein weiteres Gerät. Somit wäre es deutlich sinnvoller, in bestimmten Abständen die Werte von zu Hause zu empfangen und auszuwerten.

Grundsätzlich läuft ein webserver auch auf einem UNO, das schafft der kleine locker.

Problematisch ist nur, dass der TO eben dieses Modul gekauft hat das vieleicht nicht ideal ist.

Also, wenn es dieses Modul umbedingt sein muss
Arduino->GSM-Modul->Werte an einen Webserver senden mit POST (gut) oder GET (einfacher), von diesem Webserver mitels Smartphone abfragen.

Oder eben die SIM in einen 3G Router/Stick stecken, Arduino mit LAN-Shield ausstatten und an den Router hängen in die freie Welt und direkt den Arduino abfragen.

Wenn es um Wetterdaten geht, finde ich es sogar praktisch, die Werte dauerhaft auch auf einem "großen" Webserver zu haben, Tages/Monats/Jahresstatistik, schöne grafen etc ... das hat schon auch Vorteile.