apt-get install curl apt-get install ntpdate apt-get install sqlite apt-get install npm curl -sL https://deb.nodesource.com/setup_8.x | sudo bash - apt-get install -y nodejs curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list apt-get update && apt-get install yarn npm install -g --unsafe-perm node-red
Ora da terminale lanciare il comando:
node-red
Dopo l'avvio CTRL+C - Verrà creata la directory dentro /root/.node-red. Ora dobbiamo creare un servizio per avviare Node Red automaticamente al boot della scheda:
nano /lib/systemd/system/node-red.service
Inserire al suo interno:
[Unit] Description=Node-RED After=syslog.target network.target [Service] ExecStart=/usr/bin/node-red WorkingDirectory=/root User=root Group=root Nice=10 SyslogIdentifier=Node-RED StandardOutput=syslog Restart=on-failure # Node-RED need a SIGINT to be notified to stop KillSignal=SIGINT [Install] WantedBy=multi-user.target
Aggiornare i servizi:
systemctl daemon-reload systemctl enable node-red systemctl start node-red
Controllare la partenza del servizio Node Red
systemctl start node-red
Eseguire un reboot e controllare l'avvio automatico di Node Red.
Ora andiamo nella directory .node-red ed installiamo il pacchetto per gestire l'accesso con il browser in Node Red con utente e password.
L'indirizzo è http://IP_RoadRunner:1880
npm install -g node-red-admin
Esguire il comando per impostare utente e password di accesso
node-red-admin hash-pw
Password: acmesystems
Risultato: $2a$08$cdAk7WZqMq6Yu0Bh5U4LoeaVjv8GM.k5drbvjO8jyVkwxPo8RSvZi
Inserire utente e password dentro il file .node-red/settings.js
module.exports = { adminAuth: { type: "credentials", users: [{ username: "acme", password: "$2a$08$cdAk7WZqMq6Yu0Bh5U4LoeaVjv8GM.k5drbvjO8jyVkwxPo8RSvZi", permissions: "*" }] },
Riavviare il servizio:
systemctl restart node-red.service
L'indirizzo per accedere a Node Red è http://IP_RoadRunner:1880
Installiamo il necessario per vedere le porte seriali:
apt-get install python-pip pip install pyserial
Verifichiamo ora con il comando:
python -m serial.tools.list_ports
Esempio di risultato ottenuto:
/dev/ttyAMA0
/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3
/dev/ttyUSB4
/dev/ttyUSB5
7 ports found
Ora installare i pacchetti in node red all'indirizzo http://indirizzo_ip_scheda:1880
Elenco pacchetti
node-red-contrib-config # Configurazione variabili flusso e globali node-red-contrib-contextbrowser # Visualizza variabili flusso e globali node-red-contrib-cron # Scheduler come cronjob Linux node-red-contrib-file-function # Lettura e scrittura file node-red-contrib-file-upload # Upload node-red-contrib-modbus # TCP / Modbus node-red-contrib-mqtt-broker # MQTT Broker node-red-contrib-pythonshell # Utilizzo con script python node-red-contrib-splitter # Funzioni stringhe node-red-contrib-string # Funzioni stringhe node-red-dashboard # Web Page Node Red node-red-node-rbe # Report by Exception node - only passes on data if the payload has changed node-red-contrib-roadrunner # I/O scheda Roadrunner node-red-node-serialport # Comunicazione porte seriali node-red-contrib-influxdb # Database per utilizzo Grafana node-red-contrib-serialport-rs485 # Comunicazioni RS 485 node-red-contrib-md5 # Hashing MD5 node-red-node-mysql # Connect to MySQL server
Altri pacchetti interessanti
node-red-contrib-light-scheduler # Cron con schedulazione grafica node-red-node-snmp # SNMP Protocol node-red-contrib-dht-sensor # Sensori temperatura umidità DHT11 e DHT22 node-red-contrib-sensor-ds18b20 # Sensori temperatura node-red-piervin-sensor-wired # Comunicazione Wired node-red-contrib-i2c # Comunicazione 12c
node-red-contrib-lcd20x4-i2c # LCD su i2c 20X4 Questo pacchetto richiede: sudo apt-get install python-smbus sudo raspi-config Interfacing Options>I2C>Enable
Se il nodo node-red-node-sqlite dovesse presentare problemi d'installazione eseguire in sequenza:
npm install node-gyp -g node-gyp npm install sqlite3 npm outdated npm update apt-get install libsqlite3-dev npm install sqlite3 --build-from-source --sqlite=/usr npm audit fix
Installare node-red-node-sqlite direttamente da console per problemi
Fermare prima il servizio:
systemctl stop node-red.service cd .node-red npm i --unsafe-perm node-red-node-sqlite npm uninstall sqlite3 npm install --save sqlite3 npm rebuild npm audit fix
Altri pacchetti installati da http://IP_roadrunner:1880
node-red-contrib-roadrunner reboot
cd .node-red npm install node-red-contrib-config npm install node-red-contrib-contextbrowser npm install node-red-contrib-cron npm install node-red-contrib-file-function npm install node-red-contrib-file-upload npm install node-red-contrib-modbus npm install node-red-contrib-mqtt-broker npm install node-red-contrib-pythonshell npm install node-red-contrib-splitter npm install node-red-contrib-string npm install node-red-dashboard npm install node-red-node-rbe npm install node-red-contrib-roadrunner npm install node-red-node-serialport npm install node-red-contrib-influxdb npm install node-red-contrib-serialport-rs485 npm install node-red-contrib-md5 npm install node-red-node-mysql
Durante il processo d'installazione può esere richiesto di lanciare il comando: npm audit fix
Al termine dell'installazione dei pacchetti lanciare il comando : systemctl restart nodered.service
Alla pagina http://IP_roadrunner:1880/ui sono visibili i vari Dashboard creati.
2018 Ⓒ TanzoLab