You will need BLED112 dongle and pylgbst library.

yum install python3
pip3 install pygatt
pip3 install pexpect
pip3 install https://github.com/undera/pylgbst/archive/1.0.tar.gz

now you can write your first program test.py:

from pylgbst.hub import MoveHub, COLOR_RED
from time import sleep

hub = MoveHub()
hub.led.set_color(COLOR_RED)
sleep(5)
hub.disconnect()

and test it:

python3 test.py

The LED has been changed to red for 5 seconds.

Update: Simpler and newer version: LEGO Boost and Python - CentOS 7.

I've manage to control LEGO Boost using Python.

I've used CentOS 7, BLED112 dongle and pylgbst library.

There are a few command I have to run:

yum install rh-python36
/opt/rh/rh-python36/root/usr/bin/pip install pygatt
/opt/rh/rh-python36/root/usr/bin/pip install https://github.com/undera/pylgbst/archive/0.9.tar.gz
/opt/rh/rh-python36/root/usr/bin/pip install pexpect

now I can run first program (boost1.py):

from pylgbst.movehub import MoveHub

hub = MoveHub()

for device in hub.devices:
    print(device)

using command:

/opt/rh/rh-python36/root/usr/bin/python boost1.py
1
2
55
56
57
50
58
59
60

as you can see, there are list of devices IDs (1, 2, 55, 56, 57, 50, 58, 59, 60).

Let's try to do something (boost2.py):

from pylgbst.movehub import MoveHub, COLOR_RED

hub = MoveHub()

hub.led.set_color(COLOR_RED)

Yes! The LED has been changed to red.

To allow Spyder to access internet when behind a proxy server I used environment variables HTTP_PROXY and HTTPS_PROXY.

In Anaconda Prompt I typed:

set HTTP_PROXY=192.168.1.2:8080
set HTTPS_PROXY=192.168.1.2:8080
pip install graphviz

Settings in ~/.condarc file (as described in Using the .condarc...) didn't works:

proxy_servers:
  http: http://192.168.1.2:8080
  https: https://192.168.1.2:8080

Chciałem przetestować edytor filmów OpenShot , ale zgłaszał dziwny błąd:

Error:  OpenShot has not been installed in the Python path.
(Both the site-packages and /usr/share/openshot folders were checked)

Use the following command to install OpenShot:
  $ sudo python setup.py install

jakby były źle skonfigurowane ścieżki. Przeszukałem pliki (rpm -ql openshot) i spróbowałem uruchomić inną metodą

cd /usr/lib/python2.6/site-packages/openshot
python openshot.py

i dostałem inny błąd

ImportError: No module named xdg.IconTheme

, który już łatwiej było naprawić:

urpmi pyxdg

Potem jeszcze jeden błąd:

ImportError: No module named httplib2

i kolejna "poprawka"

urpmi python-httplib2

Teraz działa bez problemów. Co prawda chciałby jeszcze bibliotekę frei0r (frei0r-plugins), ale to "tylko" dodatkowe efekty.

Ściągnąłem źródła:

cd /tmp
wget http://download.edgewall.org/trac/Trac-1.0.tar.gz
tar -xzf Trac-1.0.tar.gz
cd Trac-1.0/

Za pierwszym razem nie przeczytałem dokładnie zawartości pliku INSTALL, więc doinstalowałem brakujący pakiet:

yum install python-setuptool

Zainstalowałem poleceniem:

python ./setup.py install

wygenerowałem środowisko

mkdir -p /var/lib/trac/pierwsze
trac-admin /var/lib/trac/pierwsze initenv

i od razu nadałem sobie uprawnienia:

trac-admin /var/lib/trac/pierwsze
permission add ja TRAC_ADMIN
quit

Wygenerowałem strukturę katalogów poleceniem:

trac-admin /var/lib/trac/pierwsze deploy /var/www/trac/

i w pliku "/var/www/trac/tracother/cgi-bin/trac.wsgi" dopisałem:

os.environ['TRAC_ENV_PARENT_DIR'] = '/var/lib/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/trac/eggs'

i zmieniłem

if not 'trac.env_parent_dir' in environ:
  environ.setdefault('trac.env_path', '/var/lib/trac/pierwsze')

na

if not 'trac.env_parent_dir' in environ:
  environ.setdefault('trac.env_parent_dir', '/var/lib/trac')

Założyłem wymagany katalog: "mkdir /var/www/trac/eggs"

Założyłem plik "/etc/httpd/conf.d/trac-wsgi.conf"

WSGIScriptAlias /trac /var/www/trac/cgi-bin/trac.wsgi

<Directory /var/www/trac/cgi-bin>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

<Location /trac>
    AuthType Digest
    AuthName "Dostep do repozytorium"
    AuthUserFile /var/lib/svn/haselka
    Require valid user
</Location>

Na koniec nadałem uprawnienia do katalogów:

chown -R apache /var/lib/trac

i przeładowałem serwer:

/etc/init.d/httpd restart

Midnight Commander mimo licznych zalet nie miał powiązania plików *.py z python'em. Na szczęście da się to łatwo naprawić.

W swoim domowym katalogu utworzyłem plik .mc/bindings a w nim wstawiłem:

regex/\.py$
    Open=python %f

po ponownym uruchomieniu mc wystarczy wcisnąć klawisz ENTER na pliku z rozszerzeniem py by go uruchomić.

Można to też zrobić globalnie w pliku /etc/mc/mc.ext ale nie każdy ma do uprawnienia zapisu do tego pliku.

Just my blog...

Mon Tue Wed Thu Fri Sat Sun
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
eZ Publish™ copyright © 1999-2024 eZ Systems AS