Micro:bit v. 2.0 – první zkušenosti

Je to již pár let (od roku 2016), co je tu s námi BBC Micro:Bit (dále jen Microbit) jako zajímavá (nejen) výuková platforma. Nyní před Vánoci se objevila nová verze 2.0 s několika zajímavými novinkami.  Většina  z nich byla představena zde v předchozím článku.  My se zde zaměříme především na novinky v používání MicroPythonu.

Hardwarové rozdíly

Tuto kapitolu jsem měl napsanou již před zveřejněním předchozího článku a přišlo mi líto jí mazat, takže pokud si říkáte další popis nového Microbitu, klidně ji přeskočte.

Dáme-li slovo oficiálním stránkám, tak novinky jsou hlavně zabudovaný mikrofon a repráček.  Jsou zde i další novinky, logo Microbitu na čelní straně je nově dotekový sensor, Microbit má nyní lepší procesor, více paměti, Bluetooth ve verzi 5.0 atd. Vše je pěkně shrnuto zde.

Zastavme se nyní u kosmetických vzhledových změn. Nejprve pohled na titulní stranu:

Vlevo Microbit 1.5, vpravo Microbit 2

Nový Microbit zaujme na první pohled „zubatým“ rozhraním s piny. Takto se k zvýrazněným pinům 0 až 2, 3V a GND lépe připínají kabely s krokodýlky. Protože původní Microbit se dělá v několika barvách a logo bylo ve stejné barvě jako zbytek, pak v tomto případě ani nevynikne změna loga (je kovové a tedy žluté jako zbytek)  na dotekové tlačítko, ale při bližším pohledu si toho povšimnete. Také si lze všimnout otvoru pro vstup zvuku do mikrofonu (nad polem diod) vpravo nahoře. Více vyniknou změny na zadní straně:

Vlebo Microbit 1.5, vpravo Microbit 2.0

Opět na první pohled zaujme zubatá dolní strana s piny. Vlevo nahoře je podstatně větší anténa pro Bluetooth. Procesor je nyní uložen šikmo a přibyl repráček a mikrofon. |Informace o hardwaru spolu s šipkami směřujícími k jednotlivým součástkám jsou opět napsány přímo na Microbitu, což je skvělé pro výuku, kdy studenti hned vidí, které součástky mají jakou funkci.

Nevýhodou hardwarových změn, je bohužel rozměrová nekompatibilita s původní verzí. Nový Microbit se tak skoro jistě nevejde do krabiček, které máte z původní verze a může se stát, že budete některé konstrukce předělávat.

Software

Python

Mu editor

Pokud jste zvyklí programovat pomocí editoru Mu a prošli jste si například online kurz projektu imysleni.cz, pak jistě celí nedočkaví hned spustíte editor, připojíte Microbit, napíšete kód, stiknete Flash a… Nic! Nepomůže ani nahrání nové alfa verze editoru Mu. Nefunguje ani příkazový řádek REPL (read–eval–print loop).

Naštěstí je tu relativně jednoduchá možnost nahrát na Microbit nový firmware, se kterým již vše funguje k naprosté spokojenosti. Pokud by vám náhodou vše fungovalo na první dobrou, pak máte již nový firmware na svém Microbitu nahrán. Pokud ne, pak máte tři možnosti. Buď mi věřit a stáhnout si mnou přeloženou verzi z mého githubu nebo si překlad udělat sami anebo přejít k další kapitole.

Pokud půjdete druhou cestou, pak pro překlad doporučuji Ubuntu 20.04. Dobrá zpráva je, že vystačíte s Ubuntu 20.04 nanistalovaném uvnitř WSL2. (Windows Subsystem Linux). Jeho instaklace je skvěle a dostatečně popsána zde. Necítíte-li se na to, vraťte se k možnosti 1 a stáhněte si můj firmware. Stránky s popisem instalace firmware jsou zde na githubu.

Ještě pár rad k překladu, potřebujete nainstalované balíky build-essential a cmake. Dále budete potřebovat vývojářské nástroje pro cross-kompilaci ARM kódu. Nainstalujte nalík gcc-arm-none-eabi a kdyby to nestačilo a při překladu se objevila ještě nějaká chyba, ptejte se Google. Pokud dojde k nějaké chybě opakovaně, i když si myslíte, že jste jí opravili, zkuste před dalším překladem napsat make clean.

Po úspěšném překladu (nebo stažení) stačí soubor MICROBIT.hex nahrát na váš Microbit jako na připojený disk. Počkejte až Microbit přestane blikat, pak jej pro jistotu odpojte a připojte (nebo stiskněte reset), aby jste měli jistotu, že používáte nový firmware a je hotovo.  Svou práci ověříte tak, že s připojeným Microbitem stisknete v editoru Mu tlačítko REPL. Jakmile se REPL objeví v dolní půlce obrazovky, máte vyhráno. Jak radí stránky nového firmwaru, můžete ověřit svou práci:

>>> display.show(Image.HAPPY)

>>> audio.play(Sound.HAPPY)

K tomu můžete přidat následující příkazy a Microbit rozmluvit:

>>> import speech

>>> speech.say("Hallo",speed=200)

Pokud se stane, že se REPL neobjeví, stiskněte tlačítko reset na Microbitu. Funguje-li REPL, bude fungovat i nahrání programu pomocí tlačítka Flash. Nezapomeňte, že v režimu REPL nelze nové programy nahrávat.

Seznam všech příkazů použitelných v MicroPythonu včetně novinek pro verzi 2, naleznete na adrese: microbit-micropython.readthedocs.io/en/v2-docs/index.html

Pozor na jednu skutečnost, pokud do editoru Mu napíšete následující již odzkoušený program:

from microbit import *
import audio
display.show(Image.HAPPY)
audio.play(Sound.HAPPY)

a zkontrolujete syntaxi tlačítkem Check, dozvíte se undefined name Sound. Chyba může být i u mne, používám Alpha verzi editoru Mu. Pokud však program nahrajete pomocí tlačítka Flash do připojeného Microbitu, bude fungovat.

Online editor

Oficiální online editor naleznete na stránkách Microbitu. Abych mohl tento editor zkoumat od začátku, nahrál jsem na Microbit originální firmware s kterým jej zakoupíte. Ten si můžete stáhnout z podpory Microbitu.

Když jsem nyní připojil Microbit, opět nešel spustit REPL. Zde je však pomoc velice snadná, postačí uploadovat jakýkoliv program do Microbitu, tedy třeba i ten výše uvedený a při prvním uploadu evidentně dojde k nahrání nového firmwaru neboť první nahrávání trvá citelně déle než jakékoliv následující.

Dobrá zpráva je, že Microbit po této akci lze použít bez problému i v editoru Mu a výše popsané dobrodružství s překladem firmware je tedy zbytečné. Na druhou stranu, se jedná o zajímavou zkušenost a pocit, že jsem si sám přeložil firmware pro Microbit také není k zahození.

Závěr

Očekával jsem rovněž, že s navýšením kapacity paměti a přechodem na Bluetooth BLE 5 bude možné použít Bluetooth i v MicroPythonu, ale zatím tato možnost není v dokumentaci zmíněna.

Ode mne je to asi vše, co jsem vám chtěl dnes říci, doufám, že vám článek pomohl v oreintaci v MicroPythonu na novém Microbitu a o svých případných zkušenostech se podělíte na fóru.