Server App

The BME AI-Studio Server lets you automate functions of the desktop application. Sensor data can be uploaded, collected and curated, algorithms can be defined and trained. Trained algorithms can be downloaded as BSEC configuration files.

This comes with a lot of advantages:

  • it can be centrally managed and hosted on a server or cloud infrastructure, making it easier for administrators to deploy, maintain, and update the software or algorithms; the data is also stored and managed centrally, which simplifies data backup, recovery, and security
  • it can be accessed from any device within the same network (intranet or internet), allowing users and devices to work from different locations and devices without needing to install the software on each machine
  • it can be easily scaled to accommodate an increasing number of users or increased workloads
  • product solutions with continuously adapting or dynamically improving algorithms in the field can be realized

Please note

Currently BME AI-Studio Server does not support Regression algorithms, Data Filtering nor Data Augmentation.

Download and Installation

The BME AI-Studio Server application can be downloaded from the BME688 Software Websiteopen in new window as a Linux application. To use the Server application one needs a running PostgreSQL Server v14.x that can be accessed from the host running BME AI-Studio Server.

The configuration of BST BME AI-Studio Server is done using environment variables. The following example starts BME AI-Studio Server listening on port 8080 and accesses a PostgreSQL database server running on port 5432 on localhost:

$ PGHOST=127.0.0.1 \
  PGPORT=5432 \
  PGDATABASE=my_existing_db \
  PGUSER=my_existing_pg_user \
  PGPASSWORD=my_secret_passowrd \
  PORT=8080 \
  ./bst-bme-aistudio-server

These options can be set as environment variables:

  • PGUSER - (required) The postgres user name. Note that the user needs permissions to create tables in the configured database.
  • PGPASSWORD - (required) The password of the postgres user.
  • PGDATABASE - (required) The name of the postgres database to use.
  • PGHOST - (optional) The hostname (or IP) of the postgres server to use. Only use this option if an external database server is used.
    Default: 127.0.0.1
  • PGPORT - (optional) The port the postgres server is listening on. Only use this Default: 5432
  • PORT - (optional) The port BME AI-Studio Server is listening on for HTTP requests.
    Default: 3000
  • LOG_LEVEL - (optional) The log level to use in BME AI-Studio Server. Logs are written to stdout/stderr.
    Options: error, warn, info, debug.
    Default: info

Note that BME AI-Studio Server does not restart automatically on process termination. So it is recommended to use a service manager (e.g. systemd) to start and manage the service.

Overview

In a similar way as the desktop application, BME AI-Studio Server allows you to structure your data within Projects, which themselves contain Sessions (with sensor data Cycles) and Specimens, as well as Algorithms (with Classes and Neural Nets).

Entity Overview

The above graphic gives you an overview about the different entities and their relationship with each other.

Technical (API) Documentation

The documentation for the API is given as a Swagger documentation, also known as OpenAPI Specification (OAS). It is a standardized way of describing RESTful APIs using a JSON or YAML format. It provides a comprehensive, machine-readable, and human-friendly representation of the API's resources, methods, parameters, responses, and security schemes.

Swagger Documentation

The API documentation is automatically provided as a website, exposed on port 3000. With the server set up done at the user end, the API Document can be locally accessed through http://localhost:3000/api/v1/api-docsopen in new window in a new window.

This documentation also includes an interactive user interface (Swagger UI) that allows you to execute API calls directly from the documentation. Use this feature to test the API and understand its behavior.