$ 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
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
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
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 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.
$ 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.
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.
# 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
$ qidev life on
$ qidev life off
Supports --ip
$ qidev nao restart
$ qidev nao stop
$ qidev nao start
Supports --ip
$ qidev reboot
$ qidev shutdown
$ qidev rest # put robot to rest
$ qidev wake # wake up robot
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
$ 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
$ qidev dialog # interactive dialog window
Type to force input to the robot.