Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abinba/rpi-project
RPi (Raspberry Pi) study project to send temperature, pressure and humidity to Grafana.
https://github.com/abinba/rpi-project
chatgpt docker-compose grafana openai python rpi
Last synced: about 3 hours ago
JSON representation
RPi (Raspberry Pi) study project to send temperature, pressure and humidity to Grafana.
- Host: GitHub
- URL: https://github.com/abinba/rpi-project
- Owner: abinba
- Created: 2023-01-26T18:28:57.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-26T23:54:58.000Z (almost 2 years ago)
- Last Synced: 2023-03-09T02:28:31.603Z (over 1 year ago)
- Topics: chatgpt, docker-compose, grafana, openai, python, rpi
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raspberry PI Study Project
## Overview
This study project (Introduction to IoT) reads sensor data from a Raspberry Pi (RPi)
and sends it to an InfluxDB database. The data is then displayed on a Grafana dashboard and
analyzed by a ChatGPT AI to provide a status on the current
conditions and potentially give advice on what actions to take.## Setup
- Install the necessary libraries by running `pip install -r requirements.txt`.
- In order to run InfluxDB and Grafana use `docker-compose up -d`.
- Run the script `main.py` to start collecting sensor data and sending it to the InfluxDB.## Dependencies
- Python 3
- InfluxDB 1.6
- Grafana
- ChatGPT AI
- BME280 sensor for temperature, pressure, and humidity readings## Usage
The script `main.py` is the main entry point of the program.
It initializes the BME280 sensor, InfluxDB, and ChatGPT AI, and then enters a
loop to read sensor data, send it to InfluxDB, and use ChatGPT to analyze the
data and provide a status on the current conditions. The script also sends the
conditions status to the user via the `send_message` function to Telegram. The loop is set to
run every 5 seconds but can be adjusted as needed.