Forum: Mikrocontroller und Digitale Elektronik GPRS Fernwartung


von Rolf (Gast)


Lesenswert?

Hallo zusammen,

ich möchte gern ein GPRS-Modem zur Fernwartung einsetzen. Meine Idee 
ist, dass eine Mikrocontroller das Gerät überwacht und beim Auftreten 
einer Warnmeldung diese speichert. Nach einigen gespeicherten Meldungen, 
sollen diese über das GPRS-Modem an ein Laptop gesendet werden.

Tritt eine Alarmmeldung auf, so soll zusätzlich eine Nachricht an ein 
Mobilfunktelefon sowie an den Laptop gesendet werden. Zudem soll eine 
Online-Überwachung möglich sein, bei der man beliebig lang die Parameter 
am Laptop beobachten kann. Des Weiteren möchte ich Parameteränderungen 
am Gerät über das drahtlose Versenden von Befehlen vornehmen.

Aufgrund der großen Datenmengen kommt der Einsatz von GSM-Modems nicht 
in Frage. Ich hab nicht allzu viel Erfahrung mit GPRS Modems.

Es gibt ja mittlerweile Modems mit integriertem TCP/IP-Stack. Sprich 
über ein Internet- Dial-Kommando müsste ich meine Daten einfach übers 
Internet an den Laptop verschicken können. Hierzu erhalte ich eine 
dynamische IP-Adresse vom Service-Provider, oder? Die IP wird ja 
benötigt um die Daten vom Absender zum vorgesehen Empfänger zu 
transportieren. Sie gewährleistet also eine eindeutige Identifizierung.

Wenn jetzt die Datenmenge vom Gerät an den Laptop gesendet werden soll, 
woher weiß dann meine Anwendung welche IP mein Laptop hat. Umgekehrt 
möchte ich ja vom Laptop aus Befehle an das Gerät senden. Wie 
identifiziere ich meine beiden GPRS Modems, um eine sichere Verbindung 
zu gewährleisten? Bei den GSM Modems gehts ja einfach über die SIM-Karte 
bzw. über die Handynummer.

Also irgendwie kapier ich das noch nicht richtig. Wie läuft da die 
Kommunikation ab?

Wäre klasse wenn mir jemand weiterhelfen könnte.
Gruß Rolf

von oszi40 (Gast)


Lesenswert?

1.Ob GPRS in jedem Funkloch oder Keller funktioniert habe ich noch 
kleine Zweifel.

2.Wegen der IP lies mal DynDNS http://de.wikipedia.org/wiki/DynDNS

von Bernhard (Gast)


Lesenswert?

Hallo Rolf,

mehreres ist dabei zu beachten. Zum einen lassen die gängigen 
Mobilfunkverträge nur ausgehende Verbindungen zu, ankommende Daten 
werden abgewiesen. Soll Dein GPRS Modem ankommende Daten empfangen, 
musst Du einen dafür geeigneten Vertrag (mit fester IP Nummer) haben.
Man kann das zwar umgehen, indem man vom GPRS Modem aus ein VPN aufbaut, 
die Sache wird halt komplizierter.
Dann musst Du wissen, wie Du Daten eigentlich senden willst. Soll da ein 
Web-Server laufen? FTP(keine gute Idee)? SSH, SCP? Auf Deinem Laptop 
müssen auch entsprechende Dienste laufen.

Die Adresse Deines Laptops muss das Modem natürlich kennen, und diese 
muss auch von außen erreichbar sein. Es bietet sich an, sowohl für Modem 
und Laptop Dienste wie DynDNS, NO-IP o.ä. zu benutzen.

Eine lästige Besonderheit sind auch die hohen Latenzzeiten im GPRS Netz. 
Das erste gesendete Paket hat oft Round-trip-Zeiten im Sekundenbereich, 
die nächsten werden dann besser (~0,7 sec).
Vorausgesetzt wird eine gute Funkanbindung. Es empfiehlt sich dringend, 
mit dem Befehl AT+CSQ die Feldstärke zu kontrollieren, und ausreichend 
leistungsfähige Antennen zu verwenden. Sonst hast Du ständig 
Verbindungsabbrüche und langsame Geschwindigkeiten.


Gruß,
Bernhard

von Sebastian E. (der_andere_sebastian)


Lesenswert?

