예제 #1
0
def connect_wifi():
    interface = selectWirelessInterface()
    if interface is None:
        print "There is no wireless interface available"
        return

    params = {}
    params['interface'] = interface
    wifiNetworks = []
    wifiNetworkStrings = []
    response = nymea.send_command("NetworkManager.GetWirelessAccessPoints",
                                  params)
    wifiNetworks = response['params']['wirelessAccessPoints']
    for accessPoint in wifiNetworks:
        wifiNetworkStrings.append(
            ("%10s | %s%s | %s %s | %s" %
             (accessPoint['ssid'], accessPoint['signalStrength'], '%',
              accessPoint['frequency'], '[GHz]', accessPoint['macAddress'])))

    selection = selector.get_selection("Wifi access points",
                                       wifiNetworkStrings)
    if not selection:
        return None

    params['ssid'] = wifiNetworks[selection]['ssid']
    if wifiNetworks[selection]['protected'] == True:
        params['password'] = raw_input(
            "Please enter the password for wifi network %s: " %
            (params['ssid']))

    response = nymea.send_command("NetworkManager.ConnectWifiNetwork", params)
    nymea.print_networkmanager_error_code(
        response['params']['networkManagerError'])
예제 #2
0
def show_network_status():
    params = {}
    response = nymea.send_command("NetworkManager.GetNetworkStatus", params)
    if 'status' in response['params']:
        nymea.print_json_format(response['params']['status'])
    else:
        nymea.print_networkmanager_error_code(
            response['params']['networkManagerError'])
예제 #3
0
def disconnect_networkdevice():
    interface = selectWirelessInterface()
    if interface is None:
        print "There is no wireless interface available"
        return

    params = {}
    params['interface'] = interface
    response = nymea.send_command("NetworkManager.DisconnectInterface", params)
    nymea.print_networkmanager_error_code(
        response['params']['networkManagerError'])
예제 #4
0
def scan_wirelessaccesspoints():
    interface = selectWirelessInterface()
    if interface is None:
        print "There is no wireless interface available"
        return

    params = {}
    params['interface'] = interface
    response = nymea.send_command("NetworkManager.ScanWifiNetworks", params)
    nymea.print_networkmanager_error_code(
        response['params']['networkManagerError'])
예제 #5
0
def enable_networking():
    params = {}
    options = ["enable", "disable"]
    selection = nymea.get_selection("Do you want to do with the networking: ",
                                    options)
    if selection == 0:
        params['enable'] = True
    else:
        params['enable'] = False

    response = nymea.send_command("NetworkManager.EnableNetworking", params)
    nymea.print_networkmanager_error_code(
        response['params']['networkManagerError'])
예제 #6
0
def selectWirelessInterface():
    params = {}
    response = nymea.send_command("NetworkManager.GetNetworkDevices", params)
    if response['params'][
            'networkManagerError'] != 'NetworkManagerErrorNoError':
        print("There is no wireless interface available")
        nymea.print_networkmanager_error_code(
            response['params']['networkManagerError'])
        return None

    if len(response['params']['wirelessNetworkDevices']) is 1:
        return response['params']['wirelessNetworkDevices'][0]['interface']
    else:
        interfaces = []
        for wirelessNetworkDevice in response['params'][
                'wirelessNetworkDevices']:
            interfaces.append(wirelessNetworkDevice['interface'])

        selection = nymea.get_selection("Please select a wifi interface:",
                                        interfaces)
        return interfaces[selection]
예제 #7
0
def list_wirelessaccesspoints():
    interface = selectWirelessInterface()
    if interface is None:
        return

    params = {}
    params['interface'] = interface
    response = nymea.send_command("NetworkManager.GetWirelessAccessPoints",
                                  params)
    if response['params'][
            'networkManagerError'] != 'NetworkManagerErrorNoError':
        nymea.print_networkmanager_error_code(
            response['params']['networkManagerError'])
    else:
        print("Wireless accesspoints for interface %s" % interface)
        print(
            "---------------------------------------------------------------------"
        )
        for accessPoint in response['params']['wirelessAccessPoints']:
            print("%20s | %5s%s | %6s %6s | %s | %s" %
                  (accessPoint['ssid'], accessPoint['signalStrength'], '%',
                   accessPoint['frequency'], '[GHz]',
                   accessPoint['macAddress'], accessPoint['protected']))