WISE-PaaS 2.0 EI-Agent
EI-Agent – a software development framework to communicate between device and IoT/EI-PaaS Server.
Advantech provides a software development framework to communicate and exchange information between a device and IoT/EI-PaaS Server, called a EI-Agent framework.
The EI-Agent framework provides a rich set of user-friendly, intelligent and integrated interfaces, which speeds development, enhances security and makes agent application easier and simpler to communicate with IoT/EI-PaaS Server.
The framework has three benefits:
- Standardization - The communication protocol is based on the MQTT protocol to communicate and exchange data with WISE-PaaS/RMM Server. The IoT sensor data report format is following the IPSO Spec. in JSON format.
- Portability - Whole framework is written in C language and follow the ANSI C Standard, that C compilers are available for most systems and are often the first compiler provided for a new system.
- Scalability - The WISE Agent Framework is functional partitioning into discrete scalable, reusable modules, and plug & playable.
Contents
Architecture
The EI-Agent Framework is extracted from WISEAgent Framework for severial purpose:
- Lightweight: Extract and implement common handshake protocol to communicate with WISE-PaaS 2.0 Server.
- Various Communication Protocol: Extract the Communication Part as a WISEConnector Module. In WISEConnector we can implement various portocol, such as: MQTT, AMPQ, Web Socket, HTTP, to support different communication protocol.
EI-Agent Handshake Protocol
Denfine the MQTT publish/subscribe topics and payload data JSON format.
EI-Agent Sample Client
- Sample Client - Simple client application example.
EI-Agent Sample Handler
- ModbusSample - only support Modbus-TCP and Modbus-RTU.
ModbusSample is one of handlers in EI-Agent framework and is used to collect devices’ data based on Modbus TCP or RTU protocol.
The library used in ModbusSample is libmodbus, which is a 3rd party free library to send/receive data according to the Modbus protocol.
This library is written in C and supports RTU (serial) and TCP (Ethernet) communication. The license of libmodbus is LGPL v2.1v.