Node-RED教程(八):Node-RED网络节点的使用

物联网 同时被 2 个专栏收录
30 篇文章 7 订阅
20 篇文章 54 订阅

Node-RED系列文章目前已经写了16篇,介绍了Node-RED的安装以及默认安装的一些基本节点的使用,作为物联网的一个可视化拖动的流程,Node-RED的确实很容易上手。还没开始学习的同学可以先看下我以前的文章。

本篇文章我来给大家讲一下Node-RED中网络network分类下的节点,该分类下有12个节点,

  • mqtt in 连接到MQTT代理并订阅来自指定主题的消息。
  • mqtt out 连接到MQTT代理并发布消息。
  • http in 创建用于创建Web服务的HTTP端点。
  • http response 将响应发送回从HTTP输入节点接收的请求。
  • http request 发送HTTP请求并返回响应。
  • websocket in WebSocket输入节点。
  • websocket out WebSocket输出节点。
  • tcp in 提供TCP输入选择。可以连接到远程TCP端口,或接受传入连接。
  • tcp out 提供TCP输出的选择。可以连接到远程TCP端口,接受传入的连接,或回复从TCP In节点收到的消息。
  • tcp request 一个简单的TCP请求节点。将msg.payload发送到服务器tcp端口,并期望得到响应。
  • udp in UDP 输入节点。在msg.payload中生成Buffer,字符串或Base64编码的字符串。支持组播。
  • upd out 该节点将msg.payload发送到指定的UDP主机和端口。支持组播。

这一模块是Node-red的核心模块,如果要与硬件,设备通信,都要通过该模块来实现。由于本章节点过多,所以分多期来讲,这一期我们先来看看 http in,http out, http request, ``

http in

该节点可以用于创建一个web服务的http接口,支持的方法有以下几种

GET, POST, PUT, DELETE PATHC, 也支持POST上传文件
编写一个接口很简单

  • 创建一个Http in 节点
  • 使用函数 function 节点来处理要返回的数据
  • 使用http out节点来返回数据到客户端

这就是一个完成的http请求链路。

该节点向后输出的内容有

payload GET请求包含任何查询字符串参数的对象。或者包含HTTP请求正文。
reqHTTP请求对象。该对象包含有关请求信息的多个属性。

  • body - 传入请求的正文。格式将取决于请求。
  • headers - 包含HTTP请求标头的对象。
  • query - 包含任何查询字符串参数的对象。
  • params - 包含任何路由参数的对象。
  • cookies - 包含请求cookie的对象。
  • files - 如果节点启用了文件上传,则为包含了上传的文件的对象。

res HTTP响应对象。此属性不应直接使用;HTTP Response节点记录了如何响应请求。该属性必须保留在传递给响应节点的消息上。

我们创建这样一个接口

接口的路径是 /getname 使用get请求

然后在后方添加一个function节点

这样就可以在flow中追加payload消息体了

http response

这个节点是为了将HTTP响应发送回客户端,
返回的消息体有这几个元素

  • payload 响应的正文。
  • statusCode 如果设置,则用作响应状态代码。默认值:200。
  • headers 如果设置,则提供HTTP头以包含在响应中。
  • cookies 如果设置,则可用于设置或删除cookie。

创建一个http response 追击到上一步的流中

部署后,在浏览器输入 ip:port/getname
会看到这样一个返回体

http request

该节点发送HTTP请求并返回响应。
有输入,有输出
输入有这些参数

  • url 如果未在节点中配置,则此可选属性设置请求的url。
  • method 如果未在节点中配置,则此可选属性设置请求的HTTP方法。必须是GET,PUT,POST,PATCH或DELETE之一。
  • headers 设置请求的HTTP头。
  • cookies 如果设置,则可用于发送带有请求的cookie。
  • payload 发送为请求的正文。
  • rejectUnauthorized 如果设置为false,则允许对使用自签名证书的https站点进行请求。
  • followRedirects 如果设置为false,则阻止遵循重定向(HTTP 301)。默认情况下为true
  • requestTimeout 如果设置为正数毫秒,将覆盖全局设置的httpRequestTimeout参数。

输出的参数

  • payload 响应的正文。可以将节点配置为以字符串形式返回主体,尝试将其解析为JSON字符串或将其保留为二进制buffer。
  • statusCode 响应的状态码,如果请求无法完成,则返回错误码。
  • headers 包含响应头的对象。
  • responseUrl 如果在处理请求时发生任何重定向,则此属性为最终重定向的URL。否则则为原始请求的URL。
  • responseCookies 如果响应包含cookie,则此属性是每个cookie的‘名称/值’键值对的对象。
  • redirectList 如果请求被重定向了一次或多次,则累积的信息将被添加到此属性。“location”是下一个重定向目标。cookie是从重定向源返回的cookie。

这里给出一个示例

请求一个接口,可以配置证书, 选择请求方式

然后在节点前添加,inject节点,用于触发接口,在节点后追加 debug节点打印消息

部署后触发流

  • 4
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <span style="color:#313d54;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;font-size:16px;background-color:#ffffff;">Node-RED是工业网物联网重要组成部分,我最开始接触Node-RED,也算是一个偶然机会吧,上班后领导安排我第一个任务就是调研一下Node-RED,我之后上网查了一下,那个时候网上相对于Node-RED资料也比较少,只知道它是IBM公司一个开源项目。直到最近,发现许多大公司产品都支持Node-RED,比如西门子公司IoT2000,研华公司WISE PaaS 网关,美国OPTO 22等设备中都安装了Node-RED,表明它在工业物联网和控制中已经广泛应用了。</span> </p> <p> <img src="https://img-bss.csdnimg.cn/202010200935441926.png" alt="" width="1316" height="524" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 那么工业物联网为什么要用它?它又处于工业物联网那个层次?它具有哪些特性?它帮助物联网解决了什么问题?为什么说它是柔性动态可重构解决方案呢? </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 本门课程,老师将带领你从Node-RED发展,工业物联网定位开始讲解,并带领着大家进行手把手安装Node-RED,实际操作演练Node-RED,并搭建一个物联网小平台,给大家带来更好学习效果。 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> <img src="https://img-bss.csdnimg.cn/202010200936289051.png" alt="" width="1841" height="948" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> <img src="https://img-bss.csdnimg.cn/202010200936561564.png" alt="" width="1920" height="977" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 为了能够让小伙伴们快速了解本门课程结构,本门课程从以下几个方面展开 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED入门 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED安装与配置 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED教学实战 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED优势与不足 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED能为我们带来什么 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED总结与展望 </p>
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值