Submitted by owner on
Lego Mindstorms EV3 je úžasné a s ev3dev je ještě úžasnější — takový je slogan linuxové distribuce Debian upravené pro EV3.
Autoři vzali linuxové jádro od LEGO, povýšili je na v3.16 a přidali řadu hardwarových ovladačů, takže EV3 s ev3dev umožňuje připojit celou řadu USB WiFi adaptérů, bluetooth klávesnic a gamepadů, USB audio přehrávačů atd. Procesor ARM9 v EV3 je podporovanou platformou pro Debian, a tak můžete přidávat nový software obvyklým: sudo apt-get install xyz
.
Programování EV3 v jazyce Python
Knihovna pro Python a ev3dev je na GitHub, ale k pohodlnému programování přímo z prostředí prohlížeče (takže třeba i tabletu) a k okamžitému spouštění kódu se hodí přidat podporu interaktivního IPython se zápisníky Jupyter.
Postup přípravy:
- microSD karta s ev3dev
- spojení EV3 s Windows PC
- instalace podpory programování v Python
- spuštění notebook serveru na EV3
- programování v Python
microSD karta s ev3dev
Na microSD kartu (max. 32 GB) zkopírujeme obraz operačního systému ev3dev.
Jednotlivá vydání systému jsou ke stažení na stránkách GitHub. Aktuálně nesou označení ev3-ev3dev-jessie….
Stažený obraz na microSD kartu lze zkopírovat např. pomocí nástroje Win32 Disk Imager.
Připravenou microSD kartu vložíme do štěrbiny vypnuté kostky Lego EV3 a kostku spustíme.
spojení EV3 s Windows PC
Kostku EV3 spojíme s PC USB kabelem. Díky RNDIS kabel využijeme jako síťový. Přes něj se kostka EV3 dostane na internet.
Postup připojení je přehledně popsán na ev3dev.org.
Po úspěšné instalaci ovladače RNDIS je třeba na PC nastavit sdílené připojení k internetu: Ovládací panely > Centrum síťových připojení a sdílení > Změnit nastavení adaptéru ≫ pravé tlačítko na připojení k internetu, Vlastnosti > karta Sdílení > Umožnit ostatním uživatelům v síti využívat připojeník internetu tohoto počítače.
Brána (RNDIS spojení), která takto vznikne, dostane IPv4 adresu 192.168.137.1.
Na kostce EV3 nastavte parametry protokolu IPv4.
Wireless and Networks > All Network Connections > Wired > IPv4; Change; Load Windows Defaults.
Kostka EV3 tak dostane adresu 192.168.137.3.
Ověřte spojení s kostkou EV3. Spusťte Příkazový řádek a zkuste:
ping 192.168.137.3
instalace podpory programování v Python
Ke kostce EV3 se přihlásíme jako ke vzdálenému počítači. Použijeme klienta Telnet a SSH PuTTy.
V PuTTy zadáte do pole Host name: 192.168.137.3 | Port: 22 | stisknete Open.
Po chvíli se objeví výzva k přihlášení:
login as:
Zadejte: robot
Objeví se výzva pro zadání hesla:
robot@192.168.137.3's password:
Zadejte: maker
Zpřístupníme si všechny možnosti „superuživatle“:
sudo su
Zopakumjeme heslo:
[sudo] password for robot:
Zadejte: maker
Dál už ovládáme interpret příkazového řádku v ev3dev.
Přidáme názvový server, aby bylo možné v internetu používat symbolické adresy.
Upraví se soubor s názvovými servery:
sudo nano /etc/resolv.conf
…a dopíše se adresa např. domácího routeru, přes který se připojujete k internetu:
nameserver 192.168.1.1
Aktualizujeme informace o systému Debian Jessie:
apt-get update
Instalace knihovny pro EV3:
apt-get install --only-upgrade python3-ev3dev
…a instalace interpreteru Python:
apt-get install ipython3
apt-get install ipython3-notebook
spuštění notebook serveru na EV3
Po instalaci (nějakou chvíli potrvá) můžeme spustit server IPython na EV3:
ipython3 notebook --no-browser --ip=* --port=8889
Chcete-li, aby se po startu kostky EV3 spouštěl server automaticky, lze jej přidat k automaticky spouštěným úlohám.
Vytvoříme soubor se „skriptem“:
sudo nano /etc/init.d/ipev3
…a zapíšeme:
#! /bin/sh
# /etc/init.d/ipev3
ipython3 notebook --no-browser --ip=* --port=8889
Nastavíme oprávnění k souboru:
chmod 755 /etc/init.d/ipev3
…a aktualizujeme seznam úloh:
update-rc.d ipev3 defaults
programování v Python
Na PC spustíme internetový prohlížeč a otevřeme stránku s IPython zápisníky:
http://192.168.137.3:8889
