Skip to content

alexfh/robertalab-ev3dev

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

intro

A connector to use a LEGO Mindstorm ev3 running the ev3dev firmware (http://www.ev3dev.org) from the Open Roberta lab (http://lab.open-roberta.org). This is now included by default with ev3dev images (Thanks @dlech), but it is prevented from running by default, so you do have to enable it once:

sudo systemctl unmask openrobertalab.service
sudo systemctl start openrobertalab.service

After running the commands above, it will start automatically after a reboot. You can turn it back off by running:

sudo systemctl stop openrobertalab.service
sudo systemctl mask openrobertalab.service

If the openrobertalab package is installed and the service is running, the Open Roberta Lab menu item in brickman will allow you to connect to an Open Roberta server. This is how the menu will look like:

Main Menu.

Once you selected the Open Roberta Lab menu item you'll get to this screen:

Open Roberta Lab.

This offers to connect to the public server as the first item, or to a custom server as a 2nd item. The 2nd choice is mostly for developers or for using a local server. When clicking connect, the screen will show a pairing code:

Pairing Code.

This code will have to be entered on the web-ui to establish the link. Once that has been done a beep-sequence on the ev3 confirms the link and this screen is shown:

Connected.

When a program contains an infinite loop, it can be killed by pressing the enter and down buttons on the ev3 simultaneously. If this is not enough to terminate the program, holding the back button for one second will kill it, but together with it the connector. The connector will restart automatically, but one needs to reconnect to the Open Roberta server again.

build status

Build Status Test Coverage

development

prerequisites

python3-ev3dev python3-bluez python3-dbus python3-gi

dist

VERSION="1.3.2" python setup.py sdist

Now you can also build a debian package using debuild or debuild -us -us. The new package will be in the parent folder.

upload to ev3

The easiest is to upload the debian package and install it.

scp ../openrobertalab_1.3.2-1_all.deb maker@ev3dev.local:
ssh -t maker@ev3dev.local "sudo dpkg --install openrobertalab_1.3.2-1_all.deb;"

Alternatively after changing single files you can do:

scp roberta/ev3.py robot@ev3dev.local:
ssh -t robot@ev3dev.local "sudo mv ev3.py /usr/lib/python3/dist-packages/roberta/; sudo systemctl restart openrobertalab"

configuration

The brickman ui will store configuration data under /etc/openroberta.conf. All configuration can be edited from the UI. If there is a need to manually change the config, it is advised to stop brickman.

Testing

python3 -m unittest discover roberta or nosetests. The test require python3-httpretty, but run without python3-ev3dev.

Logging

The service writes status to the system journal.

sudo journalctl -f -u openrobertalab

About

roberta lab connector for ev3dev

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%