Elektro

02. října 2017 15:38

Úsvit nástupce Arduina? CircuitPython nabízí snazší start

Arduino si hlavně v komunitě DIY a Makerů získalo výhradní postavení. Zda za to může množství klonů Arduina, jejich příznivá cena, připravené knihovny, snad vývojové prostředí nebo cokoliv jiného můžeme spekulovat. Je ale skutečností, že pro amatérské uživatele je prvotní zprovoznění vývojového prostředí obvykle nezanedbatelnou překážkou, stejně jako je někdy komplikované ospravedlnit pořizovací náklady programovacích kabelů.

Obr. 1 Logo CircuitPythonu

V DIY komunitě velmi dobře známá OSHW společnost Adafruit (Adafruit Industries, www.adafruit.com) přišla s novým pokusem tento start projektů ještě více zjednodušit, a to kompletním odstraněním vývojového prostředí v podobě firmware CircuitPython, viz [1] a [2], stavějícím na MicroPythonu, který se používá pro vzdělávací desky micro:bit.

Mikrokontrolér (MCU) obsahující firmware CircuitPython se po připojení pomocí USB k počítači hlásí jako Mass Storage zařízení (obyčejný disk), na kterém se nachází soubor main.py s Python skriptem. Firmware tento skript v MCU zpracovává pomocí Python kompilátoru. Po editaci a uložení tohoto souboru MCU automaticky začne zpracovávat upravený skript. Libovolné zařízení schopné změnit soubor na USB Mass Storage zařízení je tak schopné sloužit pro vývoj vlastních projektů.

CircuitPython používá zredukovaný skriptovací jazyk Python 3 a především vlastní knihovny HW API (viz [3]) pro ovládání periferií. Cílem je sjednotit práci s HW tak, aby bylo možné používat jednotné softwarové funkce napříč různým MCU a jednoduše měnit HW podle potřeb aktuálního projektu.

Jak je zřejmé z použití USB Mass Storage, tak se již bavíme o výkonnějších MCU, než jsou ty 8bitové. Výchozím požadavkem je HW podpora USB připojení. Stoupají ale i nároky na paměť a výpočetní výkon, takže se pozornost přesouvá především k 32bitovým rodinám MCU s jádrem ARM. Tam ostatně směřuje již delší dobu i Arduino. Co se týká aktuální podpory (8/2017), tak CircuitPython firmware existuje pouze pro procesory Atmel SAM D21 a slavné ESP8266.

Vývoj HW API knihoven jde rychle kupředu, na dohled je CircuitPython 2.0 s podporou pro SD karty a obecná ukládací zařízení. Upgrade firmware CircuitPython je přitom řešen buď pomocí naprogramování skrze bootloader (terminál sériového portu) nebo vyhrazeného programovacího režimu, kdy se BIN soubor rovnou nakopíruje na Mass Storage disk a MCU se restartuje. Firmware může být navíc rozšířen o knihovny/balíčky pro konkrétní desku a přímo obsahovat konkrétní pojmenování vývodů a funkce pro dostupné periferie. Balíčky se do MCU nahrávají opět uložením na jeho disk.

Debugování zprostředkovává klasický terminál (také skrz USB), kde jsou k dispozici výstupy Python kompilátoru – chybová hlášení, debugovací zprávy ze skriptu apod. Časem se jistě objeví i pomocné vývojové prostředí, které usnadní zápis skriptu (automatické dokončování, kontrola syntaxe), ale z principu není potřebné.

Není to jistě první pokus podobného charakteru (skripty fungující v MCU), ale je to zajímavá kombinace prosazovaná vlivným hráčem, doprovázená dobrou dokumentací. Klíčová je dostupnost hardware s předprogramovaným CircuitPython firmwarem, aby jednoduchost vyvíjení skutečně nastala. Adafruit nabízí již jednotky typů svých desek upgradovaných na CircuitPython firmware.

Uvidíme, zda se CircuitPython více rozšíří. Ceny 32bitových ARM MCU jsou často i příznivější než pro 8bitové MCU, takže nezbývá než se těšit na jejich širší používání v DIY projektech.

Petr Tošovský

[1] http://makezine.com/2017/08/11/ circuitpython-snakes-way-adafruit-hardware/

[2] https://blog.adafruit.com/2017/01/09/ welcome-to-the-adafruit-circuitpython-beta/

[3] https://circuitpython.readthedocs.io/en/latest/ index.html

Mohlo by se Vám líbit

Velkosériová výroba děr plně pod kontrolou

Vrták nové generace CoroDrill® DE10 nastavil nový standard rychlých výměn při vrtání krátkých děr. Inzerce Společnost Sandvik Coromant, která zaujímá vedoucí postavení v oblasti obráběcích […]

Pokrok v zajišťování kvality: VICIVISION na veletrhu Control 2025

Objevte novou konfiguraci stroje Techno s kombinovanou dotykovou sondou a konfokálním senzorem. Brzy začíná každoroční veletrh Control a společnost VICIVISION bude na této významné mezinárodní […]

Společnost Parker představuje kompaktní rozdělovací rozvody Hi-Pro pro prostorově omezené vysokotlaké aplikace

Divize Instrumentation Products Division Europe společnosti Parker Hannifin, mezinárodního lídra v oblasti technologií a systémů pro řízení pohybu, uvádí na trh řadu kompaktních rozdělovacích rozvodů Hi-Pro navržených […]