如今,我们所有人都以这样或那样的方式使用物联网,而且这种使用在不久的将来只会增长。本文详细介绍了 Node-RED 这个功能强大且易于使用的编程平台如何帮助实施物联网和边缘计算。
物联网 (IoT) 在当今世界无所不在。下面列出了它占主导地位的几个领域:
- 智慧健康医疗服务:智能救护车、医院管理、智能药控等。
- 智慧城市:智能交通控制、智能收费站、污染监测、水质管理、自动驾驶汽车、无人机、执法、节能等。个人应用:智能健康、防盗、控制家电等。
- 零售行业:自动结账、物流监控与管理等。
- 农业:作物分析、动态配水、智能灌溉、农场监控、智能农业无人机、农业机器人等。
许多其他领域也与物联网领域相关,特别是正在开发智能机器人应用程序的领域。万物互联(IoE)是智能应用的另一个术语,是物联网与云和万维网的集成,用于设备的实时连接。
许多编程平台可用于处理 IoT、IoE、雾或边缘场景,还提供数百个功能强大且易于用于动态研究的工具包,以下是一些常见的平台软件:
软件 | URL | 使用场景 |
Node-RED | nodered.org | 基于流程的编程环境 |
Contiki | contiki-os.org | 微控制器、IPv6、IPv4、原线程、低资源、游戏机 |
FlowHub | flowhub.io | 基于流程的物联网编程 |
NoFloJS | noflojs.org | 基于JavaScript的流程编程 |
Netron | github.com/lutzroeder/netron | 动态可视化 |
PyFlow | wonderworks-software.github.io/PyFlow | 可视化脚本 |
Yet another robot platform (YARP) | yarp.it | 机器人编程 |
OROCOS | orocos.org | 机器人编程和机器控制 |
OpenIoT | openiot.eu | 传感即服务 (S2aaS) |
Zetta | zettajs.org | WebSocket 编程、TCP 实时、反应式编程、低开销场景 |
DSA | iot-dsa.org | 实时接口、设备间通信、多层编程 |
IoTivity | iotivity.org | 受限应用协议 (CoAP)、物联网编程 |
CupCarbon | cupcarbon.com | 智慧城市、SCI-WSN 模拟、可视化、2D 和 3D OpenStreetMap、MQTT 编程、传感器编程 |
KAA | kaaproject.org | 数据分析、实时应用、动态通信和更新 |
Node-RED
Node-RED:基于流程的 IoT 场景编程工具
Node-RED ( https://nodered.org/ ) 是一个功能强大且易于使用的编程平台,用于模拟 IoT 场景。雾和边缘计算也可以使用 Node-RED 中基于流的编程来完成。这里,可以使用最少的编码来实现高性能结构。安装和工作Node-RED 是一个安装在 Node.js 平台上的专用软件包。后者是一个基于JavaScript的轻量级但高性能的编程环境。Node.js 中提供了许多适用于多种应用程序的包,包括物联网 (IoT)、云计算、机器学习、数据科学和区块链。
要使用 Node-RED,应首先安装 Node.js 平台,该平台可从https://nodejs.org获取,适用于 Windows、Mac 和 Linux 等多种操作系统,适用于 32 位或 64 位架构(图 1)。
安装 Node.js 后,可以从节点包管理器 (NPM) 安装 Node-RED 包,该管理器是为 Node 平台开发和部署的包的存储库(图 2)。
在Node.js的安装目录下,使用npm命令安装Node-RED,如下:
E:\>cd nodejs
E:\nodejs>npm i node-red
Node-RED 可以安装在多个平台上,包括开源硬件设备、物联网设备、云或专用服务器。其云部署可以在 IBM Cloud、Microsoft Azure、SenseTecnic FRED 和 Amazon Web Services 上完成。为了处理物联网、雾和边缘场景,它可以安装在 Raspberry Pi、BeagleBone Black 或 Arduino 上。这些设备支持多种应用的物联网传感器接口。
要在专用系统上运行 Node-RED,请执行 node-red 命令来启动服务器。生成基于本地主机的IP地址和端口号,在其上完成物联网、边缘计算等的编程。
启动服务器后,有数千个包可以连接到多个应用程序。要创建 IoT 或边缘场景,可以从 NPM 存储库安装与 Wi-Fi、蓝牙、MQTT、CoAP、天气预报等相关的软件包。
安装所需的软件包后,将使用左侧的图标调色板创建流程图。在这里,所有包都是可见的,并且可以在仪表板上拖动。
Node-RED 调色板中提供了消息队列遥测传输 (MQTT) 协议,以帮助其与 IoT 配合使用。它用作物联网代理,用于与传感器进行实时连接和通信。IoT 场景由文件处理模块创建,从传感器捕获数据并使用 MQTT 协议将其与 Wi-Fi 连接。单击运行此场景后,结果将显示在 Node-RED 的右侧面板上。可以创建和部署类似的其他结构,以便与物联网设备进行动态通信。
研究人员和工程师可以根据自己的要求通过在 Node-RED 上定制和添加软件包来创建 IoT 场景。
Node-RED 可以与 Raspberry Pi 或 Arduino 连接,提供与传感器的实时通信,可用于基于智能农业的应用,以便农民可以跟踪他们的田地和农作物。天气预报和气候分析也可以使用此类编程平台来完成。