IDE‎ > ‎

PlatformIO IDE

Integrované vývojové prostredie budúcej generácie pre IoT (internet vecí). Ukážeme si jednu z ďalších možností programovania Arduina a to vývojové prostredie PlatformIO IDE. IDE je voľne stiahnuteľné a je podporované väčšinou operačných systémov.

Ištalácia

1. Python interpreter

PlatformIO IDE je založené na PlatformIO jadre, ktoré je napísané v Pythone. Python je štandardne nainštalovaný na všetkých populárnych OS okrem Windows. Pre Windows užívateľov je potrebné k správnemu fungovaniu mať naištalovanú verziu Python v. 2.7.xNezabudnite vybrať položku "Add python.exe to Path", inak príkazový riadok python nebude k dispozícii.

Python Installer Add Path


2. Clang pre inteligentné automatické doplňovanie kódu

PlatformIO IDE používa clang pre inteligentné automatické doplňovanie kódu. Ak chcete zistiť, či je clang k dispozícii vo vašom systéme, otvorte príkazový riadok a spustite "clang --version". Ak nie je nainštalovaný, potom ho je potrebné nainštalovať. Stiahnite si najnovšiu verziu Clang pre Windows. Vyberte pri inštalácii možnosť "Add LLVM to the system PATH".

clang installer add path


3. Ištalácia IDE 

Teraz stiahnite a nainštalujte najnovšiu oficiálnu verziu PlatformIO IDE for Atom bundle (alebo alternatívou je zvlášť nainštalovať Atom text editor a potom otvoriť Atom Package Manager a naištalovať platformio-ide). 

PlatformIO IDE Installing

Na konci inštalácii kliknite na Reload Now


Prvé spustenie

Klikneme na ikonu Atom. Akonáhle je Atom otvorený, PlatformIO IDE sa automaticky natiahne. Po spustení programu sa nám otvorí nasledujúce úvodné okno.

Welcome to PlatformIO


Prostredie PlatformIO IDE

V PlatformIO sa všetky dôležité funkcie a nástroje nachádzajú v ľavom stĺpci. Teraz si ich jednu po druhej predstavíme. Funkcie, ktoré sú rovnaké ako u Arduino IDE, preskočíme. 

01

Build - rovnako ako v Arduino IDE, slúži pre kompiláciu projektu
 
02

Upload - nahrá program do Arduina

03
 
Clean -  slúži na vymazanie všetkých dočasných súborov, ktoré si program vytvoril. Pre nás je tu prakticky zbytočne.

04
 
Run other target... - 

05

Toogle Build Panel -  otvorí kompilačný panel

06

Initialize or Update PlatformIO Projekt - vytvorenie nového projektu

07

Open Project Folder... - slúži k otvoreniu už vytvoreného programu

08

Find in Project... - tlačidlo v podobe lupy slúži na vyhľadávanie slov alebo fráz v programe

09
 
Terminal - otvára príkazový riadok, ktorým možno všetky tlačidlá nahradiť, stačí poznať len správne príkazy

10
 
Library Manager - otvára okno, pomocou ktorého sa dajú hľadať knižnice pre naše programy. 

11

Serial monitor - slúži k otvoreniu sériovej linky medzi počítačom a Arduino.

12
 
Settings - nastavenie prostredia PlatformIO

13

PlatformIO Documentation - online pomoc


Náš prvý program

Teraz si vytvoríme nový projekt, na ktorom si prostredie ukážeme. Začneme tým, že si v počítači vytvoríme adresár "Projekty", do ktorej budeme všetky projekty ukladať. Naším prvým projektom bude klasický "Blink", takže pre neho vytvoríme adresár v adresári "Projekty". Ďalej sa budeme pohybovať iba v prostredí PlatformIO, v počítači bude vystupovať pod názvom Atom.

Na hornej lište máme niekoľko záložiek, jediná ktorá nás teraz bude zaujímať je PlatformIO. Zvolíme možnosť "Initialize new Projekt or update existing". 

ide-atom-platformio-quick-start

Ak ste všetko urobili správne otvorí sa nasledujúce okno.

ide-atom-platformio-quick-start

V prvom riadku sa volí platforma (doska), na ktorú budeme chcieť projekt nahrať. V našom prípade zvolíme Arduino UNO (môžeme ich zvoliť i viac). V druhom riadku využijeme tlačidlo "Other", pomocou ktorého sa nám otvorí adresár, kde nájdeme náš adresár "Blink". Pomocou tlačidla "Initialize" vytvoríme nový projekt. Po vytvorení projektu, by sa mala objaviť nasledujúca obrazovka.

ide-atom-platformio-quick-start


Teraz sa nám na ľavej strane otvoril adresár, ktorý je tu pomerne dôležitý. V našom adresári "Blink" sa vytvorili ďalšie tri adresáre. Nás bude najviac zaujímať adresár "lib" a  "scr". V adresári ".pioenvs" sú súbory pre kompiláciu a ďalšie veci bežiace na pozadí. Do adresára "lib" budeme vkladať knižnice, ktoré budeme v našom programe potrebovať. V adresári "scr" sa potom bude nachádzať súbor s našim programom (môžeme ich mať aj viac).

V adresári "scr" vytvoríme pomocou pravého tlačidla a "New File" súbor "main.cpp", do ktorého budeme písať kód.

ide-atom-platformio-quick-start


Tento súbor je základom všetkého. Spúšťa sa vždy pri nahraní a spustení programu (súbor s iným názvom by sa nespustil). 

ide-atom-platformio-quick-start


Do tohto súboru začneme písať náš program. Programovacie prostredie je určené pre jazyk C++, nie pre Wiring, ktorým programujeme Arduino, ale to sa dá jednoducho zmeniť. Stačí na začiatok programu naincludovať "Arduino.h". Program pre náš skúšobný projekt potom bude vyzerať takto:

/**
 * Blink
 * Turns on an LED on for one second,
 * then off for one second, repeatedly.
 */
#include "Arduino.h"

void setup()
{
  // initialize LED digital pin as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BUILTIN, HIGH);
  // wait for a second
  delay(1000);
  // turn the LED off by making the voltage LOW
  digitalWrite(LED_BUILTIN, LOW);
   // wait for a second
  delay(1000);
}

Teraz spustíme "Build" alebo rovno "Upload".

ide-atom-platformio-quick-start


A mali by ste vidieť zeleným výsledok "success" v paneli building.

ide-atom-platformio-quick-start

Záverečné zhodnotenie a porovnanie s Arduino IDE 

Najväčšie výhody prostredia PlatformIO IDE oproti klasickému Arduino IDE sú nasledovné: 

  • možnosť kompilácie pre viac druhov dosiek 
  • nápoveda a dokončovanie príkazov - program vám bude pri písaní kódu ponúkať veľa možností ako dokončiť daný príkaz 
  • viac dosiek, na ktoré je možné program nahrať (je tu aj veľa iných platforiem, nie len Arduino) 
  • možno programovať aj pomocou C++ bez pridania "Arduino.h", a alebo ich kombinácií, čo ponúka nové možnosti 
  • jednoduché sťahovanie knižníc a ich vkladanie 
Odporúčam vyskúšať!