Nauč se Python > Kurzy > Workshop: MicroPython > Workshop > Workshop MicroPythonu > Pokyny pro organizátory

Pokyny pro organizátory

Tento motivační wokshop s MicroPythonem potřebuje speciální hardware. Tady je popsáno, jak jsme všechno připravili.

Nákupní seznam

NodeMCU Devkit v2

Dá se koupit z Číny, např. z Aliexpressu.

Malé nepájivé pole (Mini Breadboard)

Dá se koupit z Číny, např. z Aliexpressu.

Modul s tlačítkem

Dá se koupit z Číny, např. z Aliexpressu.

Modrá LED (Uf=3,3V)

Dá se koupit z Číny, nebo např. v GME.

Pásek s 8 LED moduly WS2812 s konektorem

Dá se koupit po metrech z Číny, např. v Aliexpressu, rozstříhat, a napájet na konektory – opět např. z Aliexpressu.

Malý servomotor, např. TowerPro SG92R

Dá se koupit z Číny, např. v Aliexpressu.

Spojovací drátky

Opět se dají koupit z Číny, např. v Aliexpressu.
Jsou potřeba takové, aby se jimi dal připojit LED pásek a motorek k nepájivému poli.

MicroUSB kabel

Jak pro mobil. Doporučuji koupit kvalitní datový kabel. Případně si můžou účastníci donést vlastní, je ale dobré jich mít pár v zásobě, kdyby si přinesli nedatový kabel od nabíječky.

Počítač

Je potřeba i „velký“ počítač – hlavně kvůli obrazovce a klávesnici. Viz nastavení níže.

Příprava hardwaru

NodeMCU zasuň do nepájivého pole, aby na každé delší straně zbyla řada dírek. Do nich zapoj komponenty:

Pin – Součástka
D1 – Anoda LED (delší nožička)
D2 – Katoda LED (kratší nožička)
3V3 VCC tlačítka
GND GND tlačítka
D5 OUT tlačítka
D6 DI LED pásku
D8 Data servomotoru
GND GND servomotoru
3V3 VCC servomotoru
GND GND LED pásku
Vin +5V LED pásku

Nejsou-li vstupy servomotorku označené, bývá červený VCC, hnědý GND, zbylý Data.

Fotografie modulu s veškerým příslušenstvím

Detailní záběr na osazené nepájivé pole

Příprava počítače

Na workshop doporučujeme použít počítače s Fedorou Workstation 25. Pár věcí je potřeba nastavit:

  • Uživatel musí být členem skupiny dialout:

    $ sudo usermod -a -G dialout $(whoami)
    $ su - $(whoami)
    

    (Po tomto nastavení je potřeba se přihlásit a znovu odhlásit, případně v každém terminálu zadat su - $(whoami).)

  • Musí být nainstalované balíčky picocom a ampy:

    $ sudo dnf install picocom ampy
    

    (Na jiných systémech nemusí být ampy v systémových repozitářích. V takovém případě se dá nainstalovat pomocí python3 -m pip install --user adafruit-ampy.)

  • Aplikace Terminal (gnome-terminal) a Textový editor (gedit) jsme dali do oblíbených položek v GNOME. (Klávesa Super – na klávesnici napsat Terminal – přetáhnout ikonku do levého proužku. Zopakovat pro Gedit.)

  • Textový editor jsme nastavili pro Python: odsazování čtyřmi mezerami, ukazování čísel řádků. Podrobněji viz náš návod pro začátečníky.

  • Nastavili jsme možnost výběru české/anglické klávesnice. (Ikonka v pravém horním rohu obrazovky – ikonka s klíčem a šroubovákem – Regional Settings)

Firmware

K flashování je potřeba stáhnout binární obraz MicroPythonu pro ESP8266 a náš předpřipravený začátečnický soubor boot.py.

Potřebné nástroje, esptool a ampy, můžeme na Fedoře nainstalovat z balíčků:

$ sudo dnf install esptool ampy

Na systémech, kde tyto nástroje v systémových balíčcích nejsou, se dají nainstalovat do virtuálního prostředí:

$ python3 -m venv venv
$ . venv/bin/activate
(venv)$ python -m pip install esptool adafruit-ampy

Připojíme NodeMCU přes USB a pomocí esptool ho naflashujeme:

(venv)$ esptool.py --port /dev/ttyUSB0 erase_flash
(venv)$ esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20161110-v1.8.6.bin

(Kdyby neexistovalo zařízení /dev/ttyUSB0, ve výstupu dmesg | tail se dá dohledat, kam se NodeMCU připojilo. V takovém případě ale bude potřeba změnit instrukce k workshopu.)

Nakonec na NodeMCU stiskneme tlačítko RST, pustíme a pak nahrajeme boot.py:

(venv)$ ampy -p /dev/ttyUSB0 put boot.py

Soubor boot.py obsahuje testovací režim pro kontrolu, že je vše nahráno správně. Podržíme-li tlačítko na modulu stisknuté, po resetu (tlačítkem RST nebo přpojením USB kabelu) se motorek otočí a modrá LED i LED pásek zablikají.


Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.