在我使用的这个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 栏了
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流程启动)
Play around with it:)
##博客仅作个人记录##