AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi UMTS Signalstärke auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

UMTS Signalstärke auslesen

Ein Thema von Mongfice · begonnen am 26. Mär 2009 · letzter Beitrag vom 27. Mär 2009
Antwort Antwort
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#1

UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 09:05
Moin.
Ich hab mal wieder ein neues Problem...

Ich hab ne Anwendung geschrieben, die über UMTS Daten verschicken soll.
Das Problem ist, dass klappt manchmal wunderbar und manchmal gar nicht. Meine Vermutung ist, dass es nur dann nicht klappt, wenn ich keine (ausreichende) Netzstärke habe. Da die Anwendung an sich im Vollbildmodus ohne Zugriff auf das eigentlich Windowssystem oder andere Programme laufen soll/muss kann ich allerdings nicht einfach den Verbindungsmanager (in diesem Fall von Vodaphone) geöffnet lassen oder darauf wechseln um das zu prüfen etc - bzw. das geht/ginge zwar in der Testphase, für den späteren Betrieb wäre das aber keine gangbare Lösung.
Daher will ich ne eigene Möglichkeit haben die Signalstärke in meiner Software direkt anzuzeigen (z.B. in der Statusleiste oder mit Balken irgendwo auf dem Formular etc...) damit es nicht hinterher heißt "Scheiß Software", wenn's eigentlich "Scheiß Netz" heißen müsste...

Das Problem ist, ich finde keine Möglichkeit wie ich an solche Daten kommen soll.

Hab mich hier schonmal etwas umgeguckt und zumindest die Möglichkeit gefunden per GetInternetConnectedState zu ermitteln ob eine Internetverbindung besteht. Das sollte meines Erachtens nach auch für die UMTS-Verbindung funktionieren (ist ja an sich nix anderes als nen Modem). Dadurch erhalte ich aber ja wenn dann nur die Info, ob die Verbindung besteht, nicht wie stark sie ist. Und in den WinInet-Funtkionen hab ich auch nix gefunden, was mir da ne "Übertragungsrate" liefern würde.
Hatte zuerst daran gedacht die Übertragungsrate selbst nachzumessen, aber das würde zusätzlichen Traffic und damit zusätzliche Kosten produzieren, die bei ner regelmäßigen Überprüfung in sehr kurzen Zeitabständen natürlich irgendwann imens hoch würden.

Hat da irgendjemand Erfahrung mit? Und selbst wenn die nur auf Lan/WLAN basiert würde mir das sicherlich schon helfen, das sollte man ja für UMTS relativ leicht adaptieren können..

Gruß
Mongfice
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#2

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 09:16
ich bin via O2 im Netz ... und da gibt es manchmal ein kleines Problem ...
z.B. laut Verbundungsmanager ist die Verbindung OK, selbst ICQ und Co. meinen es bestünde eine Verbindung und ich kann sogar was Senden, aber in Wirklichkeit ist da alles tot (scheint wohl was mit deren Router zu sein, vermute ich mal) und HTTP geht dann auch nicht ... trenne ich die z.B. ICQ und will es neu verbinden, dann merkt auch ICQ was.

jedenfalls scheint es garnicht so einfach möglich zu sein, ob eine Verbindung besteht oder nicht.

am Einfachsten könntest du wohl versuchen du irgendwas aus dem Netz, bzw. was von deiner Webseite zu laden?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#3

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 09:43
Na das war ja genau das was ich vermeiden wollte.

Wenn ich z.B. einmal pro Sekunde versuche ne Website zu erreichen ist das zwar praktisch wenn die Verbindung nicht besteht, sollte sie aber bestehen dann produziert das jedesmal Traffic - den ich dann bezahlen muss. Und das läppert sich gewaltig, wenn ich die Software mal grob geschätzt nen paar Stunden am Tag laufen soll.

Vielleicht geht das auch völlig in die falsche Richtung, aber ich denke mal, wenn die Vodaphone-Software mir Daten über die Verbindung anzeigen kann, dann hab ich ja die Daten die ich brauche schonmal auf dem Rechner. Da wiederstrebt es mir eigentlich völlig die nochmal neu zu ermitteln.

Im Prinzip geht es mir darum im Idealfall sowas hier selbst zu schreiben und in meine Software zu integrieren:
http://mwconn.m.i24.cc/
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 10:01
Zitat von Mongfice:
Vielleicht geht das auch völlig in die falsche Richtung, aber ich denke mal, wenn die Vodaphone-Software mir Daten über die Verbindung anzeigen kann, dann hab ich ja die Daten die ich brauche schonmal auf dem Rechner.
Hallo,

