Lekce 1 - první program¤
V této lekci si představíme Jaculus, nainstalujeme si programovací prostředí a spustíme první program.
Instalace¤
Na našich robotech poběží program, který se jmenuje Jaculus. Tento program nám umožní jednoduše psát instrukce (programy), které nahrajeme do robota. Tyto programy budou specifikovat, jak se robot má chovat, a umožní nám s ním komunikovat. Aby nám všechno správně fungovalo, musíme ho nejprve nainstalovat a k němu i několik dalších programů.
Jaculus¤
Linux¤
Na linuxu je třeba přidat oprávnění udev, více zde.
Instalace Jacula¤
-
Otevřeme si Jaculus web installer v Chrome nebo Edge.
Tento postup nefunguje ve Firefoxu a jinych prohlížečích, které nepodporují rozhraní WebSerial.
-
Zvolíme desku
ESP32 S3 DevKitC
-
V přepínači
Select board version
vybereme nejnovější dostupnou verzi (tzn. tu s nejvyšším číslem). -
Přepínač
Erase Flash
slouží k vymazání programů co už jsou nahrané na ESP. Ve výchozím stavuNo
nevymaže programy v ESP. -
Zapneme Robůtka a podržíme tlačítko
IO0
. Současně s ním zmáčkneme tlačítko s popiskemEN
, které se nachází nalevo od něj. Tímto přepneme robůtka do nahrávacího režimu. -
Po připojení Robůtka k počítači stiskneme na webové stránce tlačítko
Connect
. -
Ve vyskakovacím okénku zvolíme port
COM
na Windows nebottyACM
na unixových systémech a stisknemeConnect
. -
Po chvilce se nám zobrazí tlačítko
Flash
, které zmáčkneme.když nahrávání přes USB-C nefunguje zkuste Micro-USB
-
Chvíli počkáme a jakmile přestanou v konzoli přibývat nové řádky, máme nainstalovaného Jacula v mikrokontroléru!
Node.js¤
Node.js je program, který nám umožní nahrávat kód do Jacula a komunikovat s ním.
- Stáhneme si Node.js (nejnovější stabilní verzi - LTS) - Stahuj ZDE pro Windows
- Nainstalujeme jej dle výchozího nastavení (není potřeba nic měnit).
Visual Studio Code¤
Visual Studio Code je programovací prostředí, které nám umožní psát kód a s rozšířením nám dovolí nahrávat kód do zařízení.
- Stáhneme si Visual Studio Code (nejnovější stabilní verzi) - Stahuj ZDE pro Windows
- Nainstalujeme jej dle výchozího nastavení (není potřeba nic měnit).
Jaculus¤
Nyní už se můžeme vrhnout na samotnou instalaci Jacula
.
- Po instalaci
node.js
restartujeme aplikaci Visual Studio Code. - V horním menu VSCode vybereme záložku
Terminal
a zvolímeNew Terminal
. -
Do terminálu zadáme příkaz vypsaný níže. Na
Linuxu
bude nejspíše potřebasudo
práva.npm install -g jaculus-tools
Dostávám chybu
Pro aplikování všech změn je nutný restart VSCode. Pokud se vám nedaří nainstalovat Jaculus, zkuste nejdříve restartovat VSCode.
-
Pro otestování instalace zadáme do terminálu příkaz:
npx jac
Program by měl vypsat nápovědu.
Ukázka nápovědy
Usage: jac <command> Tools for controlling devices running Jaculus Commands: help Print help for given command list-ports List available serial ports serial-socket Tunnel a serial port over a TCP socket install Install Jaculus to device build Build TypeScript project flash Flash code to device (replace contents of ./code) pull Download a file/directory from device ls List files in a directory read Read a file from device write Write a file to device rm Delete a file on device mkdir Create a directory on device rmdir Delete a directory on device upload Upload a file/directory to device format Format device storage resources-ls List available resources resources-read Read a resource from device get-examples Get example project from device start Start a program stop Stop a program status Get status of device version Get version of device firmware monitor Monitor program output wifi-get Display current WiFi config wifi-ap Set WiFi to AP mode (create a hotspot) wifi-add Add a WiFi network wifi-rm Remove a WiFi network wifi-sta Set WiFi to Station mode (connect to a wifi) wifi-disable Disable WiFi Global options: --log-level Set log level (default: info) --help Print this help message --port Serial port to use (default: first available) --baudrate Baudrate to use (default: 921600) --socket host:port to use
Jaculus VSCode Rozšíření¤
Rozšíření pro VSCode nám umožní jednoduše nahrávat kód do Jacula pomocí ikonek a klávesových zkratek.
- V levém menu VSCode vyberte záložku
Extensions
a vyhledejteJaculus
. - Zvolte
Install
. - Po otevření projektu by se vám ve spodní liště měly objevit oranžové ikonky Jacula.
Používám Windows a nemůžu se připojit přes USB UART
Pokud se vám nedaří připojit na USB UART port, je nutné doinstalovat správné drivery.
- Stáhněte si driver pro váš operační systém. Naleznete jej v záložce
Downloads -> Software -> CP210x Universal Windows Driver
. - Rozbalte ZIP soubor a poté pravým tlačítkem klikněte na
silabser.inf
a vyberteInstall
. - Vyzkoušejte, zda se vám podařilo připojit Jaculus. (možná budete muset restartovat počítač).
První projekt¤
Zde si vyzkoušíme vytvořit první projekt a nahrát jej do Robůtka.
Stáhnout ZIP s prvním projektem
- V prvním kroku si na počítači nachystáme složku
RoboCamp-2024
do které si budeme ukládat veškeré projekty. - Dále si stáhneme zip soubor s prvním projektem.
- Poté si jej rozbalíme do vytvořené složky k táboru.
- Spustíme VSCode a pomocí záložky
File
->Open Folder
vybereme složku s projektem. - Připojíme Robůtka přes
USB-C
.micro-USB
požívejte primárně pokud nefunguje nahrávání přesUSB-C
. -
V levém spodním rohu vybereme
Select COM port
pro výběr portu, na kterém je Robůtek připojený. Poté se nápis změní na vybraný port.Vidím více portů
Pokud se vám v nabídce zobrazí více portů, odpojte Robůtka a zjisťete, který port zmizel. Po připojení Robůtka tento port vyberte.
- Dále zvolíme
Monitor
, ten slouží pro komunikaci se zařízením.
- Dále zvolíme
Nahrání programu¤
Pokud nám funguje připojení na Monitor
a běží nám komunikace se zařízením, můžeme do zařízení zkusit nahrát náš první program.
- Ve VSCode máme otevřený první projekt. V levém
Exploreru
(Průzkumníku
) vybereme soubor zesrc
->index.ts
. V něm vidíme náš první program. - Poté zvolíme
Build and Flash
pro nahrání programu do zařízení. - Stejně jako v předchozí části kliknem na tlačítko
Monitor
. Měli bychom vidět výstup z programu.$ jac monitor --port /dev/tty.usbmodem213101 Connecting to serial at /dev/tty.usbmodem213101 at 921600 bauds... Connected. Robotický tábor 2024, zdraví Jirka Vácha! Robotický tábor 2024, zdraví Jirka Vácha!
- Pro ukončení terminálu, do něj klikneme a stiskneme Ctrl+C.
Úprava programu¤
Pokud nám funguje nahrávání kódu, můžeme se na něj podívat a zkusit jej upravit.
Ve zdrojovém kódu jsou komentáře (// tohle je komentář
), které nám popisují, co který řádek dělá.
- Prostudujeme si zdrojový kód.
-
Upravíme pozdrav na své jméno.
Řešení
... console.log("Robotický tábor 2024, zdraví Franta Flinta!"); // tady jsem změnil své jméno ...
-
Pokusíme se změnit rychlost vypisování.
Řešení
... setInterval(() => { /* moj kod */ }, 500); // čas opakování se udává v milisekundách (1000 ms je 1 sekunda) ...
-
Upravíme barvu.
Řešení
... ledStrip.set(0, colors.red); // nastaví barvu LED na Robůtkovi na červenou ...
Barvy:
red
orange
yellow
green
light_blue
blue
purple
pink
white
off