使用 Grafana 和天气 API 进行玩耍

主要观点:今天想用 Grafana 并分享近期使用 Granfana 的经历,有一个BeeWi温度传感器,想在 Grafana 仪表盘上显示温度,同时使用OpenWeatherMapAPI,通过节点脚本从 BeeWi 设备获取温度,用 Python 脚本从 OpenWeatherMap API 和节点脚本收集数据并存入 InfluxDB 数据库,在树莓派 3 上运行 Python 脚本,每 5 分钟通过 Rasberry Pi crontab 运行脚本,准备好可在 Grafana 中展示的时间序列数据,项目源代码在GitHub

关键信息:

  • 节点脚本通过 noble 库连接 BeeWi 设备获取温度并输出 JSON 格式数据。
  • Python 脚本从 Sense Hat 获取大气压力,从 OpenWeatherMap 获取当前温度、湿度、大气压力、UV 指数、天气状况和天气预报等信息,并存入 InfluxDB 数据库。
  • 运行 Python 脚本的树莓派 3 上有 Sense Hat 传感器。
  • 每 5 分钟通过 Rasberry Pi crontab 运行脚本,准备好可在 Grafana 中展示的时间序列数据。

重要细节:

  • 节点脚本中hexToInt函数用于将十六进制温度数据转换为整数。
  • Python 脚本中的get_rain_level_from_weather函数用于从天气数据中获取降雨等级。
  • in_sensors函数从 Sense Hat 获取压力和温度并存入数据库。
  • out_sensors函数从 OpenWeatherMap 获取各种信息并存入数据库。
  • 展示的 Grafana 仪表盘截图。
  • 项目源代码在GitHub
阅读 9
0 条评论