Giter Club home page Giter Club logo

qidev's Introduction

qidev

Installation

$ cd qidev/
$ sudo pip install -r requirements.txt
$ cd dist/qidev-X.X  # where X.X is the version number
$ sudo python setup.py install

You're going to need qi (in choregraphe/lib) in your PYTHONPATH. If you use fish shell you can add the following to your config.fish:

$ set -x PYTHONPATH $HOME/path/to/choregraphe-suite-x.x.x.xx/lib $PYTHONPATH

to test, open a terminal and type:

$ qidev --help

Connect to your robot

Set the 'hostname' field in ~/.qidev to the IP address or hostname of the robot. Points all future commands to that address.

$ qidev config hostname Michelangelo.local
$ qidev config hostname 10.1.42.21

# shortcut...
$ qidev connect Michelangelo.local

Specify IP Address(es)

You can specify (an) IP address(es) for a single command with --ip for many commands. For example:

$ qidev install /path/to/my/project --ip Michelangelo.local Donatello.local Raphael.local Leonardo.local

Install a package

Point qidev to your application folder (containing the manifest.xml), package your project (create a .pkg), push it to the robot (via SCP), and install it (via PackageManager). Supports --ip.

$ cd /path/to/my/project
$ qidev install .

# alternatively...
$ qidev install /path/to/my/project

Remove a package

Remove an installed package from the robot. Supports --ip.

$ qidev remove

Return key prompts for package name or UUID with tab-completion. The set of eligible packages is the union of packages installed on all targeted robots. If the package selected for removal is not installed on one of the specified targets, it's just skipped.

Show robot applications

$ qidev show     # table of installed packages
$ qidev show -s  # table of installed services (-s, --services)
$ qidev show -a  # table of active content (-a, --active)
$ qidev show -i  # inspect a package for details (-i, -p, --inspect, --package)

Return key prompts for package name with tab-completion for package inpection.

Starting and stopping behaviors and services

Supports --ip.

$ qidev start     # switch focus to an activity with ALAutonomousLife
$ qidev stop      # stop focused activity

$ qidev start -s  # start a service with ALServiceManager (-s, --sm, --service)
$ qidev stop -s   # stop a service (-s, --sm, --service)

$ qidev start -b  # start a behavior with ALBehaviorManager (-b, --bm, --behavior)
$ qidev stop -b   # stop a behavior (-b, --bm, --behavior)

Return key prompts for activity/behavior/service name with tab-completion.

More complex examples

# specify package id, skip prompt (--name, --id)
$ qidev start --name my-package/my-behavior

# start behavior with no tab-completion 
$ qidev start -b --name my-package/my-behavior

# start service with no tab-completion
$ qidev start -s --name Music

# stop service with no tab-completion on Michelangelo and 10.1.42.21
$ qidev stop -s --name Daps --ip Michelangelo.local 10.1.42.21

Autonomous Life management

$ qidev life on
$ qidev life off

NAOqi management

Supports --ip

$ qidev nao restart
$ qidev nao stop
$ qidev nao start

Power management

Supports --ip

$ qidev reboot
$ qidev shutdown

Stiffness

$ qidev rest  # put robot to rest
$ qidev wake  # wake up robot

Volume

Supports --ip

$ qidev vol n     # set volume to 0 <= n <= 100
$ qidev vol +n    # increase current volume by n
$ qidev vol -n    # decrease current volume by n
$ qidev vol up    # increase volume by 10
$ qidev vol down  # decrease volume by 10

NAOqi logs

$ qidev log       # follow tail-naoqi.log on remote host
$ qidev log --cp  # copy tail-naoqi.log to local machine (--cp, --copy)
$ qidev config log_path /where/I/want/tail-naoqi.log/written  # $HOME by default

Dialog (Work In Progress)

$ qidev dialog  # interactive dialog window

Type to force input to the robot.

qidev's People

Contributors

ccann avatar

Watchers

Fabrice Jumel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.