コード例 #1
0
def main(args):
    print 'connecting to the Controller...'
    controller = soloutils.connect_controller(await=True)

    controller_version = soloutils.controller_versions(controller)['version']
    if LooseVersion('1.1.15') != LooseVersion(controller_version):
        print 'error: expecting Controller to be EXACTLY EQUAL TO 1.1.15'
        print 'your Controller version: {}'.format(controller_version)
        print 'please flash your Controller with 1.1.15 to run this command.'
        print ''
        print '    solo update solo 1.1.15'
        print '    solo update controller 1.1.15'
        sys.exit(1)

    code = soloutils.command_stream(controller, SCRIPT.format(ssid=args['--name'], password=args['--password']))
    controller.close()

    if code == 0:
        try:
            print 'resetting Solo\'s wifi...'
            print '(if solo is not online, you can hit Ctrl+C safely now.)'
            solo = soloutils.connect_solo(await=True)
            soloutils.command_stream(solo, 'init 2 && init 4')
            solo.close()
        except KeyboardInterrupt:
            pass

        print 'setup complete! you are now connected to the Internet.'
        print "(if you are not connected to the Internet on your PC,"
        print " disconnect and reconnect to Solo\'s network.)"

    sys.exit(code)
コード例 #2
0
def main(args):
    print 'connecting to the Controller...'
    controller = soloutils.connect_controller(await=True)

    controller_version = soloutils.controller_versions(controller)['version']
    if LooseVersion('1.2.0') > LooseVersion(controller_version):
        print 'error: expecting version to be >= 1.2.0'
        print 'your Controller version: {}'.format(controller_version)
        print 'please flash your Controller with a newer version to run this command.'
        print ''
        print '    solo update solo latest'
        print '    solo update controller latest'
        sys.exit(1)

    print ''
    if args['--password']:
        print 'connecting to encrypted wifi network.'
        credentials = 'ssid="{ssid}"\npsk="{password}"'.format(
            ssid=args['--name'], password=args['--password'])
    else:
        print 'connecting to wifi network with NO password.'
        credentials = 'ssid="{ssid}"\nkey_mgmt=NONE'.format(
            ssid=args['--name'])
    print '(your computer may disconnect from Solo\'s network.)'

    controller = soloutils.connect_controller(await=True)
    code = soloutils.command_blind(controller,
                                   SCRIPT.format(credentials=credentials))
    time.sleep(8)
    controller.close()

    print ''
    print 'please manually reconnect to Solo\'s network once it becomes available.'
    print 'it may take up to 30s to a reconnect to succeed.'
    controller = soloutils.connect_controller(await=True, silent=True)
    print ''
    code = soloutils.command_stream(controller, 'cat /log/setupwifi.log')
    controller.close()

    try:
        drone = soloutils.connect_solo(await=False)
        print '(resetting Solo\'s DNS...',
        sys.stdout.flush()
        soloutils.command(drone,
                          'ifdown wlan0; ifdown -a; ifup -a; ifup wlan0')
        time.sleep(4)
        drone.close()
        print ' done.)'
    except:
        pass

    sys.exit(code)
コード例 #3
0
def main(args):
    print 'connecting to Solo and the Controller...'

    controller = soloutils.connect_controller(await=True)
    solo = soloutils.connect_solo(await=True)

    data = {}
    data['solo'] = soloutils.solo_versions(solo)
    data['pixhawk'] = soloutils.pixhawk_versions(solo)
    data['gimbal'] = soloutils.gimbal_versions(solo)
    data['controller'] = soloutils.controller_versions(controller)

    print json.dumps(data, indent=2, sort_keys=True)
コード例 #4
0
ファイル: wifi.py プロジェクト: STMPNGRND/solo-cli
def main(args):
    print 'connecting to the Controller...'
    controller = soloutils.connect_controller(await=True)

    controller_version = soloutils.controller_versions(controller)['version']
    if LooseVersion('1.2.0') > LooseVersion(controller_version):
        print 'error: expecting version to be >= 1.2.0'
        print 'your Controller version: {}'.format(controller_version)
        print 'please flash your Controller with a newer version to run this command.'
        print ''
        print '    solo update solo latest'
        print '    solo update controller latest'
        sys.exit(1)

    print ''
    if args['--password']:
        print 'connecting to encrypted wifi network.'
        credentials = 'ssid="{ssid}"\npsk="{password}"'.format(ssid=args['--name'], password=args['--password'])
    else:
        print 'connecting to wifi network with NO password.'
        credentials = 'ssid="{ssid}"\nkey_mgmt=NONE'.format(ssid=args['--name'])
    print '(your computer may disconnect from Solo\'s network.)'

    controller = soloutils.connect_controller(await=True)
    code = soloutils.command_blind(controller, SCRIPT.format(credentials=credentials))
    time.sleep(8)
    controller.close()

    print ''
    print 'please manually reconnect to Solo\'s network once it becomes available.'
    print 'it may take up to 30s to a reconnect to succeed.'
    controller = soloutils.connect_controller(await=True, silent=True)
    print ''
    code = soloutils.command_stream(controller, 'cat /log/setupwifi.log')
    controller.close()

    try:
        drone = soloutils.connect_solo(await=False)
        print '(resetting Solo\'s DNS...',
        sys.stdout.flush()
        soloutils.command(drone, 'ifdown wlan0; ifdown -a; ifup -a; ifup wlan0')
        time.sleep(4)
        drone.close()
        print ' done.)'
    except:
        pass

    sys.exit(code)