前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Grafana 面板监控 Helium 网络中的LoRaWAN温湿度终端

Grafana 面板监控 Helium 网络中的LoRaWAN温湿度终端

作者头像
Yunfei_Helium
修改2021-09-12 16:16:14
1.1K0
修改2021-09-12 16:16:14
举报
文章被收录于专栏:Helium LoRaWANHelium LoRaWAN

上次我们介绍了如何通过腾讯的物联网开发平台实现将helium网络中LoRaWAN终端的数据推动到微信公众号和腾讯连连小程序,本篇文档介绍如何通过腾讯云的CVM主机部署Mosquitto MQTT + Telegraf + InfluxDB + Grafana 实现仪表盘监控温湿度数据以及历史数据的分析。

仪表盘:

温湿度监控仪表盘
温湿度监控仪表盘

准备工作

  • 腾讯云云服务器主机,Ubuntu Server 20.04 LTS 64位
  • Rejeee温湿度传感器
  • Helium热点网关
  • Helium Console账户

数据流程:

代码语言:javascript
复制
  Rejeee温湿度传感器 --> Helium热点AP --> HeliumConsole --> MQTTBroker --> Telegraf --> InfluxDB --> Grafana 

安装 Mosquitto MQTT Broker

  • 使用apt-get安装MQTT和客户端
代码语言:javascript
复制
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients
sudo apt-get clean
  • 配置MQTT密码

创建两个MQTT账户密码,分别用在Helium Console 和 Telegraf 修改配置文件:

代码语言:javascript
复制
sudo vim  /etc/mosquitto/conf.d/default.con

并增加两行配置,使用这个密码文件要求所有的连接登陆

代码语言:javascript
复制
allow_anonymous false
password_file /etc/mosquitto/passwd

增加helium console MQTT集成使用的账户密码

代码语言:javascript
复制
mosquitto_passwd -b /etc/mosquitto/passwd heliumconsole heliumconsole123

增加telegraf 使用MQTT连接使用账户密码

代码语言:javascript
复制
mosquitto_passwd -b /etc/mosquitto/passwd telegraf telegraf123

重启进程并确认服务已启动

代码语言:javascript
复制
service mosquitto stop
service mosquitto start
service mosquitto status

安装 influxDB

  1. Ubuntu 用户可以使用apt-get包管理器安装最新稳定版本的 InfluxDB ,使用以下命令添加 InfluxData 存储库配置:
代码语言:javascript
复制
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

安装并启动 InfluxDB 服务

代码语言:javascript
复制
sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start
sudo systemctl status influxd.service 

配置influxDB并使用

  1. 登陆influx控制台influx
  2. 在控制台创建数据库
代码语言:javascript
复制
create database rejeee_TH
use rejeee_TH<br>
create user rejeee_TH with password 'rejeee_TH123' with all privileges<br>
exit

安装Telegraf

代码语言:javascript
复制
sudo apt-get update && sudo apt-get install telegraf
sudo service telegraf start
sudo service telegraf status

配置Telegraf

  • 将MQTT数据发送到inluxDB,修改下面配置文件
代码语言:txt
复制
sudo vim /etc/telegraf/telegraf.conf
  • 修改下列参数配置outputs.influxdb
代码语言:javascript
复制
    urls = ["http://127.0.0.1:8086"]<br>
    database = "rejeee_TH"<br>
    username = "rejeee_TH"<br>
    password = "rejeee_TH123"
  • 配置Telegraf 读取MQTT数据包, 在/etc/telegraf/telegraf.d 目录并创建一个名为 mqtt.conf 的文件,并填入以下信息
代码语言:txt
复制
sudo vim /etc/telegraf/telegraf.d/mqtt.conf
  • 将下列信息填入mqtt.con文件中inputs.mqtt_consumer
代码语言:javascript
复制
servers = "tcp://127.0.0.1:1883"
qos = 0
connection_timeout = "30s"
topics =  "helium/#" 
username = "telegraf"
password = "telegraf123"
data_format = "json"
json_string_fields = "name","hotspot_name","spreading"
  • 重新加载telegraf服务读取配置
代码语言:javascript
复制
sudo systemctl reload telegraf.service
sudo systemctl status telegraf.service

安装Grafana

  • 安装Grafanasudo
代码语言:javascript
复制
apt-get install  grafana
  • 启动服务
代码语言:javascript
复制
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
  • 确认服务成功启动
代码语言:javascript
复制
sudo systemctl status grafana-server.service
  • 重启Grafana
代码语言:javascript
复制
sudo service grafana-server restart
  • 登陆Grafana 在浏览器中打开:http://服务器的IP:3000/login, 默认账户:admin 密码:admin

配置Grafana仪表盘

  1. 打开 Grafana:http://192.168.1.1:3000/login 用户名:admin 密码:admin
  2. 添加 InfluxDB 作为数据源 使用菜单 Configuration->Data Sources 添加之前创建的helium_sensors数据库凭据。按“保存并测试”。数据库:rejeee_TH 用户:rejeee_TH 密码:rejeee_TH123
  3. 添加仪表盘 下载参考温度监控仪表板:仪表盘模版
  4. 导入模版Json文件
导入模版Json文件
导入模版Json文件

Helium Console 使用MQTT集成将数据导入MQTT Broker

  • 配置HElium Console MQTT集成

示例:

mqtt://heliumconsole:heliumconsole123@serverIP:1884

用户: heliumconsole

密码: heliumconsole123

设置集成模版:

代码语言:javascript
复制
{
{{#decoded}}{{#payload}}"power": {{power}},
"temp_value": {{temp_value}},
"hum_value": {{hum_value}},{{/payload}}{{/decoded}}
"name": "{{name}}",
{{#hotspots}}"hotspot_name": "{{name}}",
"rssi": {{rssi}},
"snr": {{snr}},
"channel": {{channel}},
"fcnt":{{fcnt}},
"spreading": "{{spreading}}"{{/hotspots}}
}

MQTT Broker 采集到数据:

代码语言:txt
复制
{
"power": 30,
"temp_value": 25.6,
"hum_value": 58,
"name": "Rejeee_TH",
"hotspot_name": "inxxxsting-honexxxuckle-gxxse",
"rssi": -86.0,
"snr": 12.199999809265137,
"channel": 399,
"fcnt":1712,
"spreading": "SF7BW125"
}
  • influxDB 确认数据是否入库:
代码语言:javascript
复制
influx -username rejeee_TH -password rejeee_TH123
use rejeee_TH
select * from mqtt_consumer limit 5

确认influxDB采集到传感器数据

InfluxDB传感器数据
InfluxDB传感器数据

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 安装 Mosquitto MQTT Broker
  • 安装 influxDB
  • 配置influxDB并使用
  • 安装Telegraf
  • 配置Telegraf
  • 安装Grafana
  • 配置Grafana仪表盘
  • Helium Console 使用MQTT集成将数据导入MQTT Broker
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档