Internet of Things Integration Platform
Remote Monitoring, M2M and Device Management Software Platform
AggreGate Platform

Five Ways to Connect Your Device

Tibbo hardware and software products make it cheap and easy to network-enable your smart device and connect it to AggreGate. There are several ways to make an existing or new device work with AggreGate.

AggreGate is used to store and process data collected from devices, as well as control and monitor them. It "understands" device settings, operations and events and therefore provides comprehensive configuration and management capabilities.

Connecting a Device Using a Standard Protocol

(1) Connecting a Device Using a Standard Protocol

If your device supports one of the standard communication protocols (e.g. SNMP, Modbus, BACnet, or OPC), it may be directly connected to AggreGate since the system is bundled with many device drivers. Just set up all necessary physical connections and your device is ready to communicate with AggreGate Server.

Check the list of standard device drivers and supported protocols here.

Developing a Server-side Device Driver

(2) Developing a Server-side Device Driver

You could also tackle the problem from a server angle. A device driver is a server-side software component allowing AggreGate to "understand" the protocol of an existing device. By coding a driver for your device, you could then just connect it to AggreGate without making any modifications to the device itself. Tibbo offers the open-source Driver Development Kit. We also provide driver development service for customers who do not wish to develop their own drivers in-house.

Using a Hardware AggreGate Agent

(3) Using a Hardware Agent

AggreGate Agent is an application that can run on an external device or system and bridge it to the AggreGate Server. Tibbo offers hardware Agents based on our programmable modules/controllers.

First option is embedding a Tibbo module, such as EM1206, into your device. This module runs AggreGate Agent application. Tibbo modules are powerful enough to serve as a central processor for your application. You can connect it directly to various sensors and circuits of your device and use it as the main CPU, locally controlling your device's operation. In effect, you will be connecting the Agent as a library to your main application. You will save the cost of a CPU for your device, and still be able to connect to AggreGate enjoying all of its benefits.

Using a Hardware AggreGate Agent

Second option is using an external programmable controller (such as DS110x) running the Agent application. You modify the source of the Agent application so that it interfaces with your device ("understands" its communication protocol). It is then used as a transparent interface between AggreGate and your device, allowing you to access all device settings, operations and events from within AggreGate.

Using a Software AggreGate Agent

(4) Using a Software Agent

AggreGate Agent is a free open-source software library available in Java, Android Java (Dalvik JVM), .NET, .NET Compact, and C/C++. It implements AggreGate communication protocol that is simple, open, stable, well-documented, and optimized for IoT/M2M world. You can include Agent library into your device firmware to make it fully compatible with AggreGate ecosystem.

Using a Software AggreGate Agent

Second option is using a PC-based implementation of Agent. This Agent can be compiled into your industrial or embeddedPC application making it natively compatible with AggreGate. It can run as an external process as well.

Using AggreGate To Transfer Raw Data

(5) Using AggreGate To Transfer Raw Data (Without Processing It)

You might want to use AggreGate to just route data between your devices and/or computers running some device-specific client software. In this case, AggreGate doesn't have to "understand" the data that being transferred and does not store or process it. The Device Servers are used to convert data from the format supported by the device (RS232, USB etc.) into IP network traffic and route it to and from the AggreGate Server.

This mode doesn't use the full power of AggreGate's data processing functions but can be useful in several situations:

  • When devices are located in different LANs protected by firewalls and, thus, cannot connect to each other. In this case, AggreGate Server acts as a middle-man and routes data between these devices.
  • When devices don't have static IP addresses. In this case, they can be registered in DNS by the AggreGate Server and can be accessed by their host names instead of IP addresses.
  • Sometimes, devices located in protected networks have embedded web-servers. These web-servers cannot be accessed directly, but AggreGate Server provides an HTTP proxy service that allows to establish a secure HTTP connection with the server instead of connecting to the device directly. AggreGate Server forwards this connection to the device.

See Device Server Management for more information.


The system shines in its ability to provide complete control over a wide range of devices in any environment. It can be quickly adapted to work with a huge range of devices, thus, making them "smart".