PlatformIO – otevřený ekosystém pro vývoj IoT

platformio-logoVývoj software pro různé typy mikrokontrolérů s sebou nese nutnost instalovat, udržovat a provozovat několik vývojových prostředí. Typickým příkladem může být prvotní seznámení s platformou Atmel AVR a frameworkem Arduino. Po nějakém čase zjistíme, že nám náš oblíbený nástroj Arduino IDE přestává svými možnostmi vyhovovat a nainstalujeme Atmel Studio.

K již instalovaným cca 350 MB dat zabírající Arduino IDE přibydou další bezmála 2 GB. Na trhu je ale řada dalších MCU, které chceme ve svých nových projektech používat. Pokud nás zaujmou čipy společnosti Silicon Laboratories, musíme si připravit 5,5 GB pro jejich vývojové nástroje Simplicity Studio. Dále zde máme Freescale (dnes pod NXP), STMicroelectronics, Espressif Systems, Texas Instruments apod.

Chceme-li vyvíjet pro větší portfolio produktů, budeme si muset připravit opravdu velký diskový prostor a nemálo času na správu veškerého programového vybavení. Pokud jsme ale konzervativ- nější a nevyžadujeme, či přímo nechceme, instalovat nadbytečnou dokumentaci a pro nás nepotřebné grafické nástroje, můžeme využít několik „ekosystémů“, které nám vše potřebné zprostředkují.

PlatformIO je takový ekosystém, kombinující IDE (tedy nástroj pro zápis zdrojového kódu), správce knihoven a nástroje pro překlad a nahrání výsledného projektu do MCU. V současnosti podporuje více než 200 vývojových desek (nebo přímo MCU), více než 15 platforem (Atmel AVR, Atmel SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, Teensy, TI MSP430, TI TIVA, …) a více než 10 frameworků (Arduino, CMSIS, WiringPi, libOpenCM3, Energia, SPL, mbed, …). Podporovaným programovacím jazykem je C/C++.

PlatformIO je zjednodušeně „motor“, který běží pod vlastním IDE. Tím může být Arduino, Atom, CLion, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim nebo Visual Studio. PlatformIO ve výchozím stavu neobsahuje vše potřebné pro vývoj aplikací, ale pouze jakési jádro. Důležité nástroje se automaticky stáhnou při prvotním založení příslušného projektu.

Mezi velkou výhodu patří příjemná integrace příkazového řádku (CLI), dále otevřenost, komunita a stále se rozrůstající podpora. Naproti tomu nepřináší pokročilé možnosti vývoje, jako příslušné specializované nástroje přímo od konkrétních výrobců.

PlatformIO lze provozovat jak pod operačním systémem Windows tak Linux nebo Mac OSX. Potřebný softwarový balíček pro náš operační systém pohodlně stáhneme z internetu.

Autor: Zdeněk Břicháček

Zdroj a více informací