Advanced Features

Handling RoboLab-Startup service

It can happen that you have to restart the whole service to get a clean python shell.
To do so you have some commands at your hand:

# Starts the service
$ sudo systemctl start robolab-startup
# Reloads the service (is triggered by the tmux script)
$ sudo systemctl reload robolab-startup
# Restarts the service (is triggered by the tmux script)
$ sudo systemctl restarts robolab-startup
# Stops the service
$ sudo systemctl stop robolab-startup
# Show current state of the service
$ sudo systemctl status robolab-startup

Updating Packages

In some rare cases it may be necessary to update a specific package.
As ev3dev-robolab is based on Debian, we can simply use the Advanced Packaging Tool or short APT. We enabled our RoboLab repository for you.

# Update repository data and our package
$ sudo apt-get update
$ sudo apt-get upgrade -y
# Search for information about specific package
$ sudo apt-cache search/show <package>

Handling of the OS

Reboot or shutdown the system with the following commands:

# Reboots the system
$ sudo reboot
# Shut down the system
$ sudo poweroff

Using SSHFS for Development

If you want to get rid of the annoying back and forth copying after each change in your source code you can simply mount the directory used by the brick using SSHFS.

robolab/      [lokal]
|- .git/      [lokal]
|- src/       [-> EV3]

To start, the first step would be to install sshfs on your local machine.

# Please see the specific command for your system if not Debian-based.
$ sudo apt-get install sshfs

Git does not work by default across file system boundaries. In order to get it work, a global variable must be set on your computer.
Add this to your .bashrc (e.g.) file:

$ export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

To mount or unmount the remote directory use these commands:

# Mount:
$ sshfs robot@<Brick IP>:/home/robot/src src

# Unmount:
$ fusermount -u src