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

    文章

    1730

    浏览量

    74480
  • 应用软件
    +关注

    关注

    0

    文章

    49

    浏览量

    9045
收藏 人收藏

    评论

    相关推荐

    ARM控制器与Node-Red:获取气象网站数据

    在当今工业物联网(IoT)蓬勃发展的背景下,企业和开发者们不断寻求更智能的方式来管理和控制工业设备。Node-Red作为一种强大的可视化编程工具,简化了物联网应用程序的
    的头像 发表于 09-21 10:40 90次阅读
    ARM控制器与<b class='flag-5'>Node-Red</b>:获取气象网站数据

    Node-Red可视化编程:简化开发的创新之选

    Node-Red 是构建物联网 (IOT Internet of Things) 应用程序的一个强大工具,其重点是简化代码块的“连接 ” 以执行任务。它使用可视化编程方法,允许开发人员
    的头像 发表于 09-21 10:37 73次阅读
    <b class='flag-5'>Node-Red</b>可视化编程:简<b class='flag-5'>化开发</b>的创新之选

    ARMxy ARM 物联网边缘计算网关支持 Node-RED 用于工业控制

    图形化界面简化数据处理流程的创建。在工业 IoT 场景下,Node-RED 支持:实时数据处理与分析、减少云服务依赖、快速原型开
    的头像 发表于 08-19 17:01 147次阅读
    ARMxy ARM 物联网边缘计算网关支持 <b class='flag-5'>Node-RED</b> 用于工业控制

    ARMxy ARM物联网边缘计算网关支持Node-RED用于云边端一体化

    解决方案的理想选择。本文将重点介绍ARMxy ARM边缘计算网关如何利用Node-RED这一开源工具,简化物联网应用的开发流程,加速数据从边缘到云端的无缝流动,逐步引导您掌握其应用。 一、精准设备选型与配置 选择合适的ARMxy
    的头像 发表于 08-19 16:05 189次阅读
    ARMxy ARM物联网边缘计算网关支持<b class='flag-5'>Node-RED</b>用于云边端一体化

    ARMxy ARM嵌入式计算机支持Node-Red应用于Ubuntu系统订阅消息

    。核心板CPU、ROM、RAM、电源、晶振等元器件均采用国产工业级方案,兼容Node-Red框架。本文主要介绍ARMxy边缘计算网关BL340系列使用Node-Red工具与libmosquitto
    的头像 发表于 08-16 14:23 160次阅读
    ARMxy ARM嵌入式计算机支持<b class='flag-5'>Node-Red</b>应用于Ubuntu系统订阅消息

    利用ARMxy边缘计算机BL340与Node-Red实现LED设备的开闭控制

    者搭建了一个高效的原型开发与测试平台。本文将带您走进BL340系列与Node-Red的结合应用,探索如何通过这一组合控制设备执行Linux指令,进而控制设备上的LED状态。 一、Node-Red
    的头像 发表于 08-15 14:12 143次阅读
    利用ARMxy边缘计算机BL340与<b class='flag-5'>Node-Red</b>实现LED设备的开闭控制

    使用Node-RED实现ModBus TCP到RTU的转换

    ,需要将ModBusTCP数据转换为ModBusRTU格式或者是将ModBusRTU格式转换为ModBusTCP数据。本文将详细介绍如何使用Node-RED来实现M
    的头像 发表于 08-02 08:21 265次阅读
    使用<b class='flag-5'>Node-RED</b>实现ModBus TCP到RTU的转换

    Node-RED初学者教程-三分钟学习

    通过这短短三分钟的教程,你已经掌握了Node-RED的基本操作。你可以利用Node-RED的强大功能来创建更复杂的数据流和自动化任务,无论是物联网应用、API集成还是数据处理。Node-RED简化了编程过程,让
    的头像 发表于 06-27 17:09 1426次阅读
    <b class='flag-5'>Node-RED</b>初学者教程-三分钟学习

    Node-RED如何制作漂亮的界面

    Node-RED深度融合(如成都的纵横智控和苏州稳联科技将Node-RED与物联网网关深度融合,打造可视化、硬件加持的物联网开发平台,使用者无需编码即可快速实现各类应用,开拓物联网无
    的头像 发表于 06-26 16:50 2550次阅读
    <b class='flag-5'>Node-RED</b>如何制作漂亮的界面

    Node-RED安装本地教程

    Node-RED是一个基于流的开发工具,广泛应用于物联网(IoT)、家庭自动化和其他数据驱动的应用程序。它通过图形化的编程界面,使得非专业程序员也能轻松上手。本文将介绍如何在本地环境中
    的头像 发表于 06-24 12:10 932次阅读
    <b class='flag-5'>Node-RED</b>安装本地教程

    Node-RED实现电表数据采集并上云

    本案例将通过Docker容器安装DLT-645协议插件采集实现电表数据上云,前面已经讲过ModbusRTU协议通过Node-RED上云,如果采用支持ModbusRTU电表可以参考之前的“Docker
    的头像 发表于 06-07 08:21 2462次阅读
    <b class='flag-5'>Node-RED</b>实现电表数据采集并上云

    Diamond开发工具使用说明

    Diamond开发工具使用说明
    发表于 05-23 09:14 0次下载

    Docker容器实现边缘采集

    Node-RED环境搭建Node-RED是构建物联网(IoT,InternetofThings)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,
    的头像 发表于 12-15 08:20 463次阅读
    Docker容器实现边缘采集

    浏览器网页与T5L迪文屏串口深度扩展(Node-RED技术)

    ——来自迪文开发者论坛本期为大家推送一个很有创意的迪文开发者论坛获奖开源案例——浏览器网页与T5L迪文屏串口深度扩展(Node-RED技术)。工程师使用T5L智能屏,通过Node-RED
    的头像 发表于 12-09 08:13 632次阅读
    浏览器网页与T5L迪文屏串口深度扩展(<b class='flag-5'>Node-RED</b>技术)

    IoT和IIoT应用选择微控制器开发工具包的介绍性指南

    IoT和IIoT应用选择微控制器开发工具包的介绍性指南
    的头像 发表于 11-30 15:51 409次阅读
    为<b class='flag-5'>IoT</b>和IIoT应用选择微控制器<b class='flag-5'>开发工具</b>包的介绍性指南