在之前的课程 lora g-iot 模块基础应用中,我们已经知道如何将从 lora 得到的数值上传服务器,本文我们将学习撰写 node-red,将数据传送到自己设计的网页监测接口。
node-red 是 ibm 在 2013 年末开发的一个开源项目,用于构建物联网 iot 应用程序的一个强大工具。它提供基于网页的可视化的编程环境,过拖拽已定义 node 到工作区并用线连接 node 创建数据流来实现编程
1.申请 ibm bluemix 账号后,进入在左边的目录选单选择样板,
接着点选 “node-red starter” 服务,建立服务后点选产生的链接即可进入 node-red 程序页面。
※如果在样板那边没有〝node-red starter〞,须将左上角有个人照片帐户资料的下方,选择「美国南部」,并建立新的空间﹝需命名你的新空间﹞。
2.进入 node-red 威尼斯人最新首页后,点选 “node-rededitor” 即可看到默认的温度感测模板。
3.进入 editor 页面后,复制连结内的程序代码,
点选 editor 右上角的设定选项,选择 “import” 内的 “clipboard”,将连结内的程序代码贴进去后,即可看到我们本次课程的实作─「将 lora 的 gps 数据传送到监控端用 google map 定位」。
4.首先,我们点击两下紫色的 “loranode”,这是一个 mqtt 的 input node,我们将先前取得的 mqtt 信息依序填上,完成 subscribe 的动作,你也可以另外先拉一个 mqtt node 与 payload node 对接后按下右上角的 deploy,可从窗口右边的 debug 字段确认是否有数据被推播进来,如果没有就必须回去确认 mqtt node 是否有哪里设定错误。
设定 mqtt 的信息
拉一个 mqtt node debug node,确认 lora 的资料有确实推播进来
实作用的 node-red 程序代码,可以看到同时有 ascii 跟 gps hex 两个 function node
从链接提供的流程(上图)可以发现,中间的 function node 有分为 ascii 与 gps hex 两种 decoder,因为 lora 推播的数据格式有这种格式供使用者选择,因此要将相对应的 function 连结,如果 mqtt 设定无误且 debug 字段也一直有资料跑出来,我们可以在网址端输入:
http://{你 iot 服务设定的名称}.mybluemix.net/loramap
即可看到 gps 位置数据被标示在 google map 上,这个实作就算是大功告成啦!
地点被标示在地图上
1.一开始我们先点选主选单中的 “managepalette”,切换到窗口左边的 install 字段,在搜寻字符串中输入 “dashboard”,在出现的选单中安装 “node-red dashboard”,这样 dashboard node 就会出现在左手边的 node 字段了。
2.与第一个实作相同,import 本实作的 flow,
※一定要先安装 dashboard node 才能 import flow,不然会产生错误信息,接下来你就可以在 debug 字段附近看到 dashboard 字段,使用者可以依自己的需求自由更改各种颜色与线条图,尤其是有个像是车速仪表板的图表,需要特别设定它的最大值与最小值,如此一来我们的测试值就会在这两个值之间显示。
3.设定好了之后按下 deploy 就可以用浏览器进入 “http://{你的应用程序名称}.mybluemix.net/ui”,应该就能看到设计的图表,并且会因为你给的数值有变化而跟着一起变化,如果都有的话,代表物联网的监控接口就完成了,之后如果需要也可以设计符合需求的监测面板。
如果要开发物联网装置,node-red 会是你的好选择,而 mqtt 则是和 node-red 沟通最快速的桥梁,本文简述了如何开发 node-red 的 mqtt 端口以及 node-red 的监控面板,了解如何使用 lora、node-red、mqtt 后,你将可以开发大部分的简易物联网装置。
原文:
nodered 澳门人威尼斯3966官网:
noderedgithub:
nodered 英文社区:
nodered 中文社区:https://www.iotschool.com/topics/node81
nodered 中文社区 qq 群:8604461