Skip to content

thingspeaks-data-engine is a sophisticated tool designed to fetch data from ThingSpeak, normalize it, and store it into a relational database. It provides a flexible API for configuring the engine and ingesting data seamlessly. This project is ideal for IoT applications where data needs to be efficiently collected and processed.

License

Notifications You must be signed in to change notification settings

fbzavaleta/iot-data-engine

Repository files navigation

iot-data-engine

thingspeaks-data-engine is a powerful tool designed to fetch data from ThingSpeak, normalize it, and store it into a relational database. It serves as an API that allows users to configure the engine and ingest data seamlessly.

Getting Started

To get started with thingspeaks-data-engine, follow these steps:

Development

  1. Navigate to the app directory.
  2. Activate the virtual environment using Poetry:
    poetry shell
  3. Run the engine:
    python3 run_engine.py

Deployment

  1. Build and deploy using Docker Compose:
    docker-compose up --build -d

Usage

iot-data-engine exposes the following endpoints:

  • /configuration: Configure the engine with the desired ThingSpeak channel and token.
  • /ingest: Start data ingestion with the provided ThingSpeak channel ID as a query parameter, and the following JSON payload:
    {
      "n_rows": 100,
      "interval": 50
    }
    
  • /:Get information about the developer.

Examples:

  1. Configure Engine

    curl -X POST 'http://127.0.0.1:5000/configuration?channel=123456&token=XXXXYHUHHGG'
  2. Start Data Ingestion

    curl -X POST -d '{"n_rows": 100, "interval": 50}' 'http://127.0.0.1:5000/ingest?channel=2057381'

About the Developer

This project is developed and maintained by @fbzavaleta. For any inquiries or contributions, please contact [benjamin.zavaleta@grieletlabs.com].

About

thingspeaks-data-engine is a sophisticated tool designed to fetch data from ThingSpeak, normalize it, and store it into a relational database. It provides a flexible API for configuring the engine and ingesting data seamlessly. This project is ideal for IoT applications where data needs to be efficiently collected and processed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published