如何在Node-RED中使用MQTT node

在我使用的这个Node RED版本中(V.0.16.0), 并不包括MQTT node, 在最新的版本中是否已经包括并不清楚. 

下面的步骤记录了从scratch直到可以在Node RED流程中触发MQTT消息的subscribe, publish.


Step 1)   安装Node RED, 并且能够运行

1.1) 安装node.js, Node RED是基于node.js开发的IoT可视化工具.

$sudoapt-getinstallnode.js


1.2) 安装 npm (node package management)

$sudoapt-getinstallnpm


1.3)创建一个symbolic link, 很多Node.js的应用经常直接使用node而

$sudoln-s/usr/bin/node.js/usr/bin/node


1.4) 使用npm安装 Node RED

$sudo npm install -g --unsafe-perm node-red


1.5)运行node-red, 应该可以看到应用已经启动在127.0.0.1:1880上,打开网页输入127.0.0.1:1880,   play around.


Step 2) 添加MQTT node

Node RED有两种方式添加新node, 一种是使用Node RED库, 另外一种是使用npm repository., 每个link里面都有很多node资源, 后一种更多.

2.1) 点开npm repository, 搜索MQTT broker, 会发现很多match的node, in my case,我选了mosca


2.2) 进入当前用户目录下的.node-red目录, 安装mosca

$sudo npm install mosca


2.3)重新启动 node-red,进入127.0.0.1:1880, 可以看到MQTT node已经被添加到左侧的node 栏了

如何在Node-RED中使用MQTT node_第1张图片


Step 3)  现在可以创建MQTT flow了

在这个例子里, 使用了mosquitto的MQTT broker来测试, mosquitto 的Broker test.mosquitto.org 1883.   input的MQTT node subscribe 一个topic, 中间的函数node把这个消息修改一下再重新push到这个topic上, 然后形成一个循环, MQTT消息会无限的接收,发送.(需要用mosquitto的client 在这个topic上publish第一条消息来触发flow流程启动)

如何在Node-RED中使用MQTT node_第2张图片


Play around with it:)



##博客仅作个人记录##


你可能感兴趣的:(如何在Node-RED中使用MQTT node)