Skip to main content

11 posts tagged with "iot"

View All Tags

Capture Output from Legacy Equipment with the Reduct Bridge Shell Input

· 9 min read
Alexey Timin
Co-founder & CTO - Database & Systems Engineering

A legacy machine sends command output through the Reduct Bridge shell input to a time-indexed ReductStore entry

Plenty of equipment on the shop floor will never speak MQTT or OPC-UA. It predates both. What it has is a command line: a vendor tool that prints status, a diagnostic command on a serial console, or a script the previous engineer left behind. The data exists. There is just no protocol to integrate.

Reduct Bridge has a shell input for exactly this case. You point it at a command, set an interval, and the bridge runs it on schedule. Each line the command prints becomes a time-indexed record in ReductStore. Labels come from regex capture groups in the output or from static key-value pairs in the config. Wrap whatever the vendor tool prints, put it on an interval, label it, and it lands time-indexed beside everything else.

This post walks through capturing telemetry from a legacy test chamber that only exposes a chamber-status command.

TimescaleDB Alternatives for Multimodal Data

· 13 min read
Alexey Timin
Co-founder & CTO - Database & Systems Engineering
Anthony Cavin
Co-founder & CEO - Data, ML & Robotics Systems

Get history of blobs with TimescaleDB

TimescaleDB is an open-source time-series database optimized for fast ingest and complex queries. It is engineered up from PostgreSQL and offers the power, reliability, and ease-of-use of a relational database, combined with the scalability typically seen in NoSQL systems. It is particularly suited for storing and analyzing things that happen over time, such as metrics, events, and real-time analytics.

Since TimescaleDB is based on PostgreSQL, it supports blob data and can be used to store a history of unstructured data such as images, binary sensor data, or large text documents. In this article, we will use the database as a time-series blob storage and compare its performance with ReductStore, which is designed specifically for this use case.

TimescaleDB and ReductStore both have Python Client SDKs. We'll create simple Python functions to read and write data, then compare performance with different blob sizes. To repeat these benchmarks on your own machine, use this repository.

How to Store MQTT Camera Frames and Binary Sensor Data with a Time Index

· 13 min read
Alexey Timin
Co-founder & CTO - Database & Systems Engineering

Storing MQTT data in ReductStore"

MQTT is a common choice for the communication stack in IoT and robotics applications because it is lightweight and easy to integrate. But many of those applications do not send only small JSON telemetry messages. They also publish JPEG frames, vibration waveforms, audio clips, protobuf messages, and other binary payloads that need to be stored and queried later.

This is where a regular MQTT broker or a traditional time-series database starts to fall short. Brokers are designed for message delivery, not long-term historical storage, and many databases either expect structured numeric fields or make it hard to keep large binary records tied to accurate timestamps.

In this tutorial, we will use ReductBridge to subscribe to MQTT topics and write the raw binary payloads into ReductStore with a time index. This lets you keep camera frames and sensor payloads as they are, while still querying them by time range, labels, and entry name for replay, debugging, and offline analysis.