0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IOT视觉化开发工具Node-RED快速上手

电子设计 来源:电子设计 作者:电子设计 2020-12-25 18:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

现在有越来越多非专业背景但有创造热诚的Maker,想要进入物联网领域大展身手,但常常苦于无法撰写艰深难懂的程序代码,以及想要连接各种硬件与时下最流行的社群软件,却不知道如何使用开放给开发者应用的API的窘境。

没关系!IBM发行了一套开源可视化界面开发工具- Node-RED,嗯?是不是有点眼熟?怎么跟著名的程序语言Node.js有些相似?不用担心,即使完全不懂怎么撰写Node.js,也能学会使用Node-RED。接下来就让我们一起看看如何运用Node-RED吧!

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

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

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

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

想在Raspberry Pi上使用Node-RED,需先安装Node.js运行环境,如果是使用FRED,或是IBM Bluemix使用Node-RED,则不须安装。

安装Node-RED:在Raspberry pi的Bash输入「sudo npm install -g node-red」

2. 启动Node-RED:

(1) 在Bash输入「node-red」

(2) 在计算机上使用远程桌面联机(Pi须安装xrdp),打开Linux的浏览器进入http://localhost:1880,即可进入Node-RED编辑页面,这里跟Bash登入画面一样,输入Pi的帐号密码

进入编辑页面了

实作范例

Hello Node-RED

http://noderedguide.com/node-red-lecture-2-building-your-first-flows-15/

接下来,让我们来学习如何使用Node-RED的基本单位:Node,并使用Nodes来传送字符串「Hello Node-Red!」来跟Node-RED打声招呼吧!

使用左侧的inject与debug接成以下的流程:

Inject node:我们使用这个Node来输入各式的数值,举凡变量、数字、字符串、时间常数都可以,Inject通常都是一个Flow的开头。

Debug node:这个Node就像是示波器的探棒,会将流入此点的对象信息于右边的Debug字段显示出来,我们使用这个Node检视结果是否符合预期的结果。

实作结果:左侧node按下蓝色的按钮后,右侧的debug栏接收到input的讯息。

2. LED灯开关

Node-RED有个很大的特色,就是可以方便地控制RaspberryPi,在这之前,呼叫GPIO都是使用PythonC语言、Java等等;而现在只要设定Node-RED就可以达到相同的效果,在这个流程输入开或关的讯息,判断式处理完后,会将1或0传入Rpi Pin node。

(RPi node预设只有RPi的Node-RED才有)

Inject Node:我们这边设定将”On"字符串输入给Switch function。

Function Node:我们使用这个Node作为撰写自定义函式的地方,使用的语法为Javascript,这?边先写一个简单的判断函式确认是ON或是OFF,最后将msg对象往下传。

RPi Pin node:我们使用这个Node来设定RPi的脚位输出,可分为数字输出与PWM;本次做数字输出,选择GPIO17脚位。

Raspberry Pi3脚位图:

实作结果:

可能遇到的错误

1.无法使用npm指令

Raspberry Pi尚未安装Node.js,需先安装Node.js才能使用npm。

2.进入0.01:1880无法显示网页?

需先在Raspberry Pi的terminal输入node-red,启动服务器才能登入页面。

3.Function Node无法输入程序代码?

GNU/Linux内建浏览器的Bug,建议使用FireFox的浏览器。

