IPS-Server an UMTS

Hallo,
Habe mein IPS-Server an einer V***fon UMTS-Verbindung hängen.
DSL gibt es leider nicht am Rande des Abgrunds :rolleyes:

Nun zum Problem:
Die UMTS-Verträge beinhalten 5GB/Mon.
Danach wird die Verbindung langsam.
Da wäre eine Überwachung der UMTS-Verbindung mit Geschwindigkeit, Volumen und Volumenwarnung eigentlich eine geniale Erfindung.
Wenn ich es richtig deute, wird der UMTS-Stick als Modem angezeigt.

Ich habe leider keine Ahnung, wie ich an diese Daten des Modems kommen soll.:confused:

Aber da hier die Profis zuhause sind, kann mir ja eventuell jemand einen Ansatz geben (allerdings müsste der dann meinen Kenntnissen angepasst relativ ausführlich sein:D).

eine möglichkeit wäre, die übersichtsseite deiner box zu parsen, die enthaltenen werte in eine variable (float) konvertieren/speichern und dann über ein script ständig mit einer vorgabe zu vergleichen. bei erreichen der vorgabe kann dann noch ne sms/mail gesendet werden.

Leider gibt es keine Box nur einen Stick.
Der hat keine Weboberfläche

Kannst du dein Volumen auf der Vodafone Seite nicht nachsehen?

paresy

wenn der stick kompatibel zur fritzbox (zb 7270) wäre, könntest du die dazwischenhängen und via netzwerk online gehen. fritz-scripte gibts fertige hier zu hauf

Nein
Nur über das Verbindungsprogramm vom Stick.
Da ich das aber nicht zum automatischen verbinden bekomme, nutze ich eine normale Wählverbindung von Win7

Aber ich habe doch gar keine Fritz.Box

Ich würde einfach sagen… dein Vorhaben wird nix.

paresy

na dann schiesst du dir ein bei e**y

Mit deinen 5GB kommst Du nicht weit.
Ich habe ein OWFS-Server auf der Fritz.box mit UMTS-Anbindung (1**)laufen und frage jede Minute 9 1-Wire 18D20 Fühler ab.
Das 5GB Datenvolumen reicht gerade für einen Monat bei mir.

bei mir auch!

habe gerade für mein Problem ein geniales Programm gefunden.
MWconn

Da steht in der Anleitung folgendes:

