1、试了ros官方wifi_tool http://wiki.ros.org/wifi_tools svn下载的时候显示连接超时,下不下来,在github上找了包手动下载
https://github.com/svn2github/wifitool https://github.com/svn2github/gaussian_process然后下面两步没问题
rosdep install gaussian_process sudo apt-get install libiw-devrosmake的时候报错 暂时放弃 2、参考的github另一个 https://github.com/azz2k/wifi_sensor 用到一些ubuntu的命令
ifconfig -a #显示全部接口信息。 iwconfig #显示无线网络设备信息该github使用方法 :
mkdir ws && cd ws mkdir src && cd src git clone https://github.com/azz2k/wifi_sensor cd .. catkin_make rosrun wifi_sensor wifi_sensor.py但是这个不知道为什么获取不了数据 就重新自己写了一个wifi_sensor.py,用了Python的pywifi库,然后作为rostopic发布 替换原来的文件,重新编译就能用了 源码贴上
#!/usr/bin/env python import rospy import time import pywifi import numpy as np # from msg import * from std_msgs.msg import String def pub_wifi(): rospy.init_node('wifisensor',anonymous = True) pub = rospy.Publisher('wifi',String,queue_size=10) rate = rospy.Rate(10) #from comtypes import GUID wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] iface.scan() time.sleep(2) while not rospy.is_shutdown(): t = time.time() result=iface.scan_results() for i in range(len(result)): #print(result[i]) # print(t, result[i].ssid, result[i].bssid, result[i].signal) a=[t, result[i].ssid, result[i].bssid, result[i].signal] b = "," . join(str(v) for v in a) #c = b%rospy.get_time() rospy.loginfo(b) pub.publish(b) rate.sleep() if __name__ == '__main__': try: pub_wifi() except rospy.ROSInterruptException: pass