Internet of Things/Node-RED
Node-RED
Node-RED [1] is een omgeving om grafisch een Internet of Things/node.js server-configuratie te maken. Dit is in het bijzonder bedoeld Je kunt dit gebruiken voor IoT-toepassingen, maar ook voor meer klassieke websites en web-apps.
Met behulp van de standaard-verzameling nodes kun je al eenvoudige toepassingen maken. Een toepassing bestaan uit één of meer "flows": knopen die via gerichte verbindingen verbonden zijn.
In het bijzonder kun je je toepassing koppelen aan allerlei andere interfaces. Zo kun je bijvoorbeeld MQTT-boodschappen afhandelen, en deze in een database opslaan. In een andere flow kun je een http GET-request afhandelen, met een pagina met deze MQTT-gegevens als respons.
Het installeren van Node-RED in Cloud9 (c9.io)
- maak een Node.js workspace aan (via het dashboard: Create new workspace)
- installeer volgens de standaard-methode hierin Node-RED (in een "bash" terminal-venster, als shell-commando)
sudo npm install -g node-red
- kopieer de bijgaande file naar
settings.js
wget https://gist.githubusercontent.com/eelcodijkstra/9c0fb0afba8151060853/raw/50b85e72387ff5b3ab25b7fefd4f198bc073f6d3/settings.js
- je kunt dit bestand ook vinden op GitHub: settings.js. Via de Raw button krijg je het "kale"bestand in de browser.
- start Node-RED op met het commando:
node-red -s settings.js
- je vindt het gebruikersinterface nu via de URL:
workspacename-username-c9.io
- dit kun je ook vinden via het menu bovenin, links van "Run": Preview -> Preview running application
- dit is een publieke URL: je kunt dit via de browser op elke computer gebruiken
- (ook anderen kunnen dit gebruiken; met alle voor- en nadelen vandien)
- je kunt de server stoppen door middel van ^C (control-C) in hetzelfde terminal-venster.
Uitleg
Cloud9 biedt je een virtuele machine voor elke workspace. In deze virtuele machine kun je een webserver draaien. Al die verschillende virtuele machines moeten een klein aantal IP-adressen delen. Hiervoor bepaalt Cloud9 het IP-adres en het PORT-nummer voor elke virtuele webserver, respectievelijk process.env.IP
en process.env.PORT
. Deze gegevens moeten ingevuld worden in de node-red instellingen in het bestand settings.js
. Dit is al voor je gedaan in het bestand dat je hierboven gekopieerd hebt.
- Als je node-red op je eigen computer gebruikt, dan kun je de default-instellingen gebruiken:
127.0.0.1
(localhost), met port: 1880.