Getting Wireless Signal Strength / Windows XP

Discussion in 'Python' started by williambattersea@gmail.com, Feb 13, 2008.

  1. Guest

    Hello,

    I'm looking for a way to get wireless signal strength on Windows XP
    with Python. I see there's a library for Linux, but I can't find
    anything for windows. However, I see that using WMI I can access it in
    theory at least, using a query like "select
    Ndis80211ReceivedSignalStrength from
    MSNdis_80211_ReceivedSignalStrength where active=true"

    (I got this from: http://www.dotnet247.com/247reference/msgs/36/181397.aspx)

    I just began playing with the WMI library, but I can't get a hold of
    the signal strength.

    As far as I can tell, I should be able to get a handle on it with:

    import wmi
    c = wmi.WMI()

    wql = "select Ndis80211ReceivedSignalStrength from
    MSNdis_80211_ReceivedSignalStrength where active=true"

    o = c.query(wql)

    But I get an error.
    Traceback (most recent call last):
    File "<pyshell#45>", line 1, in <module>
    c.query("select Ndis80211ReceivedSignalStrength from
    MSNdis_80211_ReceivedSignalStrength where active=true")
    File "C:\Python25\Lib\site-packages\wmi.py", line 889, in query
    return [ _wmi_object (obj, instance_of, fields) for obj in
    self._raw_query(wql) ]
    File "C:\Python25\lib\site-packages\win32com\client\util.py", line
    83, in next
    return _get_good_object_(self._iter_.next())
    com_error: (-2147217392, 'OLE error 0x80041010', None, None)

    Is this not available to me? Any ideas? Am I going about this in the
    wrong way?

    Thanks
     
    , Feb 13, 2008
    #1
    1. Advertising

  2. Tim Golden Guest

    [Somehow got stuck in my outbox... ]

    wrote:
    > Hello,
    >
    > I'm looking for a way to get wireless signal strength on Windows XP
    > with Python. I see there's a library for Linux, but I can't find
    > anything for windows. However, I see that using WMI I can access it in
    > theory at least, using a query like "select
    > Ndis80211ReceivedSignalStrength from
    > MSNdis_80211_ReceivedSignalStrength where active=true"
    >
    > (I got this from: http://www.dotnet247.com/247reference/msgs/36/181397.aspx)
    >
    > I just began playing with the WMI library, but I can't get a hold of
    > the signal strength.
    >
    > As far as I can tell, I should be able to get a handle on it with:
    >
    > import wmi
    > c = wmi.WMI()
    >
    > wql = "select Ndis80211ReceivedSignalStrength from
    > MSNdis_80211_ReceivedSignalStrength where active=true"
    >
    > o = c.query(wql)
    >
    > But I get an error.
    > Traceback (most recent call last):
    > File "<pyshell#45>", line 1, in <module>
    > c.query("select Ndis80211ReceivedSignalStrength from
    > MSNdis_80211_ReceivedSignalStrength where active=true")
    > File "C:\Python25\Lib\site-packages\wmi.py", line 889, in query
    > return [ _wmi_object (obj, instance_of, fields) for obj in
    > self._raw_query(wql) ]
    > File "C:\Python25\lib\site-packages\win32com\client\util.py", line
    > 83, in next
    > return _get_good_object_(self._iter_.next())
    > com_error: (-2147217392, 'OLE error 0x80041010', None, None)
    >
    > Is this not available to me? Any ideas? Am I going about this in the
    > wrong way?
    >
    > Thanks
    >


    I don't have a machine to test this on at present, but one thing to note
    is that the article specifies the WMI namespace (the default is CIMv2),
    so at the very least you'd need to do something like this:

    import wmi
    c = wmi.WMI (namespace="WMI")

    Once you've got the namespace, you should be able to use the standard
    syntax to query the -- frankly, unwieldy -- WMI class:

    for result in c.MSNdis_80211_ReceivedSignalStrength (active=True):
    print result.Ndis80211ReceivedSignalStrength

    The machine I'm on is Win2k and non-wireless so I don't have the class
    available to check.

    Hope that helped

    TJG
     
    Tim Golden, Feb 14, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vasanth
    Replies:
    0
    Views:
    599
    Vasanth
    Jun 28, 2004
  2. Daniel Dyer
    Replies:
    1
    Views:
    979
    Darryl Pierce
    Apr 11, 2005
  3. DamonChong

    Default strength of RSA encryption

    DamonChong, Jan 24, 2006, in forum: Java
    Replies:
    2
    Views:
    2,679
    Roedy Green
    Jan 24, 2006
  4. happymeteor
    Replies:
    2
    Views:
    709
  5. Replies:
    1
    Views:
    2,171
    Ralf Hildebrandt
    Mar 13, 2007
Loading...

Share This Page