Difference between revisions of "EdgeSense Southbound Service Development"

From ESS-WIKI
Jump to: navigation, search
(.)
(.)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Introduction =
 
= Introduction =
 +
 +
This guide will help you build an EdgeSense Southbound service.
  
 
You can develop WISE-Agent plugin (a.k.a Northbound plugin) by SRP-Plugin.
 
You can develop WISE-Agent plugin (a.k.a Northbound plugin) by SRP-Plugin.
  
 
And your plugin (built with SRP-Plugin) also can be running as a Southbound service.
 
And your plugin (built with SRP-Plugin) also can be running as a Southbound service.
 
This guide will help you build EdgeSense Southbound service.
 
  
 
At first, please refer to below documenation to develop a plugin.
 
At first, please refer to below documenation to develop a plugin.
  
 
*[http://advgitlab.eastasia.cloudapp.azure.com/WISE-PaaS-Documentation/Documentation/blob/master/documents/RMM/Agent/123-plugin.md How to Develop Customized Plugin Step by Step]
 
*[http://advgitlab.eastasia.cloudapp.azure.com/WISE-PaaS-Documentation/Documentation/blob/master/documents/RMM/Agent/123-plugin.md How to Develop Customized Plugin Step by Step]
 +
 +
After the completion of your plugin development, you will need EdgeSense Device SDK to pack your plugin as a Southbound service.
  
 
To accellerate the development of EdgeSense southbound service, you will need to install EdgeSense Device SDK.
 
To accellerate the development of EdgeSense southbound service, you will need to install EdgeSense Device SDK.
 
Once your device service is built with EdgeSense Device SDK, it can be running on Northbound or Southbound.
 
  
 
This is very helpful to shorten the time for integratoin, to build a flexible and powerful EdgeSense device service in fastest and most stable way.
 
This is very helpful to shorten the time for integratoin, to build a flexible and powerful EdgeSense device service in fastest and most stable way.
  
= Development =
+
= Run EdgeSense Southbound service =
  
 
== Requirement ==
 
== Requirement ==
Line 67: Line 67:
  
 
== Download EdgeSense Device SDK ==
 
== Download EdgeSense Device SDK ==
 
Download SRP-Plugin
 
<pre>git clone http://advgitlab.eastasia.cloudapp.azure.com/SRP-Connect/SRP-Plugin.git
 
</pre>
 
  
 
Download Agentlite for Windows development
 
Download Agentlite for Windows development
Line 80: Line 76:
 
</pre>
 
</pre>
  
== Development for Windows ==
+
== Run EdgeSense device service on Windows ==
 
 
1. Open SRP-Plugin\SRP-Plugin.sln with Visual Studio.
 
 
 
2. Change Solution Configurations to Release , change Solution Platforms to Win32.
 
 
 
[[File:EdgeSense Southbound Service VS.png|RTENOTITLE]]
 
 
 
3.&nbsp;In Solution Explorer, choose HandlerSample and build it.
 
 
 
[[File:EdgeSense Southbound Service HandlerSample.png|RTENOTITLE]]
 
 
 
4. After build is completed, HandlerSample service is generated in SRP-Plugin\Release\module folder.
 
 
 
[[File:EdgeSense Southbound Service release folder.png|RTENOTITLE]]
 
  
5. Copy&nbsp;HandlerSample.dll&nbsp;to agentlite\prebuilt\module folder.
+
1. Copy&nbsp;HandlerSample.dll&nbsp;to agentlite\prebuilt\module folder.
  
 
When we download agentlite, it looks like this picture:
 
When we download agentlite, it looks like this picture:
Line 106: Line 88:
 
[[File:EdgeSense Southbound Service module folder.png|RTENOTITLE]]
 
[[File:EdgeSense Southbound Service module folder.png|RTENOTITLE]]
  
6. Modify agentlite\prebuilt\module\module_config.xml
+
2. Modify agentlite\prebuilt\module\module_config.xml
 
<pre><ModuleNum>1</ModuleNum>
 
<pre><ModuleNum>1</ModuleNum>
 
<ModuleName1>HandlerSample</ModuleName1>
 
<ModuleName1>HandlerSample</ModuleName1>
Line 113: Line 95:
 
</pre>
 
</pre>
  
7. Modify agentlite\prebuilt\agent_config.xml
+
3. Modify agentlite\prebuilt\agent_config.xml
 
<pre><DeviceName>HandlerSample</DeviceName>
 
<pre><DeviceName>HandlerSample</DeviceName>
 
<DevID>HandlerSample</DevID>
 
<DevID>HandlerSample</DevID>
Line 122: Line 104:
 
</pre>
 
</pre>
  
8. Run Southbound service.
+
4. Run Southbound service.
 
<pre>cd agentlite\prebuilt
 
<pre>cd agentlite\prebuilt
 
CAgent.exe -n   
 
CAgent.exe -n   
Line 129: Line 111:
 
[[File:EdgeSense Southbound Service run.png|RTENOTITLE]]
 
[[File:EdgeSense Southbound Service run.png|RTENOTITLE]]
  
== Development for Ubuntu 16.04 ==
+
== Run EdgeSense device service on Ubuntu 16.04 ==
  
 
1. Build SRP-Plugin and HandlerSample service
 
1. Build SRP-Plugin and HandlerSample service
Line 190: Line 172:
 
</pre>
 
</pre>
  
== Demo on WISE-PaaS/EdgeSense ==
+
= Demo on WISE-PaaS/EdgeSense =
  
 
In WISE-PaaS/EdgeSense , HandlerSample service is listed in&nbsp;Device Monitoring page.
 
In WISE-PaaS/EdgeSense , HandlerSample service is listed in&nbsp;Device Monitoring page.

Latest revision as of 11:50, 1 August 2019

Introduction

This guide will help you build an EdgeSense Southbound service.

You can develop WISE-Agent plugin (a.k.a Northbound plugin) by SRP-Plugin.

And your plugin (built with SRP-Plugin) also can be running as a Southbound service.

At first, please refer to below documenation to develop a plugin.

After the completion of your plugin development, you will need EdgeSense Device SDK to pack your plugin as a Southbound service.

To accellerate the development of EdgeSense southbound service, you will need to install EdgeSense Device SDK.

This is very helpful to shorten the time for integratoin, to build a flexible and powerful EdgeSense device service in fastest and most stable way.

Run EdgeSense Southbound service

Requirement

To build and run Southbound Service, please setup below softwares:

  • Compiler Tools
  • MQTT Broker
  • WISE-Agent


1. Compiler Tools

For Windows development,

  • Please install Visual Studio 2008 or above. Visual Studio is available at official website.

For Ubuntu 16.04 development, please install below software,

$ sudo apt install autoconf autotools-dev libtool libmosquitto1 sqlite3 libxml2-dev libcurl4-openssl-dev libx11-dev libxtst-dev libxext-dev libmosquitto-dev libssl-dev


2. MQTT Broker

MQTT Broker For Windows

MQTT Broker for Ubuntu 16.04

$ sudo chmod +x MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run
$ sudo ./MQTTBrokerSetup-1.0.5-Ubuntu_16.04-x86_64.run


3. WISE-Agent

WISE-Agent for Windows

  • Download from WISE-PaaS/EdgeSense Portal, Settings Page.

WISE-Agent for Ubuntu 16.04

  • Ask support AE to get latest WISEAgent.

Download EdgeSense Device SDK

Download Agentlite for Windows development

git clone https://github.com/ADVANTECH-Corp/agentlite.git

Download Agentlite for Ubuntu 16.04 development

git clone -b Ubuntu-16.04 https://github.com/ADVANTECH-Corp/agentlite.git

Run EdgeSense device service on Windows

1. Copy HandlerSample.dll to agentlite\prebuilt\module folder.

When we download agentlite, it looks like this picture:

RTENOTITLE

Copy HandlerSample.dll to agentlite\prebuilt\module folder.

RTENOTITLE

2. Modify agentlite\prebuilt\module\module_config.xml

<ModuleNum>1</ModuleNum>
<ModuleName1>HandlerSample</ModuleName1>
<ModulePath1>\module\HandlerSample.dll</ModulePath1>
<ModuleEnable1>TRUE</ModuleEnable1>

3. Modify agentlite\prebuilt\agent_config.xml

<DeviceName>HandlerSample</DeviceName>
<DevID>HandlerSample</DevID>
<SN>HandlerSample</SN>
<DevType>Service</DevType>
<WorkDir></WorkDir>
<ServiceName>Agent_HandlerSample</ServiceName>

4. Run Southbound service.

cd agentlite\prebuilt
CAgent.exe -n  

RTENOTITLE

Run EdgeSense device service on Ubuntu 16.04

1. Build SRP-Plugin and HandlerSample service

$ cd SRP-Plugin
$ sudo ./pre-install_ubuntu.sh
$ ./build-srpplugin.sh

2. After build is complete, HandlerSample service is generated in SRP-Plugin/Release/module folder.

$ ls -1 SRP-Plugin/Release/module/
HandlerSample.so
HandlerSample.so.0
HandlerSample.so.0.0.0
ModbusSample.so
ModbusSample.so.0
ModbusSample.so.0.0.0
module_config.xml

3. Copy HandlerSample to agentlite/prebuilt/module folder.

cp -af HandlerSample.so* agentlite/prebuilt/module

4. Modify agentlite/prebuilt/module/module_config.xml

<ModuleNum>1</ModuleNum>
<ModuleName1>HandlerSample</ModuleName1>
<ModulePath1>/module/HandlerSample.so</ModulePath1>
<ModuleEnable1>TRUE</ModuleEnable1>

5. Modify agentlite/prebuilt/agent_config.xml

<DeviceName>HandlerSample</DeviceName>
<DevID>HandlerSample</DevID>
<SN>HandlerSample</SN>
<DevType>Service</DevType>
<WorkDir></WorkDir>
<ServiceName>Agent_HandlerSample</ServiceName>

6. Run Southbound service.

$ cd agentlite/prebuilt
$ ./cagent -n

Then you will see HandlerSample is loaded.

$ ./cagent -n
HandlerLoader loaded
DllInitializer
DllFinalizer
DllInitializer
GeneralHandler loaded
 general> Initialize
DllInitializer
Load HandlerSample Successful

 HandlerSample> InitializeSADataSync_Initialize()

> HandlerSample StartAgent Initialized
Agent_HandlerSample no-service is start successfully!

Demo on WISE-PaaS/EdgeSense

In WISE-PaaS/EdgeSense , HandlerSample service is listed in Device Monitoring page.

RTENOTITLE

RTENOTITLE

In WISE-PaaS/EdgeSense, you can  read sensor data in Get/Set Sensor Data page.

RTENOTITLE

RTENOTITLE