ich denke, das geht wirklich in die falsche Richtung: Signalstärke ist eine Eigenschaft, die es so nur bei Mobilverbindungen gibt. Ob eine Verbindung besteht, hängt damit nur recht indirekt zusammen: bei mir kommt es oft zu Verbindungsabbrüchen, obwohl die Signalstärke gut ist, andrerseits kann man bei gerade noch ausreichender Signalstärke eine stabile Verbindung haben (ist eben digital). Und die Übertragungsrate ist noch einmal eine ganz andere Baustelle, die wird von hundert weiteren Faktoren beeinflusst. Sicher ist nur Signal 0 -> keine Verbindung.

Sicher ist auch: das Modem meldet die Signalstärke. Im Datenblatt von Huawei usw. steht irgendwo, mit welchem Befehl man die abfragen kann. Aber um da dranzukommen, müsste man praktisch den Treiber von Vodaphone neu schreiben. Eine weitere Softwareschnittstelle, an der sich die Signalstärke abfragen lässt, gibt es sicher nicht.

Nebenbei bemerkt: die Datenrate ändert sich sowieso dynamisch, hole ich eine Website, so schaltet das System auf HSDPA hoch, bei Inaktivität zurück auf UMTS. Als Rate wird immer 7.2 MBit/sec angezeigt, aber das ist nur die eingestellte virtuelle Baudrate und hat mit der tatsächlichen aktuellen Bandbreite überhaupt nichts zu tun.

Gruss Reinhard
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#5

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 10:20
Naja, aber die Unterscheidung würde mir ja an sich erstmal schon reichen.

Das GetInternetConnectionState sagt mir ob eine Verbindung besteht oder nicht. Wenn ich zusätzlich noch die Signalstärke hätte, könnte ich zumindest schonmal erkennen, ob eine Verbindung auf Grund von Signal-Stärke = 0 - also kein Netz - nicht besteht, oder ob ich eigentlich ein ausreichendes Netz habe und trotzdem keine Verbindung besteht. Übertragungsraten etc. wären an sich höchstens interessant, wenn ich auch wirklich was sende, nicht im passiv-Modus. Das die sich unterscheiden würden war eh klar.

Ist vielleicht auch schon viel zu kompliziert gedacht durch das Beispiel was ich verlinkt habe...

Eine üsselige Anzeige der Signalstärke mit Balken wie beim Handy würd mir völlig reichen, im absoluten Notfall täte es vermutlich sogar schon ne 1/0-Anzeige mit "1 = Netz", "0 = kein Netz".
Ich will ja im Prinzip nur erreichen, dass der User darüber informiert wird ob er an seinem aktuellen Standort überhaupt technisch ne Chance hat etwas zu versenden oder nicht. Dazu reicht aber die Info aus dem GetInternetConnectionState an sich nicht aus, da eben wie du schon sagst, die Verbindung trotz eigentlich ausreichender Signalstärke nicht zu stande kommen kann.

Naja, werd heute nachmittag mal die Kiste abholen und dann am Life-System mal schauen wie genau sich das darstellt, und was genau für Karten drin sind. Evlt. gibt's ja Alternativ-Treiber für die UMTS-Karten oder sowas... Wenn ich dafür den Treiber wirklich selbst schreiben müsste, dann muss es evlt. doch die einfache Angabe aus dem GetInternetConnectionState tun...

Andere Möglichkeit wäre evlt. nen "Ausschnitt" aus meinem Formular auszublenden in den ich im Hintergrund dann das Info-Fenster von Vodaphone lege, damit die Daten sichtbar bleiben... Mal schaun...
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#6

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 10:35
Finde das ganze interessant und habe mal danach gegoogelt, folgendes gefunden, vielleicht hilft es ja:

http://mwconn.m.i24.cc/

auf der Seite unten gibt es eine Treiber Liste sowie ein Link zu den unterstützen
Karten.

Pascal:
http://projects.coltishware.com/mwpas/
http://mwconn.info
hier
http://mwconn.info/viewtopic.php?f=9&t=19
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#7

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 12:34
blos das die Signalstärke nicht viel bringt ... so gegen 16°° ist das Netz hier manchmal überlastet und bricht abundzu zusammen ... die Signalstärke ist aber dennoch sehr gut (Mast ist ja immernoch in der Nähe)

