热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物联网IoT使用NodeRED的5大理由

您可能听说过Node-RED。它是一款基于浏览器的优秀工具,可用于绘制流程和连接节点并且可轻松地将IoT设备与应用程序集成,您知道它吗?没错,就是它。您可能已经接触过这款工具。在本

您可能听说过 Node-RED。它是一款基于浏览器的优秀工具,可用于绘制流程和连接节点并且可轻松地将 IoT 设备与应用程序集成,您知道它吗?没错,就是它。

您可能已经接触过这款工具。

在本文中,将展示在应用程序中使用 Node-RED 的五大理由。现在进入正题。


1 – 基于经过实践测试的技术堆栈

Node.js

Node-RED 的核心是 Node.js。如您所知,Node.js 是一个 Javascript 运行时,它拥有全球最大的开源组件生态系统(好吧,最后一部分是我增加的,但它确实是世界上最大的)。它已经非常成熟,并拥有一个非常活跃的社区,而且许多人都在使用它。

由于它已经非常成熟,而且使用很广泛,因此您可以放心地使用。您可以亲自去了解一下。询问 PayPal.或 Netflix。或 Wal Mart(我可以继续)。

Javascript

Node.js 其实就是 Javascript,可以这样说吧?不错。不管您是爱它还是恨它,Javascript 一直都存在。

我也使用过 Javascript(起初我很不情愿),尽管它有古怪之处,但它仍然很有用。它便于学习和使用,而且功能强大。使用 Javascript 的理由有很多(单击此处以了解五大理由)。

Web 浏览器

从技术上讲,Web 浏览器是技术堆栈的一部分吗?我也不是很清楚。但是,我想说明一点:编写 GUI 非常困难(尤其是像我们编写的 GUI 一样好的 GUI)。

值得一提的是,可以将一些标记 (HTML/CSS)、一些代码 (Javascript) 和一些元数据 (JSON) 组合在一起,形成一个非常清晰的用户界面。

Web 浏览器无处不在。您喜欢使用 Safari?很好!Firefox?太棒了!Chromium?Opera?所有这些浏览器都非常受欢迎(您甚至可以使用 Chrome)。


2 – JSON —— 优于 XML

XML 有何缺陷
我并不是 XML 的粉丝。XML 非常灵活、功能强大且表现力强,但我还是不喜欢 XML,因为它很容易扭曲,变成大量难以理解的应用程序元数据。

当应用程序开发者选择屈服于“让我们用 XML 描述所有的元数据!”规则时,他们往往对此避而不谈。他们已深陷其中。而在他们很快要离开团队(甚至是离开公司)时,通常会将应用程序配置弄得一团糟。

更理想的元数据
Node-RED 使用 JSON(即 Javascript 对象表示法)来描述其元数据。这里没有 XML。是否会出现误用 JSON 的情况?当然,但恕我直言,误用 JSON 并不容易,因为 JSON 比 XML 更易于阅读。


3 – 直观呈现(网络)边缘

基于流程的编程方法非常酷炫
什么是“基于流程的编程方法”(FBP)?这是一种可用于可视化应用程序功能的超酷方法。它是由 J. Paul Morrison 在 20 世纪 70 年代为一家加拿大银行设计的,FBP 是一种截然不同的编程方法,可以将问题细分为数据、可处理数据的过程以及可将过程连接在一起的网络。

然后,这些过程经过分组后会形成相应的流程以实现特定目标。同样,这些流程也会进行逻辑分组,以实现更高级的目标,以此类推。数据输入,数据输出。

很显然,FBP 非常适合于可视化编程。这样便可以绘制代码。是的。绘制代码。而且代码可以正常运行。是不是很酷?

存在于边缘上
这里指的是网络的边缘。许多创新都诞生于此。为什么会这样呢?那是因为许多数据都是在这里产生的。大量数据不断产生,包括来自传感器和摄像头的数据,以及来自手机和可穿戴式设备等移动设备的 GPS 数据。甚至还有来自自动驾驶汽车(这很快就会实现,让我们拭目以待吧)的所有数据。

想要使用所有这些数据来实现创新吗?这就是“边缘”,也是 Node-RED 大放异彩的地方。

怎样大放异彩呢?由于 Node-RED 是由 IBM 新兴技术服务团队设计和构建的,并且可以直观呈现与硬件设备之间传输的消息队列遥测传输 (MQTT) 消息,因此 Node-RED 本能地会将硬件(及其数据流)连接到应用程序。如果您需要构建一个原型来展示自己的想法,为什么不使用专为边缘设计的工具呢?


4 – 它不是一个玩具

在 Node-RED 中构建原型可以给客户留下深刻的印象。现在该做些什么呢?

当然是基于原型创建成品。这仍然是在 Node-RED 中完成!无论您要构建的是单个新功能、新功能集合还是从浏览器到数据库的整个应用程序,Node-RED 可引导您完成从原型到生产的整个过程。

而且,如果您无法从成千上万的免费组件中找到符合自己需求的组件,那么可以编写自己的组件!

例如,可以查看 IBM Cloud 中的 Node-RED Starter,它可以引导您构建一些重要功能。


5 – 不只是用于 IoT

借助 Node-RED,您可以通过使用浏览器将节点间的数据流连接在一起来创建特定的功能。它在 IoT 领域内已经得到广泛的应用,能够对传感器、摄像头和无线路由器等 IoT 设备之间的一些应用程序功能进行建模。

但是,如果您有创造力的话,那它就不只是 IoT 技术了。 在 flows.nodered.org 中提供了成千上万个现成的节点。不喜欢它们吗?编写自己的代码!

节点就是代码块,几乎可以执行所有您想要的操作。需要从 Twitter 中读入一些数据?需要将推文与情绪匹配器进行比较,了解推文中反映的情绪是高兴、悲伤还是冷漠?需要从某个 Web 表单中读入数据?或者执行在 OpenWhisk 中运行的无服务器功能?选中对应的项就可以了。

现在明白了吧,Node-RED 超级灵活,而且功能很强大。

查看 IBM Developer 上所有精彩的 Node-RED 内容,以找到立即开始使用 Node-RED 的理由。

NodeRED官网:https://nodered.org/

NodeREDGITHUB:https://github.com/node-red

NodeRED英文社区:https://discourse.nodered.org/

NodeRED中文社区:https://www.iotschool.com/topics/node81

NodeRED中文社区QQ群:8604461

技术图片

原文:https://www.iotschool.com/topics/821

物联网 IoT 使用 Node-RED 的 5 大理由



推荐阅读
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
author-avatar
乐橙味_367
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有