Auch bei GPRS-Modems erfolgt die Authentifizierung über SIM-Karte und 
Handynummer, zumindest dem Netz gegenüber. Am AP meldet man sich je nach 
Netzbetreiber meist mit einem Standardpasswort an. Ab da ist man dann im 
Internet. Die Verbindung kommt also nicht direkt mit der Station 
zustande wie bei einer Modemverbindung. Ob die Daten wirklich von der 
richtigen Station stammen, kann der Wartungslaptop bei dynamischen 
IP-Adressen nur durch selbst hinzugefügte Zusatzinformationen erkennen. 
Vielleicht kann man ja das Datentelegramm mit einer krpytographischen 
Signatur versehen?

Und ja, es gibt sogar Modems mit Python-Interpreter (von Telit). Viele 
GPRS-Modems können FTP und e-mail Versand selbsttätig ausführen, mit 
internem Protokollhandling.

Die Zuverlässigkeit ist ein kritischer Punkt bei GPRS, mehr noch als bei 
GSM. Die Modems bauen eine durch Störung abgerissene Verbindung nicht 
selbsttätig wieder auf. Die Steuerung muß den Verbindungsstatus 
regelmäßig prüfen, wenn tatsächlich die TCP/IP-Verbindung offengehalten 
werden soll - und ggf. neu verbinden.

Zur Problematik eingehender Verbindungen hat ja mein Vorredner 
eigentlich schon fast alles gesagt.

von Rolf (Gast)


Lesenswert?

Hi zusammen,
vielen Dank für die Antworten!
Hmmmm, hört sich alles ziemlich tricky an, wobei eine reine 
Datenübertragung mit GSM, trotzdem nicht in Frage kommt, da es einfach 
eine zu große Datenmenge ist . Eine sichere und zuverlässige Verbindung 
ist wohl in beiden Fällen- GPRS oder GSM- nie 100%ig gewährleistet. 
Allerdings könnte man für eine Online-Überwachung das Gerät an das 
Festnetz anschließen. Trotzdem nochmal Danke für Eure schnelle 
Antworten.
Viele Grüße,
Rolf

von Hans (Gast)


Lesenswert?

> ich möchte gern ein GPRS-Modem zur Fernwartung einsetzen.

Sofern es eine Fernwartung für die Industrie ist:

Durch die Vernetzung der Steuergeräte mit dem internen LAN
sind in den meisten Betrieben Fernwartungslösungen verboten,
welche einen zweiten (Internet-)Netzzugang haben, egal ob
das nun GPRS, CSD oder ISDN ist.

Alles muss entweder über den einen Firewallperimeter gehen
oder ggf. über Rendezvous Lösungen.

VG,
Hans

von Rolf (Gast)


Lesenswert?

Nein, dass ist nur für mein Abschluss-Projekt. Habt ihr vielleicht auch 
Erfahrungen mit den sogenannten Data Calls? Man könnte hierbei den 
Datentransfer über das GSM-Mobilfunknetz abwickeln. Zudem wäre die 
Sicherheit vgl. zum GPRS auch höher. Gruß

von Hans (Gast)


Lesenswert?

>Nein, dass ist nur für mein Abschluss-Projekt. Habt ihr vielleicht auch

Wenn Dein Abschlussprojekt als Schwerpunkt eine "sichere"
Datenübertragung zum Gegenstand hat, wird man etwas Innovatives
erwarten können/wollen.

Ansonsten mach es pragmatisch: ein CSD via atd0xy12345, nach dem
"Connect" sollte ein transparenter Kanal vorhanden sein; die Daten
nicht binär zu übertragen verhindert Ärger mit (undokumentierten)
"Steuerzeichen".

>Erfahrungen mit den sogenannten Data Calls?
Yipp. Bei mir sogar keine Probleme von (D1/D2) SIEMENS MC60 Handy
auf MC60 Handy....

>Man könnte hierbei den Datentransfer über das GSM-Mobilfunknetz
>abwickeln.
Zur Info: CSD wird bei allen Providern als Auslaufmodell angesehen. Das
hängt u.a. damit zusammen, dass es eine Kunst ist, noch ein (neues) ISDN
oder Analog-Modem zu bekommen. Aber es geht noch :-)

>Zudem wäre die Sicherheit vgl. zum GPRS auch höher.
... bei einer geeigneten Definition von "Sicherheit" schon. In der
1. Liga ist eine authentisierte verschlüsselte Verbindung (egal
worüber) State-of-the-art.

VG,
Hans

von Purzel H. (hacky)


Lesenswert?

TCP/IP ueber GPRS ist nur noch duemmlich. Ein Mobiltelephon hat eine 
Nummer, weshalb sollte es auch noch eine IP haben ?
Sicherheit ? Man kann uebertreiben.. Ein CRC und eine einfache 
Verschluesselung sollten genuegen.

