树莓派上基于Ubuntu mate 18.04安装Node-RED

Node-RED简介

Node-REDIBM发行了一套开源可视化界面开发工具,大家可能会好奇,Node-RED跟Node.js怎么名字会这么像?是不是有某种关联存在?这边就要先从Node.js开始介绍了。Node.js是一个读取Javascript的运行环境,可用于开发网页后端程序,但是Node.js的指令是一行一行写出来的,为了免去呼叫程序代码麻烦,IBM的工程师开发了Node-RED来更容易地完成工作。

具体来说,每当启动Node-RED时,背景程序便会创造一个服务器来处理我们输入的指令,这时只要使用浏览器登入指定的IP即可进入Node-RED的编辑画面,设定好想要的流程后,背景程序会将流程转换成程序代码交给Node.js环境运行。

可视化界面开发工具已经相当流行,特别是MIT开发的Scratch,以及Google开发的Blockly。那么,Node-RED跟这两大视觉开发工具相比,又有什么样的优势呢?

多方对比

工具 Node-RED Scratch Blockly
优点 API接口多得一匹 简单易懂,icon风趣 用网页操作,简单容易上手
特色 可用于树莓派IOT开发 逻辑教学,用于Arduino 控制Arduino
语言 English 中文 中文

Node-RED特色

Node-RED起源于2013年IBM’s EmergingTechnology Services group的一个计划的副产物,工程师Nick O’Leary和Dave Conway-Jones想用可视化界面来概念性验证一套MQTT应用,让Node-RED因此孕育而生。

Node-RED很快成为更加全面性的开发工具,并于2013年9月成为OpenSource,于2016年10月加入JS Foundation。(以上说明节录自Node-RED官网)

Node-RED提供各式的API,包括因特网服务,例如推特与查询天气、呼叫使用各式的通讯协议,例如MQTT、TCP、UDP等;在嵌入式系统上,Node-RED提供控制GPIO的功能,并使用MQTT或是HTTP等协议与云端做沟通,架构IOT产品。

让Node-RED流行于各大网络社群的理由,在于它拥有以下诸多的优点:

  1. 相较于撰写程序代码,使用图形化界面可更快速开发。

  2. 适合作为概念性应用验证的开发工具。

  3. 浅显易懂,每个API都有文字说明可供查询。

  4. 具有高度扩充性,已有大量的Library、Flow、Node供人下载。

安装Node-RED

想要使用Node-RED,必须安装Node.js运行环境;

安装Node.js

sudo apt install nodejs

安装NPM

sudo apt install npm

安装Node-RED

sudo npm install -g --unsafe-perm node-red

启动Node-RED

node-red

检验是否成功安装

启动浏览器,输入127.0.0.1:1880

在树莓派中安装并配置好后,可以在同一局域网内使用**<树莓派IP>:1880** 登录Node-RED

安装SSH

为了方便远程连接,安装SSH;

 sudo apt-get install openssh-server

检查树莓派SSH服务是否开启

ps -e | grep ssh

SSH服务开启

sudo /etc/init.d/ssh start

安装VNC-server(可以不装)

为了方便管理和查看Node-RED后台数据,这里安装一个VNC来远程登录

安装相应工具和软件

安装xfce4

Xfce是一个自由软件,运行在类Unix操作系统 (如Linux、FreeBSD 和 Solaris)上,提供轻量级桌面环境;

$sudo apt-get install xfce4 

安装 vncserver

$sudo apt-get install vnc4server

安装xrdp

Xrdp 是 Microsoft 远程桌面协议 (RDP) 的开源实现,允许您以图形方式控制远程系统。使用 RDP ,您可以登录到远程计算机并创建一个真实的桌面会话,就像您已登录到本地计算机一样。

$sudo apt-get install xrdp

第一次启动vncserver

sudo vncserver

第一次启动需要设置登录密码,密码6位及以上

修改配置文件

sudo vi ~/.vnc/xstartup

具体修改如下

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
xfce4-session & 

重新启动

sudo vncserver -kill :1 
vncserver :1
sudo service xrdp restart 

注意vncserver :1 的1是端口,使用VNC Viewer登录时的IP为::1


我的GITHUB

CSDN

你可能感兴趣的:(IoT入门到实战)