【鸟哥杂谈】十分钟搭建自己的本地 Node-Red可拖拽图形化物联网

这篇具有很好参考价值的文章主要介绍了【鸟哥杂谈】十分钟搭建自己的本地 Node-Red可拖拽图形化物联网。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

忘记过去,超越自己

  • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
  • ❤️ 本篇创建记录 2022-10-16 ❤️
  • ❤️ 本篇更新记录 2022-10-16 ❤️
  • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
  • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
  • 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志 🔥

1. 前言

Node-RED最初是IBM在2013年末开发的一个开源项目,以满足他们快速连接硬件和设备到Web服务和其他软件的需求——作为物联网的一种粘合剂,它很快发展成为一种通用的物联网编程工具。

Node-RED 是一种编程工具,用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。这句话会随着把这个东西用起来之后会慢慢理解。

重要的是,Node-RED已经迅速形成一个重要的、不断增长的用户基础和一个活跃的开发人员社区,他们正在开发新的节点(目前项目上也集成了非常多有用的节点,包括HTTP节点、MQTT节点以及DashBoard仪表盘等等功能),同时允许程序员复用Node-RED代码来完成各种各样的任务。

Node-RED 是构建物联网(IOT, Internet of Things)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块(称为“节点”,Node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个“流”(Flows,一个事件从一个节点陆续流入一个节点,每个节点会处理一些业务逻辑)。

简单来说,Node-RED就是一个基于浏览器可以实现可视化拖拽编程物联网的工具,对于部分初学者来说是一个福音,功能上类似于OneNet的可视化仪表盘、阿里云物联网上面的可视化web页面等等。它提供了一个基于浏览器的编辑器,在浏览器中,通过将节点从调色板拖到工作区并开始将它们连接在一起来创建应用程序。只需单击一下,即可将应用程序部署回运行它的运行时。

nodered制作漂亮的界面,物联网,node.js,NodeRED
没错,最好的学习资料:

  • 第一推荐Node-RED官方学习文档,虽然是纯英文
  • 这里也有一个写得比较好的连载内容,当然博哥后面也会写一个

2. Node-RED 特点

Node-RED 是一种基于流的编程工具,最初由IBM 的新兴技术服务 团队开发,现在是OpenJS 基金会的一部分。

基于流的编程,是一种将应用程序的行为描述为黑盒网络的方法,或者在 Node-RED 中称为“节点”。

  • 每个节点都有明确的用途;
  • 它被赋予了一些数据,它对这些数据做一些事情,然后将这些数据传递给它。
  • 网络负责节点之间的数据流。

2.1 基于浏览器的流程编辑

  • Node-RED 提供了一个基于浏览器的流编辑器,可以使用调色板中的各种节点轻松地将流连接在一起。然后,只需单击一下即可将流部署到运行时。
  • 可以使用富文本编辑器在编辑器中创建 JavaScript 函数。
  • 内置库允许您保存有用的函数、模板或流程以供重复使用。

nodered制作漂亮的界面,物联网,node.js,NodeRED
上面的图就是后面我们会看到的大概样子,可以把左边的节点拖拽到中间做一些业务逻辑。针对物联网体系来说,我们能做的事情包括且不限于:

  • dashboard 仪表盘功能
  • 支持httpmqttwebsockettcpudp协议

2.2 基于 Node.js 构建

  • 轻量级运行时基于 Node.js(那就意味着我们需要搭建NodeJs环境了,这个也很简单,直接参考 【NodeJs-5天学习】第一天篇② —— 安装NodeJs环境以及VsCode开发工具),充分利用其事件驱动的非阻塞模型。这使得它非常适合在 Raspberry Pi (树莓派)、android手机等低成本硬件以及运行在网络边缘的云。
    nodered制作漂亮的界面,物联网,node.js,NodeRED
    nodered制作漂亮的界面,物联网,node.js,NodeRED

  • Node的软件包存储库中有超过225,000个模块,可以轻松扩展面板节点的范围以添加新功能。(相当于第三方软件库,别人写好了,直接用)

2.3 利于发展的分享生态环境

  • 在 Node-RED 中创建的流使用 JSON 存储,可以轻松导入和导出以与他人共享。
  • 在线流程库使您可以与世界分享优秀的节点。今天仍有充满活力的用户和开发人员社区,核心致力于Node-RED代码本身,同时为流库贡献节点或流。
  • 通过安装由社区创建的新节点,可以轻松扩展节点选项板,并且您创建的流可以轻松共享为 JSON 文件。

nodered制作漂亮的界面,物联网,node.js,NodeRED

3. Node-RED 能用来做什么?

通过Node RED,物联网数据传输设备开启了一个新的时代,通过Node RED,我们在写功能时,可以通过拖拽编写好的功能,就能直接使用,然后通过节点,就能将功能与功能之间串联起来

通过这样的功能,使得开发速度更快!更容易上手。
nodered制作漂亮的界面,物联网,node.js,NodeRED

3.1 案例一:控制LED灯

nodered制作漂亮的界面,物联网,node.js,NodeRED
在这个简单的例子中,它是由3个节点组成。最左边不断触发一个时间流(左边节点),然后等待1s(中间节点),最后输出控制LED(右边节点)、

3.2 案例二:使用Node-RED的内置HTTP节点构建Web服务

nodered制作漂亮的界面,物联网,node.js,NodeRED
它是由4个节点组成。第一个和最后一个节点是HTTP输入和输出节点,它们共同工作以侦听HTTP请求并发送HTTP响应。此流侦听来自任何源的HTTP请求,我们假设这里有一个常规浏览器。当它到来时,需要它查询你的Fitbit数据,然后使用一个模板节点建立一个HTTP页面,并通过对HTTP输出节点发送到网页浏览器之中。

3.3 案例三:利用dashboard构建监控UI面板

看一下别人使用dashboard制作的面板。后面我们自己也可以做出这样的效果。
nodered制作漂亮的界面,物联网,node.js,NodeRED
nodered制作漂亮的界面,物联网,node.js,NodeRED
nodered制作漂亮的界面,物联网,node.js,NodeRED

4. Node-RED的局限性?

虽然它带来很多便利性,但肯定也是有局限性。
Node-RED可能并不是物联网应用程序开发的最佳工具。虽然功能强大且灵活,但并不一定是正确的解决方案。某些情况下,Node-RED可能不是首选,包括:

  • 复杂多功能物联网应用。Node-RED擅长于快速应用程序开发,并充当连接事件到动作或传感器到执行器的粘合剂。然而,当应用程序达到一定的规模时,通过Node-RED来可视化编程和管理变得非常复杂。
  • 基于流的编程是一种通用模型,并没有针对特定需求进行针对性或优化,例如数据分析或用户界面开发。目前,Node-RED对这些类型的应用程序没有具体的支持,也没有简单的方法来添加这种支持。显然,Node-RED的底层技术是JavaScript,可以利用它的能力来满足这些需求。如果要使用Node-RED来做原型开发,可行的方案是在找一种更适合任务语言中实现部分或全部应用程序,并使用Node-RED作为整体控件。

虽然有一定局限性,但是目前阶段对于初学者来说完全够用。

5. 搭建本地Node-RED运行环境

前提条件:

Node-RED基于NodeJS,所以需要搭建NodeJs环境了,这个也很简单,直接参考 【NodeJs-5天学习】第一天篇② —— 安装NodeJs环境以及VsCode开发工具

5.1 使用npm 安装 Node-RED 环境

cmd输入命令:

npm install -g node-red

nodered制作漂亮的界面,物联网,node.js,NodeRED

5.2 启动Node-RED

cmd输入命令:

node-red

nodered制作漂亮的界面,物联网,node.js,NodeRED
在浏览器中打开 http://localhost:1880 就可以访问Node-RED的前台界面,进行编程。

nodered制作漂亮的界面,物联网,node.js,NodeRED
后面我们就可以根据具体情况来学习使用这个工具,完成各式各样的功能。

5.3 停止Node-RED

直接ctrl + C即可

6. 总结

本文简单介绍了Node-RED工具以及它能给我们开发物联网带来那些功能效果,先搭建好环境,然后去玩转起来,静待后续篇章。文章来源地址https://www.toymoban.com/news/detail-678486.html

到了这里,关于【鸟哥杂谈】十分钟搭建自己的本地 Node-Red可拖拽图形化物联网的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 十分钟快速部署一个自己的AI聊天机器人

    个人名片: 🐼 作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️ 个人主页🥇: 落798. 🐼 个人WeChat:见文末 🕊️ 系列专栏:🖼️ 零基础学Java——小白入门必备 重识C语言——复习回顾 计算机网络体系———深度详讲 微信小程序开发——实战开发 🐓 每日一句:🍭

    2024年02月14日
    浏览(56)
  • 十分钟教你部署一个属于自己的chatgpt网站-(源码)

    下面是一个简单的十分钟教程,教你如何部署一个属于自己的ChatGPT网站,包括以下几个步骤: 获取GPT-3 API密钥:为了使用GPT-3 API接口,我们需要先获取API密钥。在OpenAI官网上申请账户并订阅GPT-3服务后,即可获得API密钥。 创建Flask应用程序:Flask是一款Python Web框架,我们可以

    2024年02月05日
    浏览(47)
  • 十分钟学会开发自己的Python AI应用【OpenAI API篇】

    最近 OpenAI 宣布 ChatGPT 将很快推出他们的 API。虽然我们不知道这需要多长时间,但这之前我们可以熟悉下OpenAI API,快速开发自己的AI应用! 通过今天学习 OpenAI API,你将能够访问 OpenAI 的强大模型,例如用于自然语言的 GPT-3、用于将自然语言翻译为代码的 Codex 以及用于创建和

    2024年04月25日
    浏览(33)
  • 十分钟教你搭建类似ChatGPT的安卓应用程序

    大家好,我是易安! Chat GPT 是当今著名的人工智能工具,就像聊天机器人一样。Chat GPT会回答发送给它的所有查询。今天,我将通过集成 OpenAI API (ChatGPT)构建一个简单的类似 ChatGPT 的 android 应用程序,我们可以在其中提出任何问题并获得答案。 如何使 ChatGPT 像 Android 应用程序

    2024年02月04日
    浏览(91)
  • 十分钟在 macOS 快速搭建 Linux C/C++ 开发环境

    有一个使用了 Epoll 的 C 项目,笔者平时用的 Linux 主力开发机不在身边,想在 macOS 上开发调试,但是没有 Linux 虚拟机。恰好,JetBrains CLion 的 Toolchains 配置除了使用本地环境,还支持 SSH、Docker。 笔者使用 CLion + Docker Desktop,不到十分钟就能在 macOS 上搭建一个能够开发使用 L

    2024年02月08日
    浏览(51)
  • 【小白教程】十分钟搭建Stable Diffusion WebUI,白嫖三个月

    Stable Diffusion 是一款功能异常强大的AI图片生成器。它支持文字生成图片,图片转图片,使用各种各样的模型来达到你想要的效果,还能训练你自己的专属模型。 简单来说,即使你没有绘画功底,只要文笔叙说的够详细准确也可以画出自己想要的图片,甚至超乎你的想象。 当

    2024年02月15日
    浏览(44)
  • 十分钟,零基础使用uniCloud完成后端管理系统搭建二

    上一节我们已经成功搭建基础版的后端管理系统,这一节我们将利用uniCloud给我们提供的schema2code自动生成代码,快速完成:列表、增加和修改页面创建。 uniCloud系列文章: Dcloud开发者注册,uniCloud服务空间创建。 十分钟,零基础使用uniCloud完成后端管理系统搭建一 十分钟,

    2024年02月08日
    浏览(77)
  • Grafana技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》

    阿丹: Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》_一单成的博客-CSDN博客         在正确安装了Prometheus之后开始使用并安装Grafana作为Prometheus的仪表盘。 搜索可拉取版本  拉取镜像       访问{ip}:3000 即可,使用账号密码 admin/admin进行登录即可 请按照

    2024年02月14日
    浏览(49)
  • Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》

    宿主机挂载目录位置: 以及准备对应的挂载目录: /usr/local/docker/promethues/server 准备如下: data、config、rules、ClientAll、server   授权相关文件夹权限  目标容器位置: /etc/prometheus/prometheus.yml 使用代码编辑配置文件: 书写如下配置:  解释配置: 这个 prometheus.yml 文件是Prome

    2024年02月14日
    浏览(50)
  • 十分钟入门Zigbee

    大部分教程通常都是已Zigbee原理开始讲解和学习,各种概念让初学者难以理解。本教程从一个小白的角度出发,入门无需任何Zigbee底层原理知识,只需要基本的MCU研发经验就可以掌握,让您快速实现zigbee组网和节点之间通信。 本教程采用泰凌微TLSR8258芯片,芯片资料链接TLS

    2023年04月09日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包