M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa...

52
M09UF3 M09UF3 M15UF1 M15UF1 V0.1 - 20180403 V0.1 - 20180403

Transcript of M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa...

Page 1: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

M09UF3M09UF3M15UF1M15UF1V0.1 - 20180403V0.1 - 20180403

Page 2: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

22

Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius

físics en l'anomenat internet de les coses (IdC o IoT).

Node-REDQuè és?

https://nodered.org/

Page 3: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

33

Molts exemples basats en la guia de programació de Node RED.

Node-REDDocumentació

http://noderedguide.com/

Page 4: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

44

Node-REDConèixer el temps i trametre-ho per correu

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 5: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

55

Node-REDNode comentari

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 6: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

66

Node-REDNode d'injecció

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 7: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

77

Node-REDLa funció Afegeix món!

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 8: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

88

Node-REDNode de depuració

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 9: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

99Node-REDAconseguiu les claus de l'API

d'OpenWeatherMap

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Claus: https://home.openweathermap.org/api_keys

Page 10: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1010

Node-REDIntroduïu la clau de l'API d'OpenWeatherMap

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Clau: https://home.openweathermap.org/api_keys

Page 11: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1111

Node-REDLa funció Meteo

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 12: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1212

Node-REDConfiguració del node de correu

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 13: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1313

Node-REDConèixer el temps i trametre-ho per correu

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 14: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1414Node-REDConèixer el temps i trametre-ho per correu

Recepció del correu

https://binefa.cat/IoT/nodeRed/02_nodeRed_01.txt

Page 15: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1515Node-REDÚs de JSON a missatges MQTT

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

Page 16: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1616Node-REDTramesa de JSON a missatges MQTT

Nodes d'injecció

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

Page 17: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1717Node-REDTramesa de JSON a missatges MQTT

Node JSON

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

El node JSON tramet un objecte JavaScript a partir de la cadena rebudao tramet una cadena en format JSON si rep un objecte JavaScript.

Page 18: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1818Node-REDTramesa de JSON a missatges MQTT

Node per a trametre MQTT

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

El port habitual per a MQTT no segur és el 1883. En aquest exemple es fa servir un mediador (broker) personalitzat al port 1888.

Page 19: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

1919Node-REDRecepció JSON de missatges MQTT

Node per a rebre MQTT

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

El port habitual per a MQTT no segur és el 1883. En aquest exemple es fa servir un mediador (broker) personalitzat al port 1888.

Page 20: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2020

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

El node JSON tramet un objecte JavaScript a partir de la cadena rebudao tramet una cadena en format JSON si rep un objecte JavaScript.

Node-REDRecepció JSON de missatges MQTT

Node JSON

Page 21: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2121

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

Node-REDRecepció JSON de missatges MQTT

Node de commutació (switch)

Page 22: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2222

https://binefa.cat/IoT/nodeRed/03_nodeRed_01.txt

Node-REDRecepció JSON de missatges MQTT

Node de depuració (debug)

Page 23: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2323

https://binefa.cat/IoT/nodeRed/03_nodeRed_03.txt

Node-REDRecepció JSON de missatges MQTTÚs del node de canvi (change)

Page 24: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2424

https://binefa.cat/IoT/nodeRed/03_nodeRed_03.txt

Node-REDRecepció JSON de missatges MQTTÚs del node de canvi (change)

Page 25: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2525

https://binefa.cat/IoT/nodeRed/03_nodeRed_04.txt

Node-REDRecepció JSON de missatges MQTTÚs del node rbe (Report By Exception)

Page 26: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2626

https://binefa.cat/IoT/nodeRed/03_nodeRed_04.txt

Node-REDRecepció JSON de missatges MQTTÚs del node rbe (Report By Exception)

El node rbe tramet la informació que li entra si es compleixla condició. En aquest cas són variacions superiors al 20%.

Page 27: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2727

https://binefa.cat/IoT/nodeRed/03_nodeRed_05.txt

Node-REDRecepció JSON de missatges MQTT

Ús del node ventall (range)

Page 28: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2828

https://binefa.cat/IoT/nodeRed/03_nodeRed_05.txt

Node-REDRecepció JSON de missatges MQTT

Ús del node ventall (range)

El node ventall transforma un ventall de valors en un altre. En aquest cas pot rebre un número entre 0 i 1023 i ho transforma proporcionalment a un valor entre -30 i +60.

Page 29: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

2929Node-REDSòcols web (websockets)

https://binefa.cat/IoT/nodeRed/03_nodeRed_07.txt

