``` title = "Instalace PlatformIO" perex = "Ukážeme si, jak nainstalovat a nastavit platform IO - vývojové prostředí (nejen) pro Arduino založené na moderním prostředí Atom" tags = ["Článek", "Programování", "AVR", "Arduino"] lang = "cpp" image= "lead.png" ``` ## Obsah 1. [Instalace ve windows](#instalace-ve-windows) 2. [Rychlé seznámení s prostředím](#rychle-seznameni-s-prostredim) 3. [Programování bez arduina](#programovani-bez-arduina) 4. [platformio.ini](#platformio.ini) 5. [Závěr](#zaver) 6. [Instalace pod linuxem - Fedora](#instalace-pod-linuxem---fedora) 7. [Problémy při instalaci](#problemy-pri-instalaci) # Instalace ve windows ## Závislosti Nejdřív nějaké potřebné programy. 1. Z [python.org](https://www.python.org/downloads/) stáhneme verzi 2.7.x s verzí 3.x to fungovat nebude. 2. Nainstalujeme standartním způsobem jen musíme při instalaci vybrat přidat python do proměnné PATH  Dále clang - ten sice není nutný ale bez něj nefunguje automatické doplňování, což je velmi užitečný pomocník 1. Z [llvm.org](http://llvm.org/releases/download.html) stáhneme verzi pro windows (až dole) 2. To samé jako u pythonu  ## PlatformIO 1. Stáhneme z [platformio.org](http://platformio.org/platformio-ide) 2. Nainstalujeme - nakonec se i automaticky zpustí prostředí Atom, na kterém je to postavené 3. Počkáme, až se dokončí instalace dalších věcí ## Oprava české klávesnice Pokud používate českou klávesnici tak si určitě všimnete neschopnosti psát {}[] atd pomocí AltGr+Něco. Naštěstí se to dá snadno opravit. Zmáčkneme Ctlr-Shift-P, napíšeme keymap a zmáčkneme Enter. Na konec zobrazeného souboru zkopírujeme následující, uložíme a hotovo '.platform-win32 atom-workspace, .platform-win32 atom-text-editor': 'ctrl-b': 'platformio-ide:target:build' 'ctrl-r': 'platformio-ide:target:upload' 'ctrl-alt-b': 'unset!' 'ctrl-alt-g': 'unset!' 'ctrl-alt-c': 'unset!' 'ctrl-alt-v': 'unset!' 'ctrl-alt-f': 'unset!' 'atom-workspace, atom-text-editor': 'ctrl-alt-b': 'unset!' 'ctrl-alt-c': 'unset!' 'ctrl-alt-f': 'unset!' 'atom-text-editor': 'ctrl-alt-f': 'unset!' 'atom-workspace atom-text-editor:not([mini])': 'ctrl-alt-f': 'unset!' '.platform-win32, .platform-linux': 'ctrl-alt-f': 'unset!' '.platform-win32 atom-text-editor, .platform-linux atom-text-editor': 'ctrl-alt-q': 'unset!' 'atom-workspace atom-pane': 'ctrl-alt--': 'unset!' 'body': 'ctrl-alt-r': 'unset!' '.platform-win32 atom-text-editor': 'ctrl-alt-.': 'unset!' 'ctrl-alt-m': 'unset!' '.platform-win32 .find-and-replace, .platform-linux .find-and-replace': 'ctrl-alt-c': 'unset!' '.platform-win32 .project-find, .platform-linux .project-find': 'ctrl-alt-c': 'unset!' Tento konfigurační soubor navíc ještě nastavuje ctrl-b na sestavení (build) a ctrl-r na nahrání projektu (run). Je to hned navrchu toho souboru - pokud vám tato konfigurace nevyhovuje stačí jí změnit. # Rychlé seznámení s prostředím Vytvoření projektu je snadné - stačí kliknout na ikonku nového projektu  Tím se nám otevře následující menu, které snad nemusím vysvětlovat (vybereme desku a složku, kde se projekt vytvoří)  Následně ve složce src vytvoříme soubor s programem (např main.cpp) - klikneme pravým na src a dáme New File - nyní můžeme programovat. Např jednoduchý program na blikání ledkou. #include "Arduino.h" void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } Pokud uděláme chybu a soubor uložíme tak nás prostředí samo upozorní aniž bychom museli kompilovat. Pro nahrání programu do arduina stačí zmáčnout ctrl-r nebo kliknout na druhou ikonu zhora (šipka vpravo). # Programování bez arduina PlatformIO arduino podporuje, ale nijak nevyžaduje. Stejně jako v Arduino IDE nebo eclipse či Atmel Studiu i tady bude fungovat následující program (který dělá totéž co program výše - bliká ledkou) #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB = 1; while(1) { PORTB ^= 1; _delay_ms(1000); } } # platformio.ini Pokud nechcete, nemůžete nebo nemáte arduino tak platformio lze nastavit i na použití například s USBasp: [env:myboard] platform = atmelavr framework = arduino board = uno board_mcu = atmega328p upload_protocol = usbasp -B5 build_flags = -Llibs -DDEBUG -Wl,-u,vfprintf -lprintf_flt board_f_cpu = 4000000UL Pokud chceme používat arduino knihovny, které jsme si už nainstalovali tak přidáme [platformio] lib_dir=~/Arduino/libraries # případně jiná cesta nebo je můžeme umístit přímo do složky lib # Závěr To je vše! Nyní máte vývojové prostředí (nejen) pro Arduino, které je mnohem lepší než arduino IDE. # Instalace pod linuxem - Fedora Instalace ve fedoře je o poznání rychlejší a jednodušší. Pokud už máte atom sudo dnf -y install clang apm install platformio-ide Pokud ještě ne sudo dnf -y install clang sudo dnf -y install https://dl.bintray.com/\ platformio/ide-bundles/platformio-atom-linux-x86_64.rpm Česká klávesnice funguje dobře od základu takže výše uvedený config není potřeba, ale je užitečné si nastavit klávesové zkratky na zkompilování (zde ctrl-b) a nahrání kódu (ctrl-r). '.platform-linux atom-workspace, .platform-linux atom-text-editor': 'ctrl-b': 'platformio-ide:target:build' 'ctrl-r': 'platformio-ide:target:upload' # Problémy při instalaci ## platformio could not be spawned... 1. Máte python verze 2.7.x? Pokud máte python 3.x tak to nebude fungovat. 2. Máte avast? Pokud ano tak ho na chvíli vypněte. S jinými antiviry to normálně funguje. # Dejte nám vědět! Napište nám na naše [fórum](http://forum.ok1kvk.cz/)