Installazione Node-RED

Continuando il lavoro fatto nelle scorse settimane, installeremo un'istanza di Node-RED su una macchina EC2 di AWS. Seguiremo questa guida.

Lanciare una macchina EC2 come segue:

  • Ubuntu Server
  • t2.micro
  • aprire le porte 1880, 80 e per utilità anche "All ICMP", come sorgente usate "Any"
  • come chiave sempre vockey.pem

Installare Node-RED come segue (attenzione, rispetto alla guida siamo passati alla versione 21):

curl -sL https://deb.nodesource.com/setup_21.x | sudo -E bash -
sudo apt-get install -y nodejs build-essential
sudo npm install -g --unsafe-perm node-red

Ricaricare la pagina per fare in modo che le modifiche abbiano effetto.

Ora bisogna installare anche i nodi che ci serviranno per MongoDB:

mkdir -p ~/.node-red/
cd ~/.node-red/
npm install node-red-node-mongodb

Infine avviare Node-RED:

node-red

Adesso è possibile accedere alla propria istanza con andando su http://<your-instance-ip>:1880/.

Opzionale: avvio automatico

Per fare in modo che Node-RED vada in esecuzione automaticamente all'avvio della macchina virtuale, eseguire i seguenti comandi:

sudo npm install -g --unsafe-perm pm2
pm2 start `which node-red` -- -v
pm2 save
pm2 startup

Attenzione: l'ultimo comando, alla fine vi chiederà di eseguire un ulteriore comando - assicuratevi di eseguirlo come richiesto

Flow MQTT

Cominciamo a configurare il nostro "flow" di Node-RED.

Cerchiamo nella casella di ricerca in alto a sinistra "MQTT" e trasciniamo nella pagina il nodo "MQTT in".

screenshot-0

Il nodo appena messo ha un triangolo arancione, vuol dire che per funzionare deve essere configurato. Clicchiamoci sopra per farlo.

screenshot-1

Cliccare sulla matita vicino ad "Add new mqtt-broker". Come Name mettere HiveMQ e come server mettere broker.mqttdashboard.com.

screenshot-2

Premere add, quindi nella schermata successiva mettere il nostro topic di interesse, sempre marconi-stazione-2024.

screenshot-3

Premere "Done" A questo punto il nodo è configurato. Ora aggiungiamo anche un nodo di Debug per vedere se effetivamente sta ricevendo i messaggi.

screenshot-4

Il nostro flow è finito, ma come vedete dai pallini azzurri sopra i nodi, non è ancora attivo. Per renderlo attivo bisogna fare il "Deploy" (traducibile con "dislocazione" in italiano) cliccando sul tasto in alto a destra. Ora il flow è in esecuzione!

screenshot-4

Cliccando nel pannello a destra sul ragno si apre la schermata con le stampe di debug. Ora dalla stazione simulata su wokwi cambiare la temperatura e controllare che il nuovo messaggio arrivi su Node-RED.

screenshot-5