搭建物联网网关实现数字可视化

前文完成了边缘网关及云平台操作,现在我们尝试通过搭建开源组件来进行数据的时序数据库的存储及可视化页面显示。

已知,emqx作为mqtt的broker,接入数据,这个数据可以是设备直连的mqtt数据,也可以是上面描述的neuron边缘网关通过北向发送过来的数据。这个数据通过一个时序数据库influxDB来存储传感器数据,时序数据库的特点是每个点位的传感器数据是有时间戳的,也就是隔一会就会有相同点位的数据,比如某处位置的温度数据,每隔一段时间就会上报。最后通过一个开源的可视化框架Grafana显示在页面上。这幅图是从emqx的官方博客中拷贝过来的,但是emqx连接influxDB的插件是只有在emqx企业版中才有,所以我们这里做个改动,在这两层之间加入一个node-red,这是一个IBM开发的低代码平台,通过拓展就可以将数据流引导对接influxDB中。

用docker安装node-red

接下里先安装node-red。我们也通过docker进行安装:

mkdir /data       //node-red需要使用/data文件夹来存储,之前我们的alpine并没有这个文件夹,所以要新建这个文件夹
docker run -itd -p 1880:1880 --restart=always --name mynodered nodered/node-red

在浏览器中通过http://IP:1880启动node-red。按下右上侧三根横向的按钮,点击节点管理,通过搜索influxdb来安装node-red的influxdb插件。

 

   

 

有关node-red用法的官网链接:

Running under Docker : Node-RED (nodered.org) 

使用 Node-RED 处理 MQTT 数据 | EMQ (emqx.com) 

node-red-contrib-influxdb (node) - Node-RED (nodered.org) 节点信息

 用docker安装influxdb 

docker run -d --name influxdb -p 8086:8086 --restart=always influxdb
 //与安装node-red同理

 

启动浏览器访问http://IP:8086

 

 

 

使用node-red将边缘网关数据存储到实训数据库influxDB

neuron中会源源不断地publish某个主题的数据:

 

 

在node-red中拖拽mqtt-in节点,双击设置,设置服务端为emqx

 

加一个debug调试节点查看下数据,可以双击加上节点状态,这样直接可以在flow中看到数据。

 

部署后生效:

 

如果要在控制台查看数据,则需要用命令行attach容器:

 

回到虚拟机中:

docker attach mynodered

 

控制台ctrl+p+q 退出 

现在输出的数据是所有负载的数据,其实我们要存储进数据库的只是传感器数据,所以我们需要提取其中的values,所以添加一个函数节点,把其中的values作为payload。

 

重新部署:

 

接下来要将数据存入到influxDB中。拖拽influxdb out节点,双击配置,新建一个influxDB节点,版本选择2.0,URL填写的是安装influxDB的IP和默认的8086端口,Token填入你之前拷贝到记事本中api-token。

 

  这里influxdb表示的镜像image:

安装Grafana实现数据可视化

使用docker安装grafana :

docker run -d -p 3000:3000 --name=grafana --restart=always grafana/grafana-oss

选择添加数据源data source,选择influxDB,URL中填入influxDB中的IP和默认端口8086,用户名和密码填入你在influxDB中设置的用户名和密码,我这里是admin和12345678。InfluxDB细节中填入组织名stiei,Token填入你之前保存在记事本中的api-key,bucket填入你之前设置的bucket,我这里是nle-simulator。

 

 

显示3 buckets found表示配置成功。

 

 

选择数据源为之前配置的influxDB数据源,进入看板编辑页面。在下方的Query中需要填入查询influxDB的语句。这个语句可以从influxDB的web页面去拷贝。如下图,注意下图是influxDB的web页面,也就是端口为8086的页面,选择你要可视化的传感器,点击script editor,可以将代码拷贝。

 

 

全部数据结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值