https://github.com/firefly-cpp/t-call-esp32-data-collection
https://github.com/firefly-cpp/t-call-esp32-data-collection
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/firefly-cpp/t-call-esp32-data-collection
- Owner: firefly-cpp
- License: cc-by-sa-4.0
- Created: 2025-01-11T20:44:13.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-11T20:55:21.000Z (5 months ago)
- Last Synced: 2025-01-28T03:41:27.547Z (5 months ago)
- Language: C++
- Size: 1.09 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
![]()
Data Collection with LilyGO T-Call in Smart Agriculture
🌵 succulent •
🐳 succulent Container (How to Use?) •
📡 ESP32 •
🔗 Related repositories •
🔑 LicenseThis repository contains a collection of software codes for data collection using the LilyGO T-Call ESP32, specifically developed for applications in the [smart agriculture](https://github.com/firefly-cpp/smart-agriculture-datasets) domain. It features a robust backend built with the [succulent](https://github.com/firefly-cpp/succulent) Python framework, which serves as a web app for handling POST requests in JSON format. Additionally, the repository includes the entire ESP32 ecosystem, comprising both hardware schematics and the software that runs on ESP32 devices.
## 🌵 succulent
[succulent](https://github.com/firefly-cpp/succulent) is a very lightweight framework for collecting POST requests. Based on Flask, it requires minimal hardware resources and can run practically anywhere. Users can easily modify the configuration.yml file to set up attributes that are then sent to the server or cloud. Installing [succulent](https://github.com/firefly-cpp/succulent) is straightforward and can be done using the pip Python tool or, preferably, by using a Docker image. After installation, users can modify the configuration.yml file and run the application. [succulent](https://github.com/firefly-cpp/succulent) also allows users to easily export data via a web browser and view the currently collected data in a web browser. For more information, please see the full documentation.
### 🐳 succulent Container (How to Use?)
Create a `docker-compose.yml` file with the following content in the root directory:
```yml
version: '3.8'services:
app:
image: codeberg.org/firefly-cpp/succulent:v6
ports:
- 8080:8080
volumes:
- ./run.py:/succulent-app/run.py
- ./configuration.yml:/succulent-app/configuration.yml
environment:
- GUNICORN_WORKERS=2
```Next create a `configuration.yml` file in the root directory. Here's an example of a configuration file:
```yml
data:
- name: 'temperature'
- name: 'humidity'
- name: 'moisture'
- name: 'light'
results:
- enable: true # false by default | to see the results in web browser
```More information regarding the configuration file and its settings can be found in the [succulent](https://github.com/firefly-cpp/succulent) repository.
Then create a Python file named `run.py` with the following content in the root directory:
```python
from succulent.api import SucculentAPIapi = SucculentAPI(config='configuration.yml', format='csv')
app = api.app
```Once you have set up the configuration file and the Python file, build the Docker image with the following command:
```bash
docker compose build
```Finally, run the Docker container with the following command:
```bash
docker compose up
```These steps also apply if you're using Podman instead of Docker.
## 📡 ESP32
### Hardware schematics
### Source code
The fully working code for running it on an ESP32 device is available in the following [file](https://github.com/firefly-cpp/t-call-esp32-data-collection/blob/main/esp32/smart-agriculture.ino).
## 🔗 Related repositories
[1] [smart-agriculture-datasets](https://github.com/firefly-cpp/smart-agriculture-datasets)
## Citation
If you use this project in your research, please cite it using the following BibTeX entry:
```bibtex
@software{iztok_2024_data_collection,
author = {Fister Jr., Iztok},
title = {Data Collection with LilyGO T-Call in Smart Agriculture},
year = {2024},
url = {https://github.com/firefly-cpp/t-call-esp32-data-collection},
version = {1.0.0},
license = {Attribution-ShareAlike 4.0 International},
abstract = {This repository contains a collection of software codes for data collection using the LilyGO T-Call ESP32, specifically developed for applications in the smart agriculture domain. It features a robust backend built with the succulent Python framework, which serves as a web app for handling POST requests in JSON format. Additionally, the repository includes the entire ESP32 ecosystem, comprising both hardware schematics and the software that runs on ESP32 devices.}
}
```## Disclaimer
This software is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!## 🔑 License
Material in this folder is licensed under a
[Creative Commons Attribution-ShareAlike 4.0 International License][cc-by-sa].[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]
[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/
[cc-by-sa-image]: https://licensebuttons.net/l/by-sa/4.0/88x31.png
[cc-by-sa-shield]: https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg