0% found this document useful (0 votes)
69 views16 pages

IoT NodeRed Tutorial 2023

This document provides a tutorial on using data received from The Things Network (TTN) with Node-RED, InfluxDB, and Grafana. It outlines how to connect Node-RED to TTN to receive sensor data via MQTT, extract specific values using functions, and visualize the data in real-time dashboards. Additionally, it describes how to configure email notifications triggered by sensor thresholds using the node-red-node-email plugin.

Uploaded by

Hoàng Võ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views16 pages

IoT NodeRed Tutorial 2023

This document provides a tutorial on using data received from The Things Network (TTN) with Node-RED, InfluxDB, and Grafana. It outlines how to connect Node-RED to TTN to receive sensor data via MQTT, extract specific values using functions, and visualize the data in real-time dashboards. Additionally, it describes how to configure email notifications triggered by sensor thresholds using the node-red-node-email plugin.

Uploaded by

Hoàng Võ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

IoT LoRa application service

Tutorial
F. Ferrero, J. Lanteri
V.1.3

1
Node Red – InFluxDB - GRAFANA

In this tutorial your are going to learn


how to use the data received on TTN
2
Outline
1/ Definition
2/ Tutorial

3
Node Red
• Node-RED is a programming tool for wiring together hardware devices, APIs
and online services in new and interesting ways.
• It provides a browser-based editor that makes it easy to wire together flows
using the wide range of nodes in the palette that can be deployed to its
runtime in a single-click.
• Built on Node.js
• The light-weight runtime is built on Node.js, taking full advantage of its event-driven,
non-blocking model. This makes it ideal to run at the edge of the network on low-
cost hardware such as the Raspberry Pi as well as in the cloud.

4
Outline
1/ Definition
2/ Tutorial

5
Node-Red
First install Node.JS : https://nodejs.org/en/download/

Then : Install Node-red :


https://nodered.org/docs/getting-started/windows

Install package in Node Red :


node-red-node-email

Install git : https://git-scm.com/downloads

6
Connecting to TTN
• Start NODE.js command prompt
• Run : node-red
• Open your web browser and go
to http://127.0.0.1:1880

7
Connecting to TTN
• You have the graphical Node-red
editor
• Add mqtt in node
• Edit mqtt
• Choose « Add new mqtt-broker
… » in App and click on edit
• Output is a parsed JSON object

8
Connecting to TTN
• Update security and topic:

• Go to you application in TTN


• Copy past the User name and keys (generate new
API Keys)
• Add topic :
v3/uca-project@ttn/devices/device_name/up

9
Connecting to TTN

var logMsgs = [];


logMsgs[0]=({payload: {
rssi: msg.payload.uplink_message.rx_metadata[0].rssi,
voltage: msg.payload.uplink_message.decoded_payload.analog_in_3,
temperature:msg.payload.uplink_message.decoded_payload.temperature_1,
humidity: msg.payload.uplink_message.decoded_payload.relative_humidity_2,
luminosity: msg.payload.uplink_message.decoded_payload.luminosity_4
}
});
return logMsgs; 10
Connecting to TTN
• If you want to extract only 1 data,
• As an exemple the RSSI (received
signal Strength indicator
• Use a function to extract the desired
data

var tmp = {};


tmp.payload = msg.payload.uplink_message.decoded_payload.luminosity_4
return tmp;

11
Connecting to TTN

• On the editor, click here


And go to palette editor
Install :
• node-red-dashboard

12
Add a Dashboard
• Go to Manage Palette, select Install
• Install : node-red-dashboard
• Add a function to extract sensor values
(Temp, Hum, luminosity…)
var tmp = {};
• Add Gauge and Graph for Dashboard tmp.payload = msg.payload.uplink_message.decoded_payload.luminosity_4
return tmp;
section
• Add a new UI group in the Gauge and
Graph
• Go to : http://127.0.0.1:1880/ui/
var tmp = {};
tmp.payload = msg.payload.uplink_message.decoded_payload.luminosity_4
return tmp;

13
Send an email
• Go to Manage Palette, select Install
• Install : node-red-node-email
• Configure your email with unice credential (use
your ENT account)
• Use a timestamp to test (click to trigger it)
• Email object is defined in msg.topic
• Email content is defined in msg.payload

14
Send an email triggered on luminosity level
• Add a function to detect is the
luminosity overpass a threshold
• Send an email with a sentence

var tmp = {};


var lum
=msg.payload.uplink_message.decoded_payload.luminosity_4;
tmp.topic = "information capteur";
if (lum>200)
tmp.payload = "il y a de la lumiere";
Else
tmp.payload = "il n'y a pas de lumiere";
return tmp; 15
Good luck for your projects !

16

You might also like