作者:何信昱

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IBM
    IBM
    +关注

    关注

    3

    文章

    1855

    浏览量

    76796
  • 应用软件
    +关注

    关注

    0

    文章

    53

    浏览量

    9379
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BL118 Node-RED 边缘计算网关:数据采集场景下的“隐形冠军”

    分析、安全监测,数据不但要采,还要 处理得快、处理得准、处理得灵活 。 这,就是 BL118 Node-RED 边缘计算网关大显身手的地方。 一、为什么数据采集需要“边缘计算”? 传统做法是:所有数据拉到服务器或云平台再处理。但在实际工
    的头像 发表于 12-03 16:52 453次阅读
    BL118 <b class='flag-5'>Node-RED</b> 边缘计算网关:数据采集场景下的“隐形冠军”

    钡铼技术BL118 Node-Red边缘计算网关西门子PLC S7协议使用方法

    一、概述 node-red-contrib-s7用于与 Siemens S7 PLC 交互的 Node-RED 节点。S7读数据 S7写数据 S7高级读取支持以S7协议读写西门子系列PLC的数据
    的头像 发表于 12-03 16:48 557次阅读
    钡铼技术BL118 <b class='flag-5'>Node-Red</b>边缘计算网关西门子PLC S7协议使用方法

    Node-RED工业节点推荐:Modbus、PLC、OPC UA、MQTT 都能搞定!

    在工业现场,设备多、协议杂、系统分散是常态。但自从有了Node-RED,工程师只需“拖一拖”“连一连”,就能让 PLC、传感器、数据库与云端高效互通。 今天,深圳市钡铼技术有限公司 带你系统了解
    的头像 发表于 10-13 18:02 769次阅读
    <b class='flag-5'>Node-RED</b>工业节点推荐:Modbus、PLC、OPC UA、MQTT 都能搞定!

    华大电子支持的主流开发工具有哪些

    华大电子支持的主流开发工具
    的头像 发表于 09-28 10:43 327次阅读
    华大电子支持的主流<b class='flag-5'>开发工具</b>有哪些

    三种开发工具的功能和优势

    您喜欢捣鼓电子设备并自己动手制作项目吗?如果是,您可能会对Raspberry Pi、Arduino、ROCK及其他能帮助实现DIY目标的开发工具感兴趣。Raspberry Pi在全球已售出约3000万台,这一令人瞩目的成绩说明这类开发工具正在改变我们的创新方式。
    的头像 发表于 09-25 16:45 718次阅读

    Node-RED太烧钱?你可能需要换个打开方式

    Node-RED作为开源可视化编程工具,确实能快速搭建物联网应用。但当你准备把它用到生产环境时,就会发现这些隐形开销:硬件成本首当其冲。工业现场需要能扛得住高温高湿、电压波动、电磁干扰的设备。普通工控机在车间里经常"闹脾气",而
    的头像 发表于 09-05 16:12 653次阅读
    <b class='flag-5'>Node-RED</b>太烧钱?你可能需要换个打开方式

    工业物联网和自动化领域 Node-RED 最常用的 10 大节点,你用过几个?

    本文盘点了工业物联网与自动化领域 Node-RED 最常用的 10 大节点,包括 inject、debug、MQTT、Modbus、OPC UA 等,并结合应用场景与技巧进行解析。钡铼技术 ARMxy 系列工业控制器已预装 Node-RED,开机即可实现数据采集、协议转换
    的头像 发表于 08-13 11:47 1228次阅读
    工业物联网和自动化领域 <b class='flag-5'>Node-RED</b> 最常用的 10 大节点,你用过几个?

    物联网+低代码:解锁高效开发,纵横智控Node-RED平台引领新范式

    物联网的星辰大海已近在眼前,但抵达彼岸的航程需要更高效的桨帆。低代码开发,特别是以Node-RED为代表的可视化流编程范式,正在大幅降低物联网应用开发的技术门槛和成本,释放创新潜能。成都纵横
    的头像 发表于 06-28 14:53 1186次阅读
    物联网+低代码:解锁高效<b class='flag-5'>开发</b>,纵横智控<b class='flag-5'>Node-RED</b>平台引领新范式

    IAR开发平台升级Arm和RISC-V开发工具链,加速现代嵌入式系统开发

    IAR正式发布其旗舰产品的重大更新版本:Arm开发工具链v9.70和RISC-V开发工具链v3.40。
    的头像 发表于 06-11 14:28 677次阅读

    rk3568开发工具

    rk3568开发工具
    发表于 04-16 17:03 7次下载

    AI开发工具分类与功能

    当下,AI开发工具不仅简化了AI开发的复杂流程,还提高了开发效率,推动了AI技术的广泛应用。下面,AI部落小编为大家介绍AI开发工具的分类及其功能。
    的头像 发表于 04-12 10:12 1074次阅读

    【教程】Node-RED中Chirpstack节点使用指南

    在物联网应用开发中,LoRaWAN技术因其低功耗、远距离传输等特点而备受关注。Chirpstack作为最流行的LoRaWAN服务器之一,与Node-RED的集成为我们提供了强大的物联网应用开发能力
    的头像 发表于 03-27 19:33 1037次阅读
    【教程】<b class='flag-5'>Node-RED</b>中Chirpstack节点使用指南

    【干货】什么是Node-RED?一文带你了解!

    一什么是Node-RED?首先我们来认识一下什么是Node-REDNode-RED是一个基于Node.js的开源可视化编程工具,于2013
    的头像 发表于 03-13 19:32 1568次阅读
    【干货】什么是<b class='flag-5'>Node-RED</b>?一文带你了解!

    云计算开发工具包的功能

    随着云计算技术的不断成熟,越来越多的企业开始将应用和服务迁移到云端,以享受弹性计算资源、高可用性和成本效益等优势。为了加速这一进程,云计算服务提供商推出了各种开发工具包。下面,AI部落小编带您了解云计算开发工具包的主要功能。
    的头像 发表于 02-21 11:02 559次阅读

    鸿蒙北向开发OpenHarmony4.1 DevEco Studio开发工具安装与配置

    OpenHarmony4.1 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!
    的头像 发表于 02-07 17:35 1396次阅读
    鸿蒙北向<b class='flag-5'>开发</b>OpenHarmony4.1 DevEco Studio<b class='flag-5'>开发工具</b>安装与配置