Tvorba webových aplikácií v Node-RED

Tentokrát si ukážeme, ako nástroj Node-RED využiť na vytvorenie jednoduchej webovej aplikácie, z ktorej budeme vedieť získavať údaje dvojakým spôsobom. Najprv vytvoríme jednoduchú webovú stránku, na ktorej zobrazíme údaje z našich senzorov. A potom vytvoríme jednoduché REST API, z ktorého bude možné získať potrebné informácie v strojovo čitateľnej podobe. Týmto spôsobom dokážeme veľmi rýchlo prototypovať zaujímavé riešenia, pričom sa nemusíme starať o inštaláciu žiadnych mocných nástrojov, ako webový server s podporou jazyka na tvorbu webových aplikácií. Vystačíme si len s niekoľkými uzlami. Ako klienta budeme používať prehliadač, ale rovnako si ukážeme, ako k dátam pristupovať z prostredia našich mikrokontrolérov v jazyku (Micro)Python.

Vo videokonferenčnej miestnosti budeme už od 12:00 a v prípade, že ste mali problém s inštaláciou softvérového vybavenia, pokúsime sa vám pomôcť tieto problémy vyriešiť.

Čo si pripravte ešte doma?

Tento webinár bude vo forme hands-on / workshop-u. Ak teda máte chuť, môžete sa zapojiť a pracovať spolu s lektormi. Samozrejme môžete sa len pozerať a počúvať.

V prípade, že sa chcete zapojiť, nainštalujte si:

  • Node-RED
  • Python min. vo verzii 3.6
  • (ľubovoľné) IDE na písanie kódu v jazyku Python (odporúčame editor Mu)
  • webový prehliadač

Node-RED

Pre prácu budeme používať prostredie Node-RED, ktorý je webovou aplikáciou napísanou v Nodejs. Preto okrem samotného Node-RED budete potrebovať aj prehliadač.

Ako skúsený používateľ môžete prejsť rovno na stránku Getting Started, kde si nájdete spôsob inštalácie, ktorý vám vyhovuje najviac.

Ak na webinári budete pracovať na minipočítači Raspberry Pi, ste za vodou, pretože Node-RED je predinštalovaný v OS Raspbian (full) a stačí ho len spustiť.

Inštalácia Node.js

Node-RED je aplikáciou napísanou v Node.js. Preto v rámci prvého kroku nainštalujeme do počítača práve ten. Ak ste používateľom OS Linux, na inštaláciu použite balíčkovací systém distribúcie.

Pre používateľov OS Windows existujú v príncípe dve základné možnosti:

  1. stiahnite si inštalačku priamo zo stránky nodejs.org (sťahujte LTS verziu, nakoľko tá je stabilná).

  2. použite na inštaláciu balíčkovací systém Chocolatey, kde následne stačí v príkazovom riadku ako administrátor napísať:

    choco install nodejs-lts
    

To, či máte nodejs nainštalovaný správne, si overíte spustením príkazového riadku a napísaním do neho príkazu:

$ node --version
v12.10.0

Príkaz zobrazí verziu nainštalovaného node. Číslo verzie sa samozrejme môže líšiť od spôsobu inštalácie.

Overte tiež, či máte nainštalovaný nástroj npm, pomocou ktorého následne nainštalujeme Node-RED:

$ npm --version
6.14.4

Inštalácia Node-RED

Pokiaľ máme nainštalovaný ako node, tak aj npm, inštalácia nástroja Node-RED je už veľmi jednoduchá - v príkazovom riadku napíšte:

npm install -g --unsafe-perm node-red

Spustenie Node-RED

Ak používate Raspberry Pi s OS Raspbian, nájdete Node-RED priamo v menu a spustíte ho kliknutím na príslušnú položku.

Ostatní budú spúšťať Node-RED z príkazového riadku takto:

$ node-red

Výstup spusteného programu bude vyzerať podobne tomu môjmu:

14 Apr 13:11:40 - [info]

Welcome to Node-RED
===================

14 Apr 13:11:40 - [info] Node-RED version: v1.0.3
14 Apr 13:11:40 - [info] Node.js  version: v12.10.0
14 Apr 13:11:40 - [info] Linux 5.5.13-200.fc31.x86_64 x64 LE
14 Apr 13:11:40 - [info] Loading palette nodes
14 Apr 13:11:41 - [info] Dashboard version 2.7.0 started at /ui
14 Apr 13:11:41 - [info] Settings file  : /home/mirek/.node-red/settings.js
14 Apr 13:11:41 - [info] Context store  : 'default' [module=memory]
14 Apr 13:11:41 - [info] User directory : /home/mirek/.node-red
14 Apr 13:11:41 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
14 Apr 13:11:41 - [info] Flows file     : /home/mirek/.node-red/flows_gotham.json
14 Apr 13:11:41 - [info] Server now running at http://127.0.0.1:1880/
14 Apr 13:11:41 - [warn]

Najpodstatnejší riadok bude tento:

14 Apr 13:11:41 - [info] Server now running at http://127.0.0.1:1880/

Ten hovorí o tom, že na adrese [http://127.0.0.1:1880/](http://127.0.0.1:1880/) sa Node-RED spustil. Ak teda túto adresu otvoríte v prehliadači, mali by ste Node-RED vidieť.