Embiot®

Embedded Device Analytics®
Bring Cloud intelligence down to Earth.

Embiot is an ultra-lightweight, high performance software analytics agent for IoT and sensor applications.

It enables edge devices and systems to extract actionable analytics from raw data at the source, without relying on the Cloud.

Embiot is a compact software analytics agent designed for edge computing and embedded IoT applications. It enables edge devices and gateways to perform analytics on raw data locally, without relying on the Cloud.

Embiot's robust computational engine can execute a broad range of analytics functions and handle multiple data input and reporting methods, such as HTTP/TLS, REST, MQTT, MODBUS and more.

With a code size of around 300 Kbytes, you can deploy Embiot in diverse environments ranging from small appliances and devices to very large systems.

A single Embiot agent can handle thousands of metrics per second on a low-speed, single-core ARM processor with minimal memory, or process over 50,000 different metrics at up to a million values per second on a fast Intel multi-core system.

Embiot calculates analytics using a flow computing or dataflow model. You define the metrics you need, and Embiot automatically translates them into a series of interconnected nodes that can continuously accept, compute and report metric values. This enables Embiot to handle input values that arrive at different rates, and to update its calculations as soon as the necessary inputs are received.

Embiot incorporates a substantial library of analytics functions, ranging from simple math and statistical formulae to more complex functions such as polynomials, filter functions, histograms and thresholding.

Embiot is user-friendly, with a straightforward programming language that doesn't require complex coding or software development. Simply edit a text configuration file to tell Embiot where to get the input data, what calculations to perform, and how and where to send the reports. When Embiot starts up, it reads the configuration file and immediately starts execution. You can easily modify Embiot in the field with little or no downtime.

The example configuration shown at right instructs Embiot to poll an external sensor for temperature and humidity readings every 10 seconds, and generate a report every 30 seconds that includes a calculated "comfort factor" and a histogram of temperature values.

Embiot can receive or actively poll for input data using various methods. It supports common communication protocols such as HTTP(S) PUT/POST, MQTT, MODBUS and others, and can handle data encoding formats including URL encoding, XML, JSON, CSV and name-value pair.

Embiot processes input data as a continuous stream and automatically deals with any exception conditions, such as delayed or missing data, or mathematical errors.

Embiot can generate reports to remote servers or local APIs at defined intervals or when an alert condition occurs. You can define multiple reports, each with its own custom data format, destination and frequency. For example:

  • HTTP{S) POST or PUT with XML, JSON or URL encoded data
  • HTTP GET - allows a browser to retrieve a report in HTML, XML or JSON format
  • MQTT with a programmable topic string
  • Custom text template/li>
  • Simple "name:value", "name=value" formatted data or CSV

Embiot Features & Benefits

Local Intelligence

Embiot analyzes data at the edge, minimizing the amount of data that needs to be transferred and processed in the Cloud. Generating analytics locally lowers bandwidth and storage costs, and allows IoT devices to make faster and smarter decisions even when offline.

Tiny Code Size & Memory Footprint

Embiot is designed to run on the smallest and most resource-constrained devices, where other analytics solutions can't. It can handle hundreds of data samples per second on a smart sensor using only 100-300 Kbytes of memory and minimal CPU. (That's right - kilobytes, with a K.)

Easy to Use

Embiot's intuitive programming language is simple to learn and use, for beginners and experts alike. You just need to enter a few lines in a configuration file to specify the data inputs, calculations and outputs, and Embiot will turn raw data into meaningful insights.

Fast-Track Deployment

Embiot can be configured and deployed quickly, without a lengthy software development cycle. Its integrated runtime compiler allows you to easily make changes and updates in the field, with little or no downtime.

Comprehensive Set of Analytic Tools

Embiot supports over 100 functions ranging from basic math to machine learning, so it can handle even the most complex analytic tasks. To view examples, click here.

Deploys (Almost) Anywhere

Embiot is compatible with the most popular 32/64-bit ARM and Intel processors and runs natively on Windows, macOS and Linux platforms. It operates anywhere from low-power IoT devices to high performance multi-core/multi-server systems, and adapts to any physical, virtual or hybrid computing environment.

Fluent in Many Languages

Embiot offers built-in support for a variety of communication protocols and data formats, and can easily integrate disparate systems by translating from one protocol or encoding method to another. Transfer data using HTTP/REST, MQTT or MODBUS, encoded as JSON, XML, plaintext, or your own custom template.

Pain-Free Data Security

Embiot makes protecting data easy. It can use TLS encryption for both input and output connections, as long as OpenSSL is installed on the host platform. You can control the security level of each connection with just a single line of code.

Example Applications

Embiot analytics benefit a wide range of industrial IoT and sensor applications. Here are some examples.

Manufacturing

Manufacturers in various industries use thousands of sensors for proactive maintenance, real-time monitoring and increased production efficiency. Frequent sensor readings to monitor temperature, pressure, humidity and other factors may result in vast amounts of data that must be transferred to a central system or data center to be stored and analyzed.

Embiot can analyze data on-site and generate advanced metrics that can be acted upon locally. Devices send fewer reports with more meaningful data, which significantly reduces both bandwidth and storage requirements.

Structural Monitoring

Strain gauges are commonly used to monitor stress levels and detect potential structural failures in buildings and bridges. A single Embiot agent can collect input measurements from multiple gauges, perform comparative analysis and generate alerts if thresholds are exceeded.

Embiot's local analytics ensure faster, more reliable detection of potentially hazardous problems than solutions requiring raw sensor data to be collected and sent to a central location for analysis.

Oil & Gas Pipelines and Storage

Oil/gas pipeline and storage systems use sensors to measure flow rate, pressure, temperature and fluid levels. Typically, these measurements are sampled at low rates to reduce the volume of data reported. However, if problems occur, sensor values can change rapidly.

Embiot supports both low frequency reporting and immediate alerting, as well as analytics that incorporate combinations of multiple input types - for example, a composite metric that combines pressure and flow rate.

Smart Meters

Current smart meters typically measure usage every five minutes and report the collected data hourly or every 24 hours. Using Embiot, "smarter" meters can sample usage at intervals of one second or less, analyze the data within the device, and report detailed analytics every 15 minutes or hourly.

In addition to monitoring usage, Embiot can alert providers of problems such as power failures, abnormally high consumption, or continuous non-zero usage that may indicate a leak.

Medical Analytics

While many medical devices have built-in analytics, they are often "black box" solutions that conceal their internal logic and require users to take the resulting output on faith.

Manufacturers can integrate Embiot into their medical devices to provide advanced analytics, while end users, such as physicians, can use Embiot to perform custom calculations for predictive analytics or to aid in diagnosis.

Explainer Videos

Frequently Asked Questions

Have a question that isn't listed here? Click here to submit it to us.

What is Embiot?
Embiot is an ultra-lightweight, high performance software analytics agent that provides Embedded Device Analytics for IoT, Industrial IoT, sensor and server applications.
What are Embedded Device Analytics?
Embedded Device Analytics enable a device or system to process, understand and utilize its own data, instead of relying on a remote server or application. Embiot makes this possible by using advanced algorithms that can extract insights from raw data in, or near, real time.
Are Embedded Device Analytics the same as edge analytics?
They are similar, but not the same. Edge analytics refers to analytics produced at the edge of the network, where data is generated. Embedded Device Analytics can happen anywhere, even on devices that are not connected to a network. Embiot can generate analytics on any device, whether it is at the edge, in the cloud, or somewhere in between.
What are the advantages of Embedded Device Analytics over cloud analytics?
Cloud analytics require sending large amounts of data to a central location, which can be costly, slow, and insecure. Embedded Device Analytics reduce the need for data transmission, saving bandwidth and storage costs, and improving speed and security. They also allow devices to act on their own data, without waiting for instructions from the cloud.
Does Embiot replace cloud analytics?
No, Embiot complements cloud analytics. It can produce useful metrics on the device level, while also sending reports to cloud applications for further analysis. Embedded Device Analytics and cloud analytics can work together to provide the best of both worlds.
How does Embiot handle data that changes over time?
Some data can change rapidly and unpredictably, such as the pressure and flow rate in a pipeline, or the CPU/memory usage in a server farm. This kind of data is called time-varying data. If you only sample this data at long intervals, you might miss important changes or events. If you sample this data too often, you might overload your network or system.

Embiot can solve this problem by sampling time-varying data from multiple sources at high frequency and converting them into a single metric, such as a histogram, that summarizes the data and reduces the size and frequency of reports. Embiot can also detect and alert you of any critical events in real time.
What devices and operating systems are compatible with Embiot?
Embiot is a versatile software application that works on 32/64-bit ARM and Intel processors and can run on Windows, OS X and Linux. Whether you need to embed Embiot into IoT devices and small appliances or use it on large multi-server systems, Embiot can handle it with its small code size and low resource needs.
How fast and efficient is Embiot?
Embiot's speed and efficiency depend on the capabilities of the device or system it runs on. It can compute thousands of metrics per second on a single-core ARM processor with little memory, or process over 50,000 different metrics at up to a million values per second on a powerful Intel multi-core system.
What are the steps to set up Embiot? Do I need to learn a lot of coding?
No, you don't. Embiot has a user-friendly programming language that lets you specify what you want without writing complex code. If you have some experience with scripting languages like Perl, Python or Javascript, you'll find it even easier to use Embiot. But even if you're new to programming, you can quickly learn how to customize Embiot for your needs.
How can I feed data into Embiot?
Embiot can get data from different sources and methods. You can use TCP or UDP sockets to poll or push data to Embiot. You can also let Embiot access data from sensors or Cloud APIs using HTTP[S]/REST GET requests, or you can upload data to Embiot using HTTP[S] PUT/POST, MQTT, BACnet or MODBUS. Embiot can handle input data in URLs, JSON, XML, or name-value pair format.
What kind of analysis can Embiot do on the data?
Embiot has a rich set of analytic functions that you can use to process the data. These include simple math and stats functions as well as more advanced functions such as polynomials, filter functions, histograms, thresholding, fast Fourier transforms, fuzzy logic and neural network neurons. View Examples

For a full list of supported functions, please contact us.
How can I get the results of the analysis from Embiot?
Embiot lets you choose how and where to send the report data. You can use HTTP[S] POST/PUT/GET or MQTT to send the data to your desired destination. You can also choose how to format the report data, such as URL encoding, JSON, XML, or plain text, or you can create your own custom report templates.
How secure is Embiot?
Embiot takes data security seriously, and supports TLS encryption for both input and output connections. You can decide whether to use TLS for each connection, and also choose between verified (trusted CA) TLS, unverified (self-signed certificate) TLS, or no TLS. Embiot also supports basic authentication for HTTP and MQTT connections.

Questions? CLICK HERE to use our contact form.