Ako kompiluje program Arduino Web Editor

Zápisník experimentátora

Pred pár mesiacmi sme nahliadli do Arduino Web Editora. Je to online prostredie, ktoré umožňuje písať programy pre Arduino priamo v prehliadači. V dnešnom článku nahliadneme pod jeho kapotu a povieme si niečo o tom, ako toto nové prostredie kompiluje program.

Spustenie editora

Pred pár mesiacmi bol prístup k editoru pomerne komplikovaný, dnes už stačí sa len zaregistrovať na stránke Arduina a otvoriť si editor. Vstupný bod nájdete na stránke https://www.arduino.cc/en/Main/Software, kde hneď na začiatku stránky nájdete vstup do editora. Je vhodné si prečítať Getting Started, kde je celý postup prihlásenia popísaný. Nie je nevyhnutné realizovať krok inštalácie Arduino Web Editor plugin, pokiaľ sa chcete do prostredia iba pozrieť. Bude to fungovať aj bez neho, iba nebudete môcť nahrávať kód do Arduina. Ale všetky ostatné činnosti editora si budete môcť vyskúšať.

Arduino Web Editor je zaujímavý tým, že si nemusíte inštalovať žiadne knižnice ani dosky. Všetky sú už priamo v prostredí. No, slovo všetky je asi trochu prisilné. Ale je ich tam dosť a zoznam pravdepodobne kompletne korešponduje so zoznamom v správcovi knižníc v normálnom IDE. Ak nejaká knižnica chýba, možno ju pridať v podobe ZIP archívu.

S pridaním iných dosiek je to komplikovanejšie a mám pocit, že sa to momentálne asi ani nedá. Všetko to pravdepodobne súvisí s tým, ako je to celé navrhnuté.

Proces kompilácie

Kompiláciu na ľubovoľnú dosku si vyskúšate jednoducho. Prepnite si záložku Sketchbook a na nej kliknite na NEW SKETCH. Vygeneruje sa vám prázdny príklad s funkciami setup a loop. Vpravo nad programom je prázdne pole, v ktorom je nápis Select Board or Port. Kliknite na to, a vyberte hocijakú dosku. Stlačte tlačidlo Verify a kód sa skompiluje. Bez ohľadu na to, že žiadnu takú dosku nemáte, ani ste ju nijako neinštalovali. Ako je to urobené?

Dá sa to zistiť jednoducho. Ak používate Google Chrome, otvorte si Developers Tools na záložke Network. Kliknite na Verify a sledujte sieťovú komunikáciu. Uvidíte tam požiadavku na stránku https://api-builder.arduino.cc/builder/v1/compile. V požiadavke je ako JSON celý váš zdrojový kód, ktorý sa odošle na danú adresu a naspäť sa vráti odpoveď o chybách alebo úspešnej kompilácii.

Z toho sa dá odvodiť, že sa váš kód kompiluje niekde v cloude a vám príde už len odpoveď. Z informácii na stránke sa dá vyčítať, že tento editor sa nachádza v Amazon Web Services. Čiže Arduino tam má nejaké virtuálne počítače s nainštalovanými doskami, na ktorých prebehne kompilácia. Ťažko povedať, koľko ich tam majú, ale na pokrytie dopytu fanúšikov Arduina z celého sveta tých virtuálov až tak veľa potrebných nebude.

Zaujímavé riešenie a v priebehu nasledovných rokov uvidíme, ako sa tento spôsob kompilácie bez nároku na lokálne počítače bude vyvíjať. Najmä ak bude nejaká možnosť, ako na tých virtuálnych počítačoch kompilovať aj ďalšie dosky, ktoré sa momentálne v ponuke neachádzajú.


22.03.2017


Menu