ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

So, I went from a fresh Fuerte install, and installed the linux_networking stack. Using the new rosws, this is pretty straightforward:

roslocate info linux_networking | rosws merge -
rosws update

I then installed the dependencies and compiled the wpa_supplicant_node:

rosdep install wpa_supplicant_node
rosmake wpa_supplicant_node

Once this is all set up, you can get the node running. I believe that this has to be done with super user privileges, as that's what wpa_supplicant requires. Someone may know how to do this with regular user privileges.

The node takes the arguments that wpa_supplicant would normally take, so in my case, I did the following:

sudo -s
source ~/devel/wireless/setup.bash
rosrun wpa_supplicant_node wpa_supplicant_node -iwlan0 -ctest.conf -Dnl80211 -dd

Once running, a rostopic list returns the following:

/wifi/wlan0/associate/cancel
/wifi/wlan0/associate/feedback
/wifi/wlan0/associate/goal
/wifi/wlan0/associate/result
/wifi/wlan0/associate/status
/wifi/wlan0/association_state
/wifi/wlan0/frequency_list
/wifi/wlan0/network_list
/wifi/wlan0/scan/cancel
/wifi/wlan0/scan/feedback
/wifi/wlan0/scan/goal
/wifi/wlan0/scan/result
/wifi/wlan0/scan/status
/wifi/wlan0/scan_results
/wpa_supplicant/parameter_descriptions
/wpa_supplicant/parameter_updates

If you simply want network signal strength, I would suggest using the /*/scan_results topic, which returns the following:

∫ rostopic echo /wifi/wlan0/scan_results
success: True
bss: 
  - 
    stamp: 
      secs: 1339715209
      nsecs: 925256105
    ssid: Avocado
    bssid: [0, 127, 40, 49, 227, 125]
    frequency: 2437
    beacon_interval: 100
    capabilities: 1073
    quality: 0
    noise: 0
    level: -46
    wpa: 
      key_mgmt: ['wpa-psk']
      group: ['tkip']
      pairwise: ['tkip', 'ccmp']
    rsn: 
      key_mgmt: ['wpa-psk']
      group: ['tkip']
      pairwise: ['tkip', 'ccmp']
  - 
    stamp: 
      secs: 1339715208
      nsecs: 921288442
    ssid: ZEO32
    bssid: [0, 24, 1, 236, 26, 48]
    frequency: 2412
    beacon_interval: 100
    capabilities: 1329
    quality: 0
    noise: 0
    level: -86
    wpa: 
      key_mgmt: []
      group: []
      pairwise: []
    rsn: 
      key_mgmt: []
      group: []
      pairwise: []
---

This shows the (rather sparse) wifi networks in my apartment. You can also make calls through the Actionlib interface to the node as well.

Hope this helps you out.