diff --git a/wireless_watcher/CMakeLists.txt b/wireless_watcher/CMakeLists.txt index 032bee5..3a2d4db 100644 --- a/wireless_watcher/CMakeLists.txt +++ b/wireless_watcher/CMakeLists.txt @@ -5,7 +5,7 @@ find_package(catkin REQUIRED) catkin_package() -install(PROGRAMS +catkin_install_python(PROGRAMS nodes/watcher_node DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) diff --git a/wireless_watcher/nodes/watcher_node b/wireless_watcher/nodes/watcher_node index 1a41c30..9962f77 100755 --- a/wireless_watcher/nodes/watcher_node +++ b/wireless_watcher/nodes/watcher_node @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # Software License Agreement (BSD) # # @author Mike Purvis @@ -94,13 +94,13 @@ def main(): while not rospy.is_shutdown(): try: ip_str = subprocess.check_output(['ip', 'addr', 'show', dev], stderr=subprocess.STDOUT) - if re.search(r'^\s*inet\s', ip_str, re.MULTILINE): + if re.search(b'^\s*inet\s', ip_str, re.MULTILINE): connected_pub.publish(True) except subprocess.CalledProcessError: connected_pub.publish(False) try: - wifi_str = subprocess.check_output(['iwconfig', dev], stderr=subprocess.STDOUT) + wifi_str = subprocess.check_output(['iwconfig', dev], stderr=subprocess.STDOUT).decode() fields_str = re.split('\s\s+', wifi_str) fields_list = [re.split('[:=]', field_str, maxsplit=1) for field_str in fields_str] fields_dict = {'dev': fields_str[0], 'type': fields_str[1]}