Stream Analyze Platform Documentation

website·Indexed 33 days ago

https://studio.streamanalyze.com/docs

A lightweight streaming analytics and AI platform designed for edge devices and microcontrollers. Documentation includes the SA Engine, OSQL syntax and function references (covering arrays, JSON, binary data, and machine learning like K-means), and visualization guides for Line, Bar, Scatter, and Multi plots.

Tokens
150.9K
Snippets
1.1K
Records
1.3K
Agent score
52%

What's inside Stream Analyze

  1. Overview of SA Engine

    SA Engine is a lightweight streaming analytics and AI software platform designed for resource-constrained edge devices, including microcontrollers. It provides an end-to-end platform for the development, training, deployment, and orchestration of analytics, computational, and AI models. It is hardware and OS agnostic, requiring only a C99 compliant C compiler to run on hardware such as Single Board Computers (SBCs), Microcontrollers (MCUs), Telematic units, Mobile devices, and PCs.
  2. Overview of SA Studio and SA Engine

    SA Studio is the web-based graphical user interface for SA Engine. It allows users to develop and deploy computational models, manage edge devices, and visualize data streams in real-time. SA Engine is a streaming analytics engine that can be installed on various hardware, including microcontrollers, Raspberry Pis, and PCs. It uses OSQL (Object Stream Query Language)—a hybrid of SQL and Matlab—for model development and orchestration. The system supports third-party integrations such as MQTT, Kafka, and TensorFlow Lite for neural network inference.
  3. Overview of Stream Analyze Platform

    Stream Analyze is a lightweight streaming analytics and AI platform designed for edge devices, including microcontrollers (MCUs). It provides an end-to-end solution for the development, training, deployment, and orchestration of analytics and AI models in sectors such as manufacturing, smart products, autonomous vehicles, IIoT, and IoV. The core component, SA Engine, is designed for ultra-lightweight resource requirements and can run as a separate process, in a container, or bare-metal without an OS.
  4. Overview of SA Engine built-in modules and integrations

    SA Engine provides a variety of built-in algorithms and third-party technology integrations categorized by functionality:

    • Data Communication: Supports protocols and platforms including CAN bus, MQTT, Kafka, and Azure Event Hub.
    • AI/ML: Includes algorithms such as Linear regression, K-means, DBSCAN, and Random forest, as well as TensorFlow Lite integration.
    • Computer Vision: Provides dedicated modules for computer vision tasks.
  5. Overview of Pipe Pump sensor integration

    A pipe pump is the recommended method for integrating sensor data streams on Linux-based systems. It works by spawning a separate subprocess (the data generator) and reading its standard output (stdout) into SA Engine. Each row printed to stdout by the subprocess is emitted as one element in an SA Engine subscription. The data generator is responsible for polling the physical sensor and outputting the data.
  6. Overview of OSQL query types

    OSQL supports several types of queries to retrieve objects from the local database, streams, or external data sources:

    1. Expressions: Evaluated to a specific result.
    2. Standard SQL queries: Used to search the main-memory database.
    3. Set queries: Search the local database for objects fulfilling a logical predicate.
    4. Select array queries: Construct numerical arrays based on a condition.
    5. Select vector queries: Construct an ordered sequence (vector) of objects.
    6. Select stream queries: Construct a potentially infinite stream of elements.
  7. Overview of external data access in SA Engine

    SA Engine accesses external data through several predefined physical interfaces and conversion methods to ensure data is in a processable format. Supported sources include:

    • SA Engine Peers: Internal communication protocols for peer-to-peer data.
    • Files: Access via file system primitives (specifically supporting JSON and CSV).
    • Communication Interfaces: External systems via serial ports or HTTP-based protocols.
    • Pipes: Data piped from processes running on the same local computer.
    • Foreign OSQL Functions: Embedded programs (e.g., Java interface functions) used to access hardware like microphones.
  8. Overview of SA VSCode features

    SA VSCode is the official Visual Studio Code plugin for SA Engine. It serves as a local interface to SA Engine, allowing users to connect to federations and interact with edge devices. Key features include:

    • OSQL language mode: Provides IntelliSense, syntax highlighting, and code autocompletion.
    • OSQL test runner: For executing and validating OSQL queries.
    • OSQL notebooks: Allows running queries interactively in a notebook format.
    • Visualizations: Built-in tools for visualizing streams and query results.
    • Federation management: Ability to connect to federations and interact with edge devices.
  9. Overview of SA Engine Python Interfaces

    SA Engine provides two primary ways to integrate with Python:

    1. Client Interface: Python programs call upon SA Engine functions (SA Engine acts as an embedding to Python).
    2. Plugin Interface: Foreign OSQL functions are implemented as Python methods.

    Users can also combine these, where foreign Python functions call back into SA Engine via the client interface.

  10. Overview of the Computer Vision (cv) module

    The cv system model is a computer vision library for image processing and analysis within SA Engine (version 5.2.0+). It is supported on Windows, Linux (x86), and Raspberry Pi. Data representations are fully compatible with Python NumPy.
  11. Overview of SA Engine and OSQL

    SA Engine is a tool for interactive streaming data analysis that allows users to develop computations, filters, and transformations using OSQL (Object Stream Query Language). OSQL is an extended subset of SQL that provides primitives for defining numerical models—consisting of mathematical functions, filters, and computations—over streams of measurements. The engine utilizes an advanced query optimizer and dynamic compiler to generate optimized native binary code, abstracting the implementation details from the user.
  12. Overview of SA Engine Nano

    SA Engine Nano is a small-footprint version of SA Engine specifically designed for deployment on small hardware, such as microcontrollers. Unlike the full SA Engine, it does not contain its own optimizer or compiler. Instead, it relies on an SA Federation and a relay instance called SA Twin to optimize and cross-compile queries before they are sent to the nano edge device via a serial cable.