IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 无代码利用TDengine+EMQX+Grafana搭建物联网可视化平台 -> 正文阅读

[嵌入式]无代码利用TDengine+EMQX+Grafana搭建物联网可视化平台

一、说明

本文是参考TDengine官网文档上的一篇博客编写,原文链接数据传输、存储、展现,EMQ X + TDengine 搭建 MQTT 物联网数据可视化平台

二、简介

物联网数据采集涉及到大量设备接入、海量的时序数据传输,EMQ X 消息中间件与 TDengine 大数据平台的组合技术栈完全能够胜任场景中的海量时间序列监测数据的传输、存储和计算。

数据入库后,往往需要其他方式如数据可视化系统将数据按照规则统计、展现出来,实现数据的监控、指标统计等业务需求,以便充分发挥数据的价值,TDengine 搭配开源软件 Grafana 可以快速搭建物联网数据可视化平台。

三、案例

本文模拟物联网环境数据采集场景,假设现有一定数据的环境数据采集点,所有采集点数据均通过 MQTT 协议传输至采集平台(MQTT Publish),主题设计如下:

sensor/data

传感器发送的数据格式为 JSON,数据包括传感器采集的温度、湿度、噪声音量、PM10、PM2.5、二氧化硫、二氧化氮、一氧化碳、传感器 ID、区域、采集时间等数据。

{
    "temperature": 30,
    "humidity" : 20,
    "volume": 44.5,
    "PM10": 23,
    "pm25": 61,
    "SO2": 14,
    "NO2": 4,
    "CO": 5,
    "id": "10-c6-1f-1a-1f-47",
    "area": 1,
    "ts": 1596157444170
}

现在需要实时存储以便在后续任意时间查看数据,提出以下的需求:
1.查看环境的温度实时变化
2.查看当天温度的最高值
3.查看当天湿度平均值

四、安装TDengine,并且创建数据库与数据表

通过TDengine官网安装,关于TDengine服务器、客户端的安装,之前已经说明了。

进入TDengine

taos

创建数据库

create database test;

创建数据表

  use test;
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
);

在这里插入图片描述

五、安装EMQX

EMQ 官网:https://www.emqx.cn/

1.选择对应的服务器

在这里插入图片描述

2.下载

wget https://www.emqx.cn/downloads/broker/v4.2.11/emqx-centos7-4.2.11-x86_64.rpm

3.安装

sudo yum install emqx-centos7-4.2.11-x86_64.rpm

4.运行

sudo emqx start

5.运行成功

启动成功后浏览器访问 http://服务器地址:18083 访问 EMQ X 管理控制台 Dashboard,使用默认用户名 admin和默认密码public完成初次登录。
在这里插入图片描述

6.配置 EMQ X 规则引擎

1.点击规则->创建

在这里插入图片描述

2.规则 SQL

规则 SQL 用于 EMQ X 消息以及事件筛选,以下 SQL 表示从 sensor/data 主题筛选出 payload 数据:

SELECT
  payload
FROM
  "sensor/data"

在这里插入图片描述

3.使用SQL 测试功能

输入测试数据进行筛选结果测试,测试有结果且输出内容如下,标明 SQL 编写正确:
在这里插入图片描述

4.为当前规则引擎添加 响应动作

在这里插入图片描述

在这里插入图片描述

5.资源类型选择

资源类型选择 Webhook,请求 URL 填写 http://taos服务器:6041/rest/sql,请求方法选择 POST,还需添加 Authorization 请求头作为认证信息。
Authorization 的值为 Basic + TDengine 的 {username}:{password} 经过 Base64 编码之后的字符串, 例如 root:taosdata 编码后为 cm9vdDp0YW9zZGF0YQ==,实际填入的值为:Basic cm9vdDp0YW9zZGF0YQ==
在这里插入图片描述

6.填入消息模板内容

消息内容模板:此处为携带数据的 INSERT SQL,注意我们应当在 SQL 中指定数据库名,字符类型也要用单引号括起来, 消息内容模板为:

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}
)

在这里插入图片描述
这样EMQX的配置就完成了。
想要检测的话,可以用paho模拟发送数据,观察数据库是否有数据插入。
在这里插入图片描述
在这里插入图片描述
发现有一条数据插入了数据库。表示EMQX的规则引擎配置成功。

五、安装Grafana

Grafana 官网: https://grafana.com/
选择对应的版本安装
在这里插入图片描述
在这里插入图片描述

1.下载并安装

wget https://dl.grafana.com/oss/release/grafana-7.5.4-1.x86_64.rpm
sudo yum install grafana-7.5.4-1.x86_64.rpm

2.开机自动启动

systemctl enable grafana-server

3.启动服务

systemctl start grafana-server

为Grafana 添加TDengine数据库插件
找到你TDengine对应版本的客户端文件在\connector下面
\TDengine-client-2.xx.xx.xx\connector
在这里插入图片描述
把这个文件复制到Grafana的安装目录下面的/var/lib/grafana/plugins
在这里插入图片描述
然后重新启动Grafana

systemctl restart  grafana-server

启动成功后浏览器访问 http://服务器地址:3000 访问 Grafana 可视化面板,使用默认用户名 admin 密码 admin 完成初次登录,登录后按照提示修改密码使用新密码登录进入主界面。
在这里插入图片描述
添加数据库
在这里插入图片描述
选择TDengine数据库
在这里插入图片描述
配置TDengine数据库,并保持
在这里插入图片描述

添加仪表盘

在这里插入图片描述
创建最近六个小时的最大温度仪表盘
在这里插入图片描述
创建最近一个小时内的温度历史数据仪表盘
在这里插入图片描述
最终界面、当mqtt那边发送数据,EMQX会自动存进taos数据库,然后Grafana会调取taos数据库数据根据sql语句进行数据查询实时显示。
在这里插入图片描述
搭建完成。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:22:45  更:2021-08-04 11:24:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:57:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码