Lokale Programmsteuerung per Shared Memory
Falls Sie selbst Software-Entwickler sind und MWconn von einem anderen Programm aus steuern möchten,
können Sie dafür auch einen direkteren Weg nutzen: die Parameterübergabe per Shared Memory. Über
diesen Weg lassen sich ebenfalls alle Ausgaben von MWconn lesen (Signalstärke, Datenvolumen usw.).
Dazu sind allerdings fundierte Programmierkenntnisse erforderlich. Im Folgenden finden Sie die dafür
notwendige Strukturbeschreibung und ein Stück Beispiel-Programmcode (Programmiersprache C).
typedef struct { // Struktur für Datenaustausch mit externen Programmen
unsigned long len; // Länge dieser Struktur in Bytes
unsigned short structure_version; // Version dieser Struktur: 3
unsigned short program_version; // Version des MWconn-Programms
// (Hauptversion256+Nebenversion)
unsigned long res1[3]; // reserviert
// Datenrichtung extern->MWconn
char command[100]; // von MWconn auszuführendes Kommando;
// „MWCONN_CONNECT“: verbinden;
// „MWCONN_DISCONNECT“: trennen;
// „MWCONN_RECONNECT“: neu verbinden;
// „MWCONN_END“: Programm beenden;
// „:::ATI“: AT-Kommando an Gerät senden (hier „ATI“);
// bei Novatel-Geräten nur mit Novatel-DLL;
// „:250:4000:ATI“: desgleichen, jedoch mit
// Wartezeitangaben, 250ms nach dem Senden
// beginnt der Empfang, welcher maximal 4 weitere
// Sekunden später abgeschlossen sein muss;
// „MWCONN_PATH“: aktuellen Programmpfad zurückgeben;
// Datenrichtung MWconn->extern
// Hinweis: nicht alle Modems unterstützen alle Informationen;
unsigned long process_counter; // dieser Zähler wird von MWconn
// inkrementiert, sobald neue Daten zur Verfügung stehen;
unsigned long volume; // summiertes Datenvolumen in kBytes
unsigned long time; // summierte Onlinezeit in Minuten
unsigned long online_time; // aktuelle Onlinezeit in Sekunden; ==0: offline
© 15.03.2010 Markus B. Weber, Nürnberg
MWconn, Version 5.6, Bedienungsanleitung Seite 46 von 59
unsigned long offline_time; // aktuelle/letzte Offline-Zeit in Sekunden
unsigned long upspeed; // aktuelle Sendegeschwindigkeit in Bytes/s
unsigned long downspeed; // aktuelle Empfangsgeschwindigkeit in Bytes/s
unsigned char opmode; // Betriebsart; 0: nicht bekannt; 1: GPRS; 2: UMTS;
unsigned char signal_raw; // Signalstärke als GSM-Standardwert (0…31)
unsigned char signal_percent; // Signalstärke in Prozent (0…100);
// nur gültig, wenn signal_raw>0
signed short signal_dbm; // Signalstärke in dBm
char network_name[30+1+1]; // Name des Netzwerks
char plmn[6+1]; // Public Land Mobile Network, bestehend aus MCC und MNC
char lac[4+1]; // Location Area Code
char cid[4+1]; // Cell-ID
char message[64+1]; // ggf. Meldungstext
char mini_message[48+1]; // ggf. verkürzter Meldungstext
char error_message[32+1]; // ggf. Fehlermeldung
unsigned char battery; // Akku-Zustand; 0: unbekannt;
char rnc[4+1]; // RNC-ID
unsigned char internal1[1]; // reserviert
unsigned long internal2[6]; // reserviert
char answer[600]; // Antwort auf AT-Kommando oder „MWCONN_PATH“
} mwcio_t;
void __fastcall TForm1::Tick(TObject Sender) {
// Testprozedur zur Ausgabe aller von MWconn bereitgestellten Informationen
HANDLE mwcioh; // Handle des gemeinsamen Speichers für I/O
mwcio_t
mwcio;
static char z[4000];
char
zp;
// IO-Bereich öffnen und zuweisen
mwcioh= NULL; mwcio= NULL; // Voreinstellungen (Fehlerfall)
#define OFN(a,n) if(mwcioh==NULL) mwcioh= OpenFileMapping(a,false,n);
OFN(FILE_MAP_ALL_ACCESS,„Global\MWCONN_IO“);
OFN(FILE_MAP_ALL_ACCESS,„MWCONN_IO“);
OFN(FILE_MAP_READ,„Global\MWCONN_IO“);
OFN(FILE_MAP_READ,„MWCONN_IO“);
#define MVOF(a) if(mwcioh!=NULL && mwcio==NULL)
mwcio= (mwcio_t*)MapViewOfFile(mwcioh,a,0,0,sizeof(mwcio_t));
MVOF(FILE_MAP_ALL_ACCESS) MVOF(FILE_MAP_READ)
if(mwcio==NULL) // IO-Bereich nicht gültig
Ausgabe->Caption= „MWconn-IO-Bereich konnte nicht gelesen werden“;
else { // IO-Bereich gültig
zp= z;
zp+= sprintf(zp,"Länge der Struktur: %lu Bytes, "
"Strukturversion: %u, Programmversion: %u.%u, "
"Prozess-Zähler: %lu
",
mwcio->len,mwcio->structure_version,
mwcio->program_version>>8,mwcio->program_version&255,
mwcio->process_counter);
zp+= sprintf(zp,"summiertes Datenvolumen: %lu kBytes, "
"summierte Onlinezeit: %lu Minuten
",
mwcio->volume,mwcio->time);
zp+= sprintf(zp,"aktuelle Onlinezeit: %lu Sekunden, "
"aktuelle/letzte Offlinezeit: %lu Sekunden
",
mwcio->online_time,mwcio->offline_time);
zp+= sprintf(zp,"Upspeed: %lu kBytes/s, "
"Downspeed: %lu kBytes/s
",
mwcio->upspeed/1000,mwcio->downspeed/1000);
zp+= sprintf(zp,"Betriebsart: %s, "
"Signalstärke: %02u(roh) = %u%% = %idBm
",
mwcio->opmode==1?„GPRS“:mwcio->opmode==2?„UMTS“:„unbekannt“,
mwcio->signal_raw,mwcio->signal_percent,mwcio->signal_dbm);
zp+= sprintf(zp,"Netzname: „%s“, PLMN: „%s“, "
"LAC: „%s“, Cell-ID: „%s“
",
mwcio->network_name,mwcio->plmn,mwcio->lac,mwcio->cid);
zp+= sprintf(zp,"Meldung: „%s“, Mini-Meldung: „%s“, "
"Fehlermeldung: „%s“
",
mwcio->message,mwcio->mini_message,mwcio->error_message);
zp+= sprintf(zp,"Kommando: „%s“, Antwort: „%s“
",
mwcio->command,mwcio->answer);
© 15.03.2010 Markus B. Weber, Nürnberg
MWconn, Version 5.6, Bedienungsanleitung Seite 47 von 59
Ausgabe->Caption= z;
} // Ende IO-Bereich gültig
if(mwcio!=NULL) { // IO-Bereich gültig
UnmapViewOfFile(mwcio);
mwcio= NULL;
}
if(mwcioh!=NULL) {
CloseHandle(mwcioh);
mwcioh= NULL;
}
}

Kann da jemand etwas mit anfangen?

Ja. Du kannst damit aber nicht viel anfangen und ich bezweifle, dass dir jemand ein Delphi Modul schreibt. Zumal du eh nur die Daten der aktuellen Verbindung bekommen könntest, welche du wieder aufsummieren müsstest.

Kauf dir ne FritzBox :wink:

paresy

Ich glaube das werde ich auch tun

Dann geht das langsame Ding wenigstens zuverlässig

Such mal nach Traffikmonitor bei Google. Evtl. kann man das irgendwie dazu benutzen.
Viele Grüße
Chris

bei ner fritzbox (7170/7270) unbedingt abklären, ob dein stick kompatibel ist !!!

Ja, das mache ich

Ich glaube, ich werde warten, bis es bei mir UMTS 4G gibt.
Da brauch ich dann eh eine neue HW.
So lange muss ich mich eben noch etwas zurück halten.

Ach, was ich noch berichten wollte,

habe seit ein paar Tagen über mdex eine feste IP für meine UMTS-Verbindung.
Endlich kann ich mein IPS-Server aus dem I-net erreichen.
Das ist aber auch alles kompliziert, wenn man kein DSL hat!
Aber mit mdex geht das echt gut.:smiley: Kosten 5€/Mon:(