vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: wlan RSSI (signalstärke) 
Autor: Urot
Datum: 02.02.05 23:59

lol sorry bin uff enter gekomm ;)

also ich möcht die signalstärke für ne wlanverbindung rauskriegen
die msdn is zu dem thema überhaupt nicht hilfreich un dnach nem abend googlen bin ich auf folgendes script gestossen :

filename = "WiFiLocalSignal.vbs"
program = "Wi-Fi Local Signal Monitor"
version = "0.1"
description = "BSSID, SSID, and RSSI monitor of local XP machine's Wi-Fi card" & _
  "via WMI."
authorInfo = "Beetle <beetle@shmoo.com>"
 
strComputer = "." ' THIS computer
set objSWbemServices = GetObject("winmgmts:\\"& strComputer & "\root\wmi")
 
wscript.echo program & vbcrlf & version & vbcrlf & description & vbcrlf & _
  authorInfo & vbcrlf
 
' find adapters by querying for active signal
set colInstances = objSwbemServices.ExecQuery _
  ("SELECT * FROM MSNdis_80211_ReceivedSignalStrength WHERE Active = True")
if wscript.Arguments.Count = 0 Then ' spit out usage and cards if no args
    wscript.echo "Usage: cscript " & filename & " [cardno]"
	card_no=1
	for each objInstance in colInstances ' more than one instance per card may 
' show up, btw
		wscript.echo card_no & " = " & objInstance.InstanceName
		card_no=card_no +1
	next
    wscript.quit
end If
 
' numberify the arg and set our adapter, matching command arg with an 
' instancename
card_no=abs(wscript.Arguments(0))
x=1
for each objInstance in colInstances
	if x = card_no then
		wifiAdapter = objInstance.InstanceName
		x = x + 1
	end if
next
wscript.echo "Using " & wifiAdapter & vbcrlf
 
 
last_signal = 0 ' we need to initialize this, but I'm not sure if -90 would be _
  a better val to start with
 
i=1
do while i=1 ' an infinite loop.  duh.
 
' get bssid
bssid = ""
set colInstances = objSwbemServices.ExecQuery ("SELECT * FROM" & _
  "MSNdis_80211_BaseServiceSetIdentifier WHERE Active = True AND InstanceName" & _
  "='" & wifiAdapter & "'")
for each objInstance in colInstances
	macbyte = 0
	' convert decimals to hex.  pad zeros & slip in colons where needed
	for each decval in objInstance.Ndis80211MacAddress
		if decval<17 then
			bssid = bssid & "0"
		end if
		bssid = bssid & Hex(decval)
		if macbyte < 5 then
			bssid = bssid & ":"
			macbyte = macbyte + 1
		end if
	next
next
 
' get ssid
ssid = ""
set colInstances = objSwbemServices.ExecQuery _
  ("SELECT * FROM MSNdis_80211_ServiceSetIdentifier WHERE Active = True AND" & _
  "InstanceName ='" & wifiAdapter & "'")
for each objInstance in colInstances
	' convert decimals to chars and avoid non-alphanumerics
	for each decval in objInstance.Ndis80211SsId
		if (decval > 31 AND decval < 127) then
			ssid = ssid & Chr(decval)
		end if
	next
next
 
' this could be tricky, as I've read signal strength is reported in different _
  ways per card.  YMMV.
set colInstances = objSwbemServices.ExecQuery _
  ("SELECT * FROM MSNdis_80211_ReceivedSignalStrength WHERE Active = True AND" & _
  "InstanceName ='" & wifiAdapter & "'")
for each objInstance in colInstances
			sigraw = objInstance.Ndis80211ReceivedSignalStrength ' raw number for later 
' comparison
			signal = sigraw & "dB" ' make it a string that says dB
next
 
last_signal = sigraw
Wscript.echo "BSSID: " & bssid & "  SSID: " & ssid & "  RSSI: " & signal
 
wscript.sleep(1000) ' let's rest half a sec between loops instead of blasting _
  WMI.  increase to 1000?
 
loop
kann sich vielleicht mir die mühe machen das zu übersetzen oder grob zu erklären worum es dort geht ?


ps: wann kommt die edit funktion fürs forum
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
wlan RSSI (signalstärke)2.922Urot02.02.05 23:57
Re: wlan RSSI (signalstärke)7.021Urot02.02.05 23:59
Re: wlan RSSI (signalstärke)3.111Urot03.02.05 00:05
Re: wlan RSSI (signalstärke)3.024ModeratorFZelle03.02.05 09:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel