EMQ X + Tdengine + Grafana搭建 MQTT 物联网数据可视化平台

本文介绍了如何在Ubuntu环境中,通过安装EMQ X MQTT服务器、Tdengine数据库和Grafana可视化工具,搭建一个物联网数据可视化平台。详细步骤包括环境配置、软件安装、数据库创建、EMQ X规则引擎配置、模拟数据生成及Grafana仪表盘的设置。
摘要由CSDN通过智能技术生成

EMQ X + Tdengine + Grafana搭建 MQTT 物联网数据可视化平台

一、Ubuntu基础环境

1.使用 ubuntu-18.04.5-desktop-amd64.iso 在Vmware创建虚拟机

2.调整时区、锁屏时间、浏览器语言等基础设置

3.修改镜像源

$ git clone https://gitee.com/isfive/linux-apt-get-aliyun.git
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
$ cp /etc/apt/sources.list /etc/apt/sources.list.bak
$ cd linux-apt-get-aliyun
$ cd ./18.04
$ sudo cp ./sources.list /etc/apt/sources.list
$ sudo apt-get update

4.安装vim

$ sudo apt install vim

5.安装Node.js

$ sudo apt-get install nodejs
$ sudo apt-get install npm

二、安装

1.安装 EMQ X

$ sudo apt update && sudo apt install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common
$ curl -fsSL https://repos.emqx.io/gpg.pub | sudo apt-key add -
$ sudo apt-key fingerprint 3E640D53
$ sudo add-apt-repository \
  "deb [arch=amd64] https://repos.emqx.io/emqx-ce/deb/ubuntu/ \
  ./$(lsb_release -cs) \
  stable"
$ sudo apt update
$ sudo apt install emqx=4.1.1
$ emqx start
若要停止 EMQ X Broker:$ emqx stop
若要卸载 EMQ X Broker:$ sudo apt remove emqx

2.安装 Tdengine

https://www.taosdata.com/cn/getting-started/#%E5%BF%AB%E6%8D%B7%E5%AE%89%E8%A3%85

下载 TDengine-server-2.0.5.1-Linux-x64.deb (2.7M),直接安装

$ systemctl start taosd
查看 TDengine状态:$ systemctl status taosd
若要停止 TDengine:$ systemctl stop taosd

3.安装 Grafana

$ sudo apt-get install -y adduser libfontconfig1
$ wget https://dl.grafana.com/oss/release/grafana_7.2.1_amd64.deb
$ sudo dpkg -i grafana_7.2.1_amd64.deb
$ sudo service grafana-server start
若要停止 Grafana:$ sudo service grafana-server stop

4.为Grafana添加TDengine数据源插件

$ git clone https://github.com/taosdata/TDengine.git
$ sudo cp -r /TDengine/minidevops/grafana/tdengine /var/lib/grafana/plugins/
$ sudo service grafana-server restart

三、TDengine 创建数据库与数据表

$ taos
taos> create database test;
taos> use test;
taos> CREATE TABLE sensor_data (
  ts timestamp,
  temperature float,
  humidity float,
  volume float,
  PM10 float,
  pm25 float,
  SO2 float,
  NO2 float,
  CO float,
  sensor_id NCHAR(255), 
  area TINYINT,
  coll_time timestamp
);

四、配置 EMQ X 规则引擎

1.打开 EMQ X Dashboared( http://127.0.0.1:18083 )使用 admin public 默认用户名密码完成初次登录,在设置中切换为中文

2.进入 规则引擎 -> 规则 页面,点击 新建 按钮进入创建页面

3.填写 规则SQL

SELECT
  payload
FROM
  "sensor/data"

4.添加 响应动作,“动作”选择发送数据到Web服务

5.在“关键资源”新建资源,资源类型“WebHook”,资源名称“Tdengine Local”,请求URL“http://127.0.0.1:6041/rest/sql”,请求方法“POST”,请求头的键“Authorization”、的值“Basic cm9vdDp0YW9zZGF0YQ==”,点击新建按钮

6.关键资源选择新建的“Tdengine Local”,消息内容模板为

INSERT INTO test.sensor_data VALUES(
  now,
  ${payload.temperature},
  ${payload.humidity},
  ${payload.volume},
  ${payload.PM10},
  ${payload.pm25},
  ${payload.SO2},
  ${payload.NO2},
  ${payload.CO},
  '${payload.id}',
  ${payload.area},
  ${payload.ts}
)

五、生成模拟数据

1.创建脚本文件

$ vim mock.js

2.复制脚本代码

// mock.js
const mqtt = require('mqtt')
const Mock = require('mockjs')

const EMQX_SERVER = 'mqtt://localhost:1883'
const CLIENT_NUM = 100
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值