AREG IoT SDK to simplify multitasking programming
Bring your product to live service enabled
Introduction
AREG IoT SDK (or AREG SDK) is an Object Remote Procedure Call (ORPC) based, lightweight real-time asynchronous communication framework written in C++ that simplifies multitasking and service enabled applications development for embedded and high-end machines. AREG SDK enables mist computing at the edge of the network, where devices connect to IoT fog network not only as traditional clients, but as thin servers and provide device specific services.
More than embedded
When we were designing AREG SDK, the guiding principle was to create a framework to develop embedded applications that intelligently interact at the edge of the IoT network. To keep application design homogeneous, we defined Local services for inter-thread and the Public services for inter-process communications. As a base of IPC we used multicast routing (MCR) network communication model to have combined features of client-server and subscriber-provider (publisher-subscriber) models. In MCR network client-server nodes have logical connections and every node can be a mixture of logical servers and clients. This approach helps to create a fault tolerant, scalable and distributed system of meshed services running directly on connected Things.
Benefits
The major features of AREG SDK to benefit:
- A combination of request-response and broadcast communication, and subscription service.
- Transparency of service location, which also eases the creation of a simulation and a test automation.
- Automated service discovery, automated messaging and dispatching, featured logging and code generator.
Challenges to solve
Traditionally, IoT devices are connected clients of cloud or fog servers to stream data from sensors for further processing. Since data is generated and collected at devices, it makes sense to provide network accessible (public) services directly on Things. Such a concept changes the role of connected devices and is a good foothold to provide robust solutions such as:
- Increased data privacy, which is an important factor for sensitive data.
- Decreased data streaming, which is a fundamental condition to optimize network communication.
- Autonomous, intelligent and self-aware device development by providing network services directly in the environment of data origin.
Software build
AREG SDK provides Eclipse for C/C++ Developer project files for POSIX, and Visual Studio project files for Windows versions of the framework and examples. The default settings of provided project files are enough to compile all.
In case of Visual Studio, please select appropriate Solution Configuration in IDE toolbar to use the right PlatformToolset. For details on how to import projects, build and integrate framework, run examples, configure logging and multicast routing, please refer to HOWTO.md document.
Examples
The AREG SDK contains various examples to demonstrate features of the framework. The examples are listed in the examples/README.md document.
Licensing
AREG SDK is dual-licensed under commercial and free open source licenses. The commercial license gives the commercial support, full rights to create and distribute software without open source license obligations. For more details of licensing see LICENSE.txt file.
For license, support or additional information, please visit Aregtech web site or contact info[at]aregtec.com.