Difference between revisions of "WISE-PaaS 2.0 EI-Agent"
(Add Architecture) |
|||
Line 5: | Line 5: | ||
*Standardization - The communication protocol is based on the [http://mqtt.org/ MQTT protocol] to communicate and exchange data with WISE-PaaS/RMM Server. The IoT sensor data report format is following the [http://www.ipso-alliance.org/ IPSO Spec.] in [http://www.json.org/ JSON format]. | *Standardization - The communication protocol is based on the [http://mqtt.org/ MQTT protocol] to communicate and exchange data with WISE-PaaS/RMM Server. The IoT sensor data report format is following the [http://www.ipso-alliance.org/ IPSO Spec.] in [http://www.json.org/ JSON format]. | ||
*Portability - Whole framework is written in C language and follow the [https://en.wikipedia.org/wiki/ANSI_C ANSI C Standard], that C compilers are available for most systems and are often the first compiler provided for a new system. | *Portability - Whole framework is written in C language and follow the [https://en.wikipedia.org/wiki/ANSI_C 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. | + | *Scalability - The WISE Agent Framework is functional partitioning into discrete scalable, reusable modules, and plug & playable. |
− | + | == Architecture == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The EI-Agent Framework is extracted from [[WISE-Agent|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. | ||
− | + | [[File:EI-Agent.png]] | |
− | |||
== [[EI-Agent_Command_Format|EI-Agent Handshake Protocol]] == | == [[EI-Agent_Command_Format|EI-Agent Handshake Protocol]] == |
Revision as of 04:39, 17 May 2017
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.