You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
# ESP32 Temperature Chart Web Application
|
|
|
|
This Flask-based web application displays temperature data sent from an ESP32 device using MQTT. It includes a web interface for visualizing the temperature chart and an API to fetch temperature data.
|
|
|
|
### Requirements
|
|
|
|
- Python 3.8 or later
|
|
- Virtual environment tool (like `virtualenv` or `conda`)
|
|
- MQTT Broker credentials
|
|
|
|
### Local Setup
|
|
|
|
1. **Clone the Repository:**
|
|
```
|
|
git clone [Repository URL]
|
|
cd [Repository Name]
|
|
```
|
|
|
|
2. **Create a Virtual Environment:**
|
|
```
|
|
python -m venv venv
|
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
```
|
|
|
|
3. **Install Dependencies:**
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. **Configure MQTT Settings in `app.py`:**
|
|
Modify the MQTT configuration settings in `app.py`:
|
|
- `MQTT_BROKER_URL`
|
|
- `MQTT_BROKER_PORT`
|
|
- `MQTT_USERNAME`
|
|
- `MQTT_PASSWORD`
|
|
- `MQTT_CLIENT_ID`
|
|
|
|
5. **Run the Application:**
|
|
```
|
|
python app.py
|
|
```
|
|
Access the web interface at `http://localhost:8080`.
|
|
|
|
### Deploying to Fly.io
|
|
|
|
1. **Install Fly.io CLI:**
|
|
Follow the instructions on [Fly.io documentation](https://fly.io/docs/getting-started/installing-flyctl/).
|
|
|
|
2. **Login to Fly.io:**
|
|
```
|
|
flyctl auth login
|
|
```
|
|
|
|
3. **Initialize Fly.io App:**
|
|
```
|
|
flyctl launch
|
|
```
|
|
|
|
4. **Deploy the App:**
|
|
```
|
|
flyctl deploy
|
|
```
|
|
|
|
5. **Verify Deployment:**
|
|
```
|
|
flyctl status
|
|
```
|
|
Visit the URL provided by Fly.io to access your application.
|