Page 30: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3030Node-REDSòcols TCP

Servidor ESP32/ESP8266 i client Node-RED

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_08.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/esp32_tcpServer_00/esp32_tcpServer_00.inoCodi d'Arduino IDE per a l'ESP8266: https://binefa.cat/IoT/esp8266/esp8266_tcpServer_00/esp8266_tcpServer_00.ino

Font: http://www.iotsharing.com/2017/05/tcp-udp-ip-with-esp32.html

Page 31: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3131Node-REDSòcols TCP

Client ESP32/ESP8266 i servidor Node-RED

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_09.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/esp32_tcpClient_00/esp32_tcpClient_00.inoCodi d'Arduino IDE per a l'ESP8266: https://binefa.cat/IoT/esp8266/esp8266_tcpClient_00/esp8266_tcpClient_00.ino

Font: http://www.iotsharing.com/2017/05/tcp-udp-ip-with-esp32.html

Page 32: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3232Node-REDSòcols UDP

Client ESP32/ESP8266 i pseudoservidor Node-RED

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_10.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/esp32_udpClient_00/esp32_udpClient_00.inoCodi d'Arduino IDE per a l'ESP8266: https://binefa.cat/IoT/esp8266/esp8266_udpClient_01/esp8266_udpClient_01.ino

Page 33: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3333Node-REDSòcols UDP

Pseudoservidor ESP32/ESP8266 i client Node-RED

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_11.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/esp32_udpServer_00/esp32_udpServer_00.ino

Page 34: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3434Node-REDSòcols UDP

Pseudoservidor ESP32/ESP8266 i client Node-RED

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_12.txtCodi d'Arduino IDE per a l'ESP8266: https://binefa.cat/IoT/esp8266/esp8266_udpServer_01/esp8266_udpServer_01.ino

Page 35: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3535Node-REDLoRaWAN

Nodes 'ttn device' i 'ttn message'

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_13.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 36: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3636Node-REDLoRaWANApp ID

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_13.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 37: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3737Node-REDLoRaWAN

Access Key

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_13.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 38: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3838Node-REDLoRaWAN

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_13.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 39: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

3939Node-REDLoRaWAN

Missatge descendent (downlink)

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_14.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 40: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4040Node-REDLoRaWAN / Missatge descendent (downlink)

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_14.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 41: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4141Node-REDLoRaWAN

Missatge descendent (downlink)

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_14.txtCodi d'Arduino IDE per a l'ESP32: https://binefa.cat/IoT/esp32/lorawan_ttnEsp32_rfm95_01_multichannel-llico_3_13.tar.gz

Page 42: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4242

Node-REDCodificació i descodificació en base64

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_15.txtPer a codificar i descodificar en línia: https://www.base64encode.org/

Page 43: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4343

Node-REDCodificació i descodificació en base64

Presentació en hexadecimal

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_16.txt

Page 44: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4444Node-REDLoRaWAN

TTN fent servir MQTT

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_17.txt

Page 45: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4545Node-REDLoRaWAN

TTN fent servir MQTT

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_17.txt

Page 46: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4646Node-REDLoRaWAN

TTN fent servir MQTT

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_17.txt

Page 47: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4747Node-REDPanells de control (dashboards)

Visualització de números aleatoris a una gràfica

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_18.txtFont: http://developers.sensetecnic.com/article/a-node-red-dashboard-using-node-red-dashboard/

Page 48: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4848Node-REDPanells de control (dashboards)

Visualització de números aleatoris a una gràfica

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_18.txtFont: http://developers.sensetecnic.com/article/a-node-red-dashboard-using-node-red-dashboard/

Page 49: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

4949Node-REDPanells de control (dashboards)

Visualització a una gràfica, manòmetre i text

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_19.txt

Page 50: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

5050Node-REDPanells de control (dashboards)

Visualització a una gràfica, manòmetre i text

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_19.txt

Page 51: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

5151Node-REDPanells de control (dashboards)

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_20.txt

Page 52: M09UF3 V0.1 - 20180403 M15UF1 · 2 Node-RED és una eina de programari desenvolupada per l'empresa IBM que permet connectar dispositius físics en l'anomenat internet de les coses

5252Node-REDPanells de control (dashboards)

Codi Node-RED: https://binefa.cat/IoT/nodeRed/03_nodeRed_21.txtCodi ESP8266: https://binefa.cat/IoT/esp8266/esp8266_MQTTClient_00/esp8266_MQTTClient_00.ino