node-red-contrib-wappsto
v0.0.3
Published
Node-RED nodes that enable communication with Wappsto.
Downloads
1
Maintainers
Readme
node-red-contrib-wappsto
This module wil help your apps and devices to work together in new interesting ways. It provides a set of Node-RED nodes that enable communication with Wappsto, as all the necessary API calls are nicely wrapped by the given nodes.
Table of Contents
- Prerequisites
- Installing
- Getting started
- Create your first flow
- Weather flow example
- Manage nodes from Wappsto
- Upload your flows
- License
Prerequisites
Before you start, you need first:
- a Wappsto account (is free);
- Node.js (preferably LTS version) and npm installed on your computer. If you don't have them, you can use e.g. nvm or n to get them easily installed on your computer;
- and Node-RED.
There are at least two ways to install Node-RED:
1. package.json (faster)
Download this file and run in the same directory where you placed the "package.json" file the following command:
npm install
This file also includes all the used nodes in this guide, thus the Installing section and openweathermap
node installation can be skiped. Feel free to add additional nodes.
2. npm
According to Node-RED docs, you can simply execute the following command to install Node-RED package globally on your computer:
sudo npm install -g --unsafe-perm node-red
Installing
Install the Wappsto nodes by either:
using the following command in your
~/.node-red
installation directory:npm install node-red-contrib-wappsto
or using Node-RED Install Pallet, look for "node-red-contrib-wappsto".
Getting started
1. Run Node-RED
If you've chosen the "package.json" installation approach, then execute npm start
command, otherwise node-red
in your terminal to run it. When that is done, to access Node-RED dashboard, open your web browser and go to this address: http://localhost:1880.
If you installed this package while Node-RED was running, remember to restart Node-RED and refresh the dashboard (press F5 key) to see the newly installed nodes.
2. Locate Wappsto nodes
This package comes with two nodes:
listener
- listens for stream events coming from Wappsto and outputs a message so that wired nodes can act upon it.writer
- sends data from wired nodes to Wappsto.
The listener
node (1) can be found under the "input" category whereas the writer
node (2) under the "output" category.
Create your first flow
This section describes a very basic scenario on how you can pass data throught Wappsto.
1. Sending data to Wappsto
Add inject
and writer
nodes to the canvas and wire them together (1). Next, click on the writer
node to open the editing view and add a new "Value" (2). Once you enter the "Value" view, provide your Wappsto email and password (3), and click the "Get" button (4) to retrieve a new installation ID. Then click Add > Done
buttons (5-6) to exit the editing mode.
2. Receiving data from Wappsto
In order to receive and see the injected data, add listener
and debug
nodes to the canvas and wire the debug
node to the second pin of the listener
(7). Open the listener
node editing view and select the previously created "Value" (8). Last but not least, click the Done > Deploy
buttons (9-10).
Click on the inject
node (11) and go to the "Debug" tab to see the injected timestamp (12).
Weather flow example
This flow example extends the previous scenario by adding an openweathermap
node and 2 core "function" nodes to the flow.
1. Prerequisites
You need to have the weather node installed, e.g. execute the following command in your
~/.node-red
directory:npm install node-red-node-openweathermap
Remember to restart Node-RED and refresh your web browser to see the
openweathermap
nodes.Get an OpenWeatherMap API key.
2. Import the example
Copy the content of this file, paste it to Settings > Import > Clipboard
(press Ctrl+I keys to quickly open it) input field, click the "Import" button, and open the "Weather" tab.
Rember to replace "email" and "password" with your Wappsto credentials and get a new installation ID. Use the same ID in both of the "Values". Also, place the API key into the openweathermap
node.
You're ready to deploy and play around!
Manage nodes from Wappsto
Behind the scenes, to enable the communication with Wappsto, the nodes will create a couple of data structures that are part of our Unified Data Model, that is: Network > Device > Value > State
. Each node in this schema represents a "Value". The created schema and its data can be accessed and managed using e.g. My Data wapp.
In the case of the weather example, using the "My Data" wapp, the location can be changed and you can see the reported temperature.
Upload your flows
Apart from providing the connectivity, this packages enables to run Node-RED flows in Wappsto. To upload the flows and make them running, it is enough to click the "Upload flows to Wappsto" button (1). To see and edit the exported files, go to Wapp Creator and click on the "Node-RED" application (2).
To run Node-RED flows in Wappsto, the main.js file includes these lines:
const RED = require('node-red-contrib-wappsto/red');
It creates a wrapper for Node-RED runtime. Aside from exposing the runtime object, it gives possibility to modify the Runtime Configuration with ease. Before you start the runtime, you can modify RED._settings
object to apply your own configuration.
The next crucial line is:
RED.start({ flows: ..., credentials: ... });
it accepts an object as argument with the following keys:
flows
(object): Node-RED flows.credentials
(object): decoded flows credentials.
It runs or restarts Node-RED runtime with the provided arguments and returns a Promise
object so that you can chain than
function.
Try to make your own modifications to the files and play around. This is just the beginning!
License
Apache 2.0 © Seluxit A/S