OK, jede Sekunde ist vielleicht schon etwas viel

wie oft verschickt deine Anwendung denn seine Daten?
und kannst du da nicht einfach eine Fehlerbehandlung einbauen? (also wenn nichts gesendet werden konnte)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#8

Re: UMTS Signalstärke auslesen

  Alt 26. Mär 2009, 14:10
Naja, Fehlerbehandlung ist gut gesagt...
Mitteilen, dass nicht gesendet wurde, tut die Software. Das Problem ist der Grund, genauso wie es ggf. unpraktisch ist bei fehlendem Netz durch die Gegend zu fahren und jedesmal nen neuen Sendeversuch zu starten um zu erfahren ob man nun Senden kann oder nicht. Ist schon klar, dass man ggf. trotzdem noch mehrfach testen muss, nur solange man gar kein Netz hat, braucht man halt auch gar nicht erst versuchen was zu senden. Und diese Info wäre halt schonmal viel wert.

Die Frage ob man bei vorhandenem Netz wirklich senden kann oder nicht - und wenn nicht dann warum nicht, ist noch ne ganz andere Sache.

Das mit dem Mast in der Nähe ist so ne Sache.. Bei Überlastung wird (der Theorie nach) der Empfangsradius des Mastes reduziert. Wer "zu weit" weg ist, wird auf nen anderen Mast umgeleitet (was an sich schon nen Verbindungsabbruch erzeugen kann, aber nicht muss) oder verliert ganz den Zugang zum Netz, bei letzterem sollte aber auch kein Signal vorhanden sein.

Das ganze Szenario für die Software liegt aber auch nicht im Großstadtbereich wo man evlt. mehrere Masten zur Auswahl hat oder das Netz überlastet ist oder sowas. In dem Kontext sind bisher keine Probleme aufgetreten. Die Software käme real wirklich "auf dem platten Land" zum Einsatz, und mit platt mein ich, du stehst mitten auf ner Wiese und das nächste Haus ist 10km weg (so als Beispiel).

Und meiner bisherigen Erfahrung nach dürfte da eben vorallem die Frage entscheidend sein, liegt überhaupt ein Mast in Reichweite. Die Daten zur Signalstärke und zum "rauschen" sollen halt nur mit angeben, ob sich was "verbessert" wenn man unterwegs ist.
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#9

Re: UMTS Signalstärke auslesen

  Alt 27. Mär 2009, 09:44
Also, hab mir gestern die UMTS-Karte besorgt, mit der die Software arbeiten muss, und dann mal etwas rumprobiert.

Bin noch dabei, aber ich muss sagen, die Links von user0815 sind genial. Hatte ja das MWconn selbst schon gefunden, war nur nicht bis zu der Pascal-Portierung vorgedrungen...

Dank des SharedMemory-Access lassen sich wunderbar alle Daten die man irgendwann irgendwie irgendwo mal brauchen können wollte - ja, es sind viel mehr, als ich wohl jemals brauchen werde *gg* - auslesen.

Hab mir jetzt ne kleine Testanwendung geschrieben, die regelmäßig die Daten ausliest und ausgibt, ganz genau so wie es das MWConn selbst auch tut - nur eben jetzt erstmal über nen Delphi-Formular, statt über das MWConn eigene oder über die Konsole wie es das MWConnPas tut.

Einziger Nachteil der ganzen Geschichte ist die, dass (natürlich) MWConn laufen muss, damit das ganze funktionieren kann, und zumindest bei mir entgegen der Behauptung des Herstellers keine zwei Einwahltools nebenander laufen können. Sprich wenn die Vodaphone eigene Software läuft bekommt das MWConn keine Verbindung zur Karte, und im Moment klappt die Verbindung über das MWConn bei mir noch nicht. Er findet das Netz etc. und zeigt die Signalstärke und alles schön an, nur verbinden klappt nicht. Denke aber mal dass ist nen Config-Problem, dass ich noch lösen werde.

Vorteil ist halt wie gesagt, dass man die Netzdaten abfragen kann, ohne dass man ne Verbindung aufbauen und irgendwas runterladen müsste.


Werd jetzt nochmal nen bisschen damit rumspielen, aber ich danke schonmal sehr für die Hilfe!!

Gruß
Mongfice
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz