## Node-RED: Tipy a triky #1 [D. Bruothová, P. Bálint, M. Biňas](https://bletvaska.github.io) / [**Namakaný webinár**](http://www.namakanyden.sk)
[![Node-RED Logo](images/logo-node.red.png)](https://nodered.org)
## Čo je Node-RED I.? > Node-RED is a **visual tool** for **wiring** the Internet of Things. (2016) > **Flow-based programming** for the Internet of Things. (2017) > **Low-code programming** for **event-driven applications**. (2019)
## Čo je to Node-RED II.? > [Node-RED](https://nodered.org) is a **programming tool** for **wiring** together hardware devices, APIs and online services in new and interesting ways. ([homepage](https://nodered.org))
## A okrem toho... * open source (zadarmo) * platformovo nezávislý ([nodejs](https://nodejs.org/)) * aplikácia v prehliadači
## Tip #1 ### Spustenie ako Docker kontajner
![Virtual Machines vs Containers](images/virtual.vs.container.jpg)
## Skúsenosti a vlastnosti * skúsenosti z predmetu [Základy IoT](https://kurzy.kpi.fei.tuke.sk/iot1/) * výhody spustenia v kontajneri * izolované a bezpečné * posledná verzia * "prenositeľné" riešenie * oficiálna [dokumentácia](https://nodered.org/docs/getting-started/docker) * [(oficiálny) obraz na hub.docker.com](https://hub.docker.com/r/nodered/node-red/)
## Spustenie ```bash $ docker container run -it --rm \ --publish 1880:1880 \ --volume $(pwd)/data:/data \ --name nodered \ nodered/node-red ```
## Tip #2 ### Použitie dát z externého CSV súboru
## Houston, we have a problem odkiaľ získať reálne dáta?
## Riešenie problému 1. kde získať dáta? * vlastná príprava v tabuľkovom procesore * vlastné reálne získané dáta * stiahnuť z internetu (napr. [Kaggle](https://www.kaggle.com/)) 2. použitie zabudovaného uzla `csv` z kategórie `parser`
## Výsledný flow [![Reading data from CSV file](images/reading.csv.file.png)](resources/read.from.csv.json)
## Tip #3 ### Node-RED na Raspberry Pi
## Node-RED na RPi OS * je súčasťou obrazu [RPi OS with desktop and recommended software](https://www.raspberrypi.org/software/operating-systems/) * môžete si ho doinštalovať: ```bash $ sudo apt update $ sudo apt install nodered ``` * spustíte ho z menu `Programming`
![Difference on RPi](images/nodered.on.rpi.png)
### [`node-red-contrib-play-audio`](https://flows.nodered.org/node/node-red-contrib-play-audio) A node-red node for playing audio in the browser
### Uzol `play audio` [![Ukážka použitia uzla `play audio`](images/play.audio.png)](resources/play.audio.json)
### [`node-red-node-pi-gpio`](https://flows.nodered.org/node/node-red-node-pi-gpio) The basic Node-RED node for Pi GPIO
[![RPi GPIO Pinout](images/rpi.gpio.pinout.png)](https://www.raspberrypi.org/documentation/usage/gpio/)
### Uzly `Pi Keyboard` a `Pi Mouse` [![Ukážka použitia uzlov `Pi Keyboard` a `Pi Mouse`](images/keyboard.and.mouse.png)](resources/pi.keyboard.and.mouse.json)
### Uzol `gpio out` [![Ukážka použitia uzlu `gpio out`](images/gpio.out.png)](resources/gpio.out.json)
### Uzol `gpio in` [![Ukážka použitia uzlu `gpio in`](images/gpio.in.png)](resources/gpio.in.json)
## Otázky?
## Zdroje * [domovská stránka nástroja Node-RED](https://nodered.org) * [Node-RED kanál na YouTube](https://www.youtube.com/channel/UCQaB8NXBEPod7Ab8PPCLLAA) * [Úvod do Internetu vecí](https://youtu.be/coqzmKypHyE) * [Getting started with Node-RED](https://projects.raspberrypi.org/en/projects/getting-started-with-node-red)
## Dnešné ukážky * [Načítanie údajov z CSV súboru](resources/read.from.csv.json) ([weather.csv](resources/weather.csv)) * [Prehrávanie zvuku na RPi](resources/play.audio.json) * [Čítanie z klávesnice a z myši na RPi](resources/pi.keyboard.and.mouse.json) * [GPIO Out uzol](resources/gpio.out.json) * [GPIO In uzol](resources/gpio.in.json)
![qr code](https://api.qrserver.com/v1/create-qr-code/?data=https://bit.ly/2SX3j0t&size=300x300) (**https://bit.ly/2SX3j0t**)