Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Nov 23, 2019. It is now read-only.

topikachu/python-ev3

Open more actions menu

Repository files navigation

python-ev3

Program Lego Mindstorms EV3 using Python on ev3dev

What you need

You need a working ev3dev on your ev3 and have an ssh session. Please reference the ev3dev site to burn such system.
Current python-ev3 is developed on ev3-ev3dev-jessie-2015-05-20

Both python 2.7 and python 3.4 are supported

python-ev3 is tested on the ev3-dev in python2.7 and python3.4. I have no all lego devices, so if there's something wrong or not working, please file an issue or create a pull request. I'm quite happy to receive more devices code.

virtualenv

Current python-ev3 is not stable enough, virtualenv is recommend. Below examples are in virtualenv. However, python-ev3 should work in a native python environment.

Install the python-ev3 on EV3

Python 2.7

  • apt-get update
  • apt-get install virtualenv virtualenvwrapper python-setuptools python-smbus python-pil
  • source /etc/bash_completion.d/virtualenvwrapper
  • mkvirtualenv ev3_py27 --python=/usr/bin/python2.7 --system-site-packages
  • workon ev3_py27
  • easy_install -U python-ev3
  • type deactive to exit

Python 3.4

  • apt-get update
  • apt-get install virtualenv virtualenvwrapper python3-setuptools python3-smbus python3-pil
  • source /etc/bash_completion.d/virtualenvwrapper
  • mkvirtualenv ev3_py34 --python=/usr/bin/python3.4 --system-site-packages
  • workon ev3_py34
  • easy_install -U python-ev3
  • type deactive to exit

Example

(ev3_py27)root@ev3dev:~# python
Python 2.7.8 (default, Jul  4 2014, 16:59:40)
[GCC 4.9.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ev3.lego import MediumMotor
>>> d = MediumMotor()
>>> d.reset()
>>> d.run_forever(50, regulation_mode=False)
>>> d.stop()
>>> exit()

To exit the virtual env, type deactivate

More devices

Plese see test to know how to use other devices.
To create new sensor class please see How to create a new sensor class

Python3 vs Python2 performance

@fuzzycow found there's some performance problem when using Python3. Please see #22

Reference

About

a project to run lego ev3 in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 18

Morty Proxy This is a proxified and sanitized view of the page, visit original site.