von Rolf (Gast)


Lesenswert?

Hi,
ich bin´s nochmal...
Um die statische IP für den Client zu umgehen, wäre es doch möglich mit 
dem am PC angeschlossenen GPRS Modem eine SMS an meine Applikation zu 
senden. Diese verarbeitet den Befehl und baut dann eine Internet 
Verbindung zur Online-Überwachung mit meinem Server bzw. PC auf. Will 
ich die Verbindung beenden, sende ich wiederum vom PC aus eine SMS an 
meinen Client, der verarbeitet den Befehl und beendet die Verbindung. 
Oder ich beende sie vom Server aus. Um SMS mit GPRS Modems zu 
verschicken sind jedoch spezielle Tarife notwendig, hab ich zumindest 
gelesen. Würde das so gehen?
Grüße

von Bernhard D. (pc1401)


Lesenswert?

Hallo Rolf,

zunächst sind SMS und GPRS zwei Paar Stiefel. Ob das GSM-Modem im GPRS 
Modus in der Lage ist, SMS zu empfangen, solltest Du prüfen. Prinzipiell 
könnte das gehen.

Ich habe z.B. einen in der Wildnis stehenden Linux Rechner über GPRS 
angebunden, ohne feste IP Nummer. Das Modem ist ein Siemens MC35i, 
mittels pppd gesteuert. Per crontab wird zu festgelegten Zeiten ein VPN 
auf- und abgebaut, so dass die Möglichkeit zum Einloggen über eine ssh 
Konsole besteht.

Viele Wege führen nach Rom...

Gruß,
Bernhard

von oszi40 (Gast)


Lesenswert?

Bernhard D. schrieb:
> Per crontab wird zu festgelegten Zeiten ein VPN
> auf- und abgebaut, so dass die Möglichkeit zum Einloggen über eine ssh
> Konsole besteht.

Zwischen "der Möglichkeit" und flinken Arbeiten auf der Konsole liegen 
aber Welten über GPPRS. Ein paar Zeichen eingeben mag ja gehen. Mit der 
Maus braucht man da viel Geduld. ping >700ms

von Martin (Gast)


Lesenswert?

> Um die statische IP für den Client zu umgehen, wäre es doch möglich mit
> dem am PC angeschlossenen GPRS Modem eine SMS an meine Applikation zu
> senden. Diese verarbeitet den Befehl und baut dann eine Internet
> Verbindung zur Online-Überwachung mit meinem Server bzw. PC auf

SMS über GPRS lassen sich schneller übertragen...Allerdings musst du 
schauen, welche Anbieter diesen Typ der SMS-Übertragung unterstützen.

von oszi40 (Gast)


Lesenswert?

>SMS über GPRS lassen sich schneller übertragen.
Oder kommen "etwas später" an wenn der Provider gerade ein Problem hat?

von Martin (Gast)


Lesenswert?

Oszi 40 hat Recht!
Wobei "schnell" und "sicher" bei der drahtlosen Kommunikation immer so 
ne Sache ist und bleibt. Du kannst auf jeden Fall vom PC dein Client via 
SMS ansprechen (mit entsprechendem Provider) und könntest somit die 
statische IP für den Client umgehen. Client holt sich über APN die 
dynamische IP ab und baut eine Kommunikation mit dem Server ab. Durchaus 
möglich...Gruß

von Bernhard D. (pc1401)


Lesenswert?

Das mit der GPRS Anbindung ist, wie oszi40 schrieb, so eine Sache, BTDT. 
Es taugt sicher zur automatischen Datenübertragung, wenn man das 
Datenaufkommen klein genug hält.
Leider sind auch noch die Übertragungsgeschwindigkeiten unsymmetrisch, 
und gerade für abgehende Daten ungünstig.

Interaktives Arbeiten über eine Konsole geht zwar, macht aber wirklich 
keinen Spaß. Mehr als das Ausführen einfacher Kommandos und das Ändern 
kleiner Konfigurationsdateien ist nicht machbar. Anwendungen, die viel 
Handshake erfordern, verbieten sich.
Grafikorientierte Sachen, wie vnc, Remote Desktop, selbst nx, sind 
absolut utopisch.
Man hat im günstigsten(!) Falle das Gefühl, eine Erde-Mond-Erde 
Verbindung zu haben. Manchmal dauert die Antwort auch eine halbe Minute.
Nur, manchmal hat man keine andere Möglichkeit. UMTS ist leider oft nur 
in Ballungsgebieten verfügbar.

