当前位置:首页 > 物联网 > IoT设计分享
[导读]Node-RED是一个非程序员使用物联网的可视化工具,它可以用来更快地构建应用程序,减少物联网产品的“上市”时间。Node-RED可以以新颖有趣的方式轻松地将硬件设备、api和其他在线服务连接在一起。Node-RED是一个开源物联网工具,由IBM新兴技术组织实施。它是用JavaScript编写的,在NodeJS平台上工作。

Node-RED是一个非程序员使用物联网的可视化工具,它可以用来更快地构建应用程序,减少物联网产品的“上市”时间。Node-RED可以以新颖有趣的方式轻松地将硬件设备、api和其他在线服务连接在一起。Node-RED是一个开源物联网工具,由IBM新兴技术组织实施。它是用JavaScript编写的,在NodeJS平台上工作。

Node-RED以基于模块的方式运行,其中预定义的模块以图形方式连接以执行Node-RED上的操作序列,或者换句话说,它直接访问来自Arduino,树莓派等微控制器板的数据,使用预定义的端口号。或销。在本教程中,我们将使用Arduino将DHT11传感器读数发送到Node-RED仪表板。同样,我们也将Arduino与ThingSpeak连接起来,设计了一个气象站。

在本教程中,我们将只关注Arduino和Node-RED。在本教程中,我们将介绍如何在windows上安装和设置Node-RED。然后,我们还将在Node-RED上设计一个仪表板,并使用不同的输入、输出和功能节点来创建流。

组件的要求

硬件组件

•Arduino Uno

•DHT11传感器

•跳线

软件应用程序和在线服务

•Arduino IDE

•node . js

•Node-RED

线路图

DHT11传感器与Arduino接口的电路图如下所示,原理图是使用Fritzing软件绘制的。

DHT11是一款流行的3针传感器,可以测量温度和湿度。该传感器采用单线协议,易于与Arduino等开发板一起使用。DHT11的Vcc引脚与Arduino的3.3v引脚连接,GND引脚与Arduino的GND引脚连接。而数据引脚与Arduino的2号引脚连接。连接完成后,我的硬件是这样的。

正如你所看到的,我已经使用了简单的雌性到雄性的连接线来进行连接。完整的设置是由连接到我的电脑的USB端口供电。我们之前将DHT11与Arduino连接,构建物联网气象站。

代码的解释

Arduino Node-RED的完整程序可以在本教程的末尾找到。为这个项目编程Arduino UNO不需要太多的努力,因为它只使用一个DHT传感器库。Arduino板必须测量来自DHT11传感器的温度和湿度值,并使用COM端口串行发送。该串行信息随后将由Node-RED进行处理。

因此,通过初始化所需的库、Arduino引脚和变量来开始编程。

string函数用于将float变量转换为字符串。这里可变的温度和湿度被转换成字符串。

在void loop()中,dht11传感器计算温度和湿度值并分别存储为temp和hum变量。串行打印用于在串行监视器上打印温度和湿度值。

将Arduino与笔记本电脑连接,正确选择主板和端口,然后点击Upload按钮。上传代码后,打开串口监视器。设置串口显示器的波特率为9600。

设置Node-RED

1. 安装node . js

从Node.js官方主页下载最新版本的Node.js。在撰写本教程时,可用的版本是10.16.0。下载完成后,运行下载的MSI文件,在默认路径下安装Node.js。

安装完成后,打开命令提示符并运行以下命令,以确保Node.js和npm已正确安装。

您应该会收到包含我们的包的版本号的返回输出。我的是这样的。

2. 安装Node-RED

要在系统上安装Node-RED,请在命令提示符下运行以下命令:

Node-RED没有预先安装Arduino、Serial Port和Dashboard的节点。因此,使用以下命令安装这些节点:

•安装Arduino节点

•安装串口节点

•安装Dashboard节点

3. 运行Node-RED

安装完成后,在命令提示符中使用以下命令运行node-red:

将本地服务器链接复制到您的浏览器以访问Node-RED。您应该看到如下所示的窗口,在桌面上显示节点红色启动。

•节点库是节点的列表,这些节点代表与设备相关的硬件、协议和软件特性

•电流流或流是节点连接在一起以创建程序的地方

•调试控制台就像Arduino串行监视器一样,可以提供值

•部署按钮用于将流上传到目标硬件

•信息控制台提供关于突出显示/选定对象的信息

在Node-RED中创建流

要开始,请将输入Serial节点拖到流部分中

现在编辑,双击节点,弹出窗口将打开。在该窗口中,输入连接Arduino的串口,在波特率部分选择9600。

在此之后,向下滚动节点调色板并将两个Function节点拖到流部分,一个用于温度,另一个用于湿度。

双击第一个函数,输入它的名称和程序。

这个函数的Java代码如下:

Node-RED从串行监视器接收ASCII码格式的湿度和温度值。要在Node-RED Dashboard上显示这些值,我们需要将ASCII代码转换为实际值。因此,要做到这一点,上面使用java程序。在这个程序中,除小数点和逗号外,每个ASCII码都减去48。

在Temp函数之后,现在双击第二个函数:

该函数的Java代码如下:

如上所述,该程序用于将湿度值从ASCII码格式更改为实际值。完成温度和湿度功能后,向下滚动并将两个Debug节点拖到流程部分。

要设计Dashboard,请向下滚动节点调色板到Dashboard,并将两个Gauge拖到Temperature和humidity的flow部分。

最后的流程是这样的

通过将以下代码导入到Node-RED服务器,您可以直接在Node-RED服务器上创建此流。

为此,单击菜单按钮,然后单击Import ->剪贴板。在剪贴板窗口中,粘贴下面给出的代码。

Node-RED代码

现在可以部署流了。我们可以使用deploy按钮在Node-RED上部署流。

要访问Node-RED仪表板,请在浏览器中复制链接。Node-RED仪表盘看起来像这样:

通过在你的路由器转发端口,这个网页可以从互联网上的任何地方访问。这就是Node-RED如何用于图形化编程和构建基于物联网的应用程序。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