Skip to content
This repository has been archived by the owner on Nov 23, 2019. It is now read-only.

topikachu/python-ev3

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
ev3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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