Auf den ersten Blick bietet GPRS gegenüber CSD mehr Speed, und eben eine 
volumenbasierte Abrechnung. Sonst hat man aber bei CSD einen exklusiven 
Kanal, der berechenbarer ist als das GPRS Gewackel.

Gruß,
Bernhard

von ThomasH (Gast)


Lesenswert?

Auch mal mein Senf dazu, wir machen sowas in der Art, Kommunikation über 
SMS, GPRS und Firmwareupgrade per FTP. Also das geht alles aber nicht 
immer zuverlässig und manche Dinge sind Providerabhängig und das ist 
sehr schwer zu debuggen.
Nur mit GPRS gibt es meist die Möglichkeit einen TCP Socket zu einem 
Server zu öffnen, dann hat man mal bidirektionale Kommunikation stehen 
-> aber das muss der Client initialisieren. Das öffnen der Verbindung 
könnte man mit einer SMS oder einem Anruf triggern. Die Station muss 
sich dann natürliche irgendwie gegenüber dem Server authentifizieren. 
GPRS und GSM geht meist nicht gleichzeitig, Stichwort GPRS Class und wie 
schon oben gesagt SMS über GPRS geht auch nicht überall und wenn man 
nicht viele SMS schickt, würde ich das mal außer Acht lassen.

Aber bitte nicht den Aufwand für so ein Projekt unterschätzen.

von Rolf (Gast)


Lesenswert?

Hi Thomas,
ich untersuche ja in meiner Applikation die von einem Gerät gesendeten 
seriellen Daten (114 Zeichen lang). Wenn ich ein Teilstring erfasse, der 
eine Alarmmeldung geringerer Priorität darstellt, speichere ich diesen 
ab. Sind ca. 100 abgespeichert, sollen diese versandt werden. Mit GSM 
ist das vom Volumen her halt so ne Sache. Allerdings wäre die 
bidirektionale Kommunikation einfacher zu handeln. Beim GPRS ist es ja 
meistens so, das nur der Client oder der Server die aktive Rolle 
einnimmt. Das Zustellen von SMS Nachrichten über GSM ist manchmal aber 
auch so ein Fall für sich...Ich denke da schenken sich beide Techniken, 
also GPRS oder GSM, nicht allzu viel, oder? Hat ds vielleicht jemand 
Erfahrung mit UMTS? Aus einigen Beiträgen höre ich aber raus, dass das 
gute alte GSM für solch eine Überwachung etwas geeigneter ist. Was macht 
man da nur?
Gruß

von Hans (Gast)


Lesenswert?

> Hat ds vielleicht jemand Erfahrung mit UMTS

Im Fernwartungsbereich die Finger davonlassen!
Max. Sendeleistung GPRS 900MHz: 2W
GPRS 1800MHZ: 1W    ... und UMTS 0.25W.
Zusätzlich sind die UMTS Frequenzen höher,
was geringere Reichweiten impliziert.

Durch die schnellere Datenübertragung hat man
quasi "weniger Zeit Energie in ein Bit
zu investieren" (Wikipedia "Eb/N0" suchen).

VG,
Hans

von Karl (Gast)


Lesenswert?

Hi, also ich hab in etwa das gleiche wie Rolf vor...Allerdings will ich 
die Daten nicht über GPRS versenden, da diese "Einbahn-Verhalten", also 
nur von GPRS in Internet, mir für die bidirektionale Kommunikation nicht 
allzu sinnvoll erscheint. Ich würde es gerne über CSD bzw. HCSD 
realisieren. Kann mir vielleicht jemand ein Tipp/Infos bezüglich den 
sogenannten Data Calls geben? Tarife, Provider, Prepaid-Karten,...?
VG

von ThomasH (Gast)


Lesenswert?

bei größeren Datenmegen würde ich GPRS verwenden. Ist finden ich 
einfacher zu handlen als SMS. SMS automatisiert schicken/empfangen ist 
ja auch nicht so einfach, da braucht man Zugang zum SMSC Server oder man 
macht das mit einem GSM Modul oder Handy.
Das einzig lästige an GPRS ist, dass es immer vom Mobile Device 
initialisiert werden muss, dann ist die Kommunikation bidirektional 
möglich. Wenn das also kein großes Problem ist, wie gesagt hier gibt es 
die Möglichkeit das zB mit einer SMS oder uU auch mit einem Anruf zu 
tirggern, den das Mobile device nicht annimmt und nur die Rufnummer 
auswertet -> kostet nichts. Dann baut das device eine GPRS Verbindung 
auf.
SMS kommen im Inland (T Mobile in AT) sehr zuverlässig und innerhalb 
weniger Minuten an. Im Ausland kann man das leider nie so genau sagen, 
aber aus unserer Erfahrung geht das auch meist sehr gut.

von Rolf (Gast)


Lesenswert?

Hi Danke für die vielen Tipps und Hinweise,
die haben mir sehr weiter geholfen. Eine Frage noch: Wenn ich Daten 
bspw. über das ISDN Festnetz übertragen will, benötige ich nur ein 
Modem, oder sind da noch weitere Dinge zu beachten. Ich wähle die 
Nummer/Anschluss der mit dem PC verbunden ist und kann dann die Daten an 
den PC senden. Zu einfach gedacht? Grüße

von Hans (Gast)


Lesenswert?

>Eine Frage noch: Wenn ich Daten
>bspw. über das ISDN Festnetz übertragen will, benötige ich nur ein
>Modem, oder sind da noch weitere Dinge zu beachten. Ich wähle die
>Nummer/Anschluss der mit dem PC verbunden ist und kann dann die Daten an
>den PC senden. Zu einfach gedacht? Grüße

Also: Ich hatte ein ISDN/Analog Zyxel hinter einer Euracom und hatte
Zugriff vom D2-Handy aus via CSD. Das ist >=10 Jahre her, sollte aber 
gehen.
Von der Signalisierung her wird ein Daten-Call angezeigt, das Telefon
klingelt also nicht....
Meine Erinnerung sagt: ISDN-Karten waren mit der damals
verfuegbaren Linuxversion leider nur bedingt einsetzbar, den
Supportstatus aktueller Versionen kenne ich nicht,
duerfte IMHO zunehmend schwinden...

ABER: Es wird ein adventure werden, noch ein ISDN Modem zu erjagen,
was auch heisst: keine zukunftstraechtige Loesung fuer das aktuelle
Projektgeschaeft ;-)

Ob das mit einer reinen analogen Leitung geht? Keine Ahnung!

VG,
Hans

von dokle (Gast)


Lesenswert?

Ich nutze bei mir einen UMTS-Stick (Huawei E620) u.a. auch als 
Datenmodem.
Der hängt in einer Dockstar (Debian Kernel von Jeff) und nimmt 
eingehende Datenanrufe 9k6 mittels mgetty an.

Bzgl. Provider:
Tchibo Prepaid hat aktuell noch ein Angebot bis 06.12. welches 
kostenlose netzinterne (Sprach-) Verbindungen von Tchibo zu Tchibo 
ermöglicht. Allerdings werden meine Datenverbindungen von Tchibo Sim, zu 
Tchibo Sim nicht berechnet, sodass mir das sehr gelegen kommt ;)

von Mattes (Gast)


Lesenswert?

Hey,
wollte keinen neuen Thread aufmachen da es sich bei mir in etwa um das 
gleiche Problem handelt. Gibts es zur mobilen kabellosen GPRS 
Kommunikation irgendwelche gescheite Literatur oder Code-Beispiele? Ich 
meine also wie Server und Client miteinander bspw. über TCP/IP 
kommunizieren. Die Einbindung des TCP/IP Stacks, etc.. Gibts da was 
kompaktes und übersichtliches zum nachschlagen? Danke und Gruß

von ThomasH (Gast)


Lesenswert?

also bestimmte Literatur für das Thema kann ich mir schwer vorstellen. 
Aber zum Thema Socket Programmierung findest du Code und Literatur zur 
Genüge. Auf PC Seite muss natürlich mal ein Netzwerk Device vorhanden 
sein, worauf du Sockets verwenden kannst.

Ein Gedanke der mir dazu noch so einfallen würde, für quick and dirty 
Lösungen, wäre ein J2ME Midlet am Handy, welches serielle Verbindungen 
über Bluethooth entgegen nimmt und die dann über GPRS auf einen Server 
weiterleitet. Man hat damit zwar etwas weniger Möglichkeiten als mit 
einem GSM Modul, aber es wäre sehr universell für viele Handy 
einsetzbar.

von debugger (Gast)


Lesenswert?

Ich bin zur Zeit auch mit dem Thema konfrontiert.
Ein Mikroconroller soll über SIM340 SMS/GPRS-Modul Daten an einen 
ftp-Server schicken und dort eine Datendatei anlegen.
Momentan arbeiete ich noch an der allgemeinen Kommunikation zwischen MC 
und Modul, aber dann wird das Thema konkret.
Bisher habe ich auch noch kaum konkrete Literatur zum Thema gefunden.

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.