mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
commit
95f64b0a15
@ -26,7 +26,7 @@
|
|||||||
<property name="Arduino_dir" value="Arduino"/>
|
<property name="Arduino_dir" value="Arduino"/>
|
||||||
|
|
||||||
<target name="clean">
|
<target name="clean">
|
||||||
<delete dir="${target-dir}" />
|
<delete dir="${target-dir}"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="zip" depends="clean">
|
<target name="zip" depends="clean">
|
||||||
|
|||||||
@ -16,7 +16,8 @@
|
|||||||
~ specific language governing permissions and limitations
|
~ specific language governing permissions and limitations
|
||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
@ -40,7 +41,7 @@
|
|||||||
<phase>process-resources</phase>
|
<phase>process-resources</phase>
|
||||||
<configuration>
|
<configuration>
|
||||||
<target>
|
<target>
|
||||||
<ant antfile="build.xml" target="zip" />
|
<ant antfile="build.xml" target="zip"/>
|
||||||
</target>
|
</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
<goals>
|
<goals>
|
||||||
|
|||||||
@ -17,8 +17,8 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<assembly
|
<assembly
|
||||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
||||||
<id>src</id>
|
<id>src</id>
|
||||||
<formats>
|
<formats>
|
||||||
|
|||||||
@ -18,6 +18,6 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<artifact name="arduino_execution" version="1.0.0" type="event/execution-plan" serverRole="DataAnalyticsServer">
|
<artifact name="arduino_execution" version="1.0.0" type="event/execution-plan" serverRole="DataAnalyticsServer">
|
||||||
<file>arduino_execution.siddhiql</file>
|
<file>arduino_execution.siddhiql</file>
|
||||||
</artifact>
|
</artifact>
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,8 @@
|
|||||||
~ specific language governing permissions and limitations
|
~ specific language governing permissions and limitations
|
||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
<eventReceiver name="arduino_receiver" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventreceiver">
|
<eventReceiver name="arduino_receiver" statistics="disable" trace="disable"
|
||||||
|
xmlns="http://wso2.org/carbon/eventreceiver">
|
||||||
<from eventAdapterType="oauth-http">
|
<from eventAdapterType="oauth-http">
|
||||||
<property name="contentValidator">iot-http</property>
|
<property name="contentValidator">iot-http</property>
|
||||||
</from>
|
</from>
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<artifact name= "arduino_stream" version="1.0.0" type="event/stream" serverRole="DataAnalyticsServer">
|
<artifact name="arduino_stream" version="1.0.0" type="event/stream" serverRole="DataAnalyticsServer">
|
||||||
<file>org.wso2.iot.arduino_1.0.0.json</file>
|
<file>org.wso2.iot.arduino_1.0.0.json</file>
|
||||||
</artifact>
|
</artifact>
|
||||||
|
|
||||||
|
|||||||
@ -4,12 +4,19 @@
|
|||||||
"nickName": "Arduino",
|
"nickName": "Arduino",
|
||||||
"description": "Temperature data received from the Arduino",
|
"description": "Temperature data received from the Arduino",
|
||||||
"metaData": [
|
"metaData": [
|
||||||
{"name":"owner","type":"STRING"},
|
{
|
||||||
{"name":"deviceId","type":"STRING"}
|
"name": "owner",
|
||||||
|
"type": "STRING"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deviceId",
|
||||||
|
"type": "STRING"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"payloadData": [
|
"payloadData": [
|
||||||
{
|
{
|
||||||
"name": "temperature","type": "FLOAT"
|
"name": "temperature",
|
||||||
|
"type": "FLOAT"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -17,7 +17,8 @@
|
|||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
@ -144,7 +145,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,6 @@
|
|||||||
package org.wso2.carbon.device.mgt.iot.arduino.service.impl;
|
package org.wso2.carbon.device.mgt.iot.arduino.service.impl;
|
||||||
|
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
|
||||||
import org.wso2.carbon.apimgt.annotations.api.Scope;
|
import org.wso2.carbon.apimgt.annotations.api.Scope;
|
||||||
import org.wso2.carbon.apimgt.annotations.api.Scopes;
|
import org.wso2.carbon.apimgt.annotations.api.Scopes;
|
||||||
import org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants.ArduinoConstants;
|
import org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants.ArduinoConstants;
|
||||||
@ -110,7 +109,7 @@ public interface ArduinoService {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from,
|
Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from,
|
||||||
@QueryParam("to") long to);
|
@QueryParam("to") long to);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* download device agent
|
* download device agent
|
||||||
|
|||||||
@ -148,7 +148,7 @@ public class ArduinoServiceImpl implements ArduinoService {
|
|||||||
@QueryParam("to") long to) {
|
@QueryParam("to") long to) {
|
||||||
try {
|
try {
|
||||||
if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId,
|
if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId,
|
||||||
ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) {
|
ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) {
|
||||||
return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build();
|
return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build();
|
||||||
}
|
}
|
||||||
String fromDate = String.valueOf(from);
|
String fromDate = String.valueOf(from);
|
||||||
@ -207,7 +207,7 @@ public class ArduinoServiceImpl implements ArduinoService {
|
|||||||
|
|
||||||
private ZipArchive createDownloadFile(String owner, String deviceName)
|
private ZipArchive createDownloadFile(String owner, String deviceName)
|
||||||
throws DeviceManagementException, JWTClientException, APIManagerException,
|
throws DeviceManagementException, JWTClientException, APIManagerException,
|
||||||
UserStoreException {
|
UserStoreException {
|
||||||
if (owner == null) {
|
if (owner == null) {
|
||||||
throw new IllegalArgumentException("Error on createDownloadFile() Owner is null!");
|
throw new IllegalArgumentException("Error on createDownloadFile() Owner is null!");
|
||||||
}
|
}
|
||||||
@ -220,7 +220,8 @@ public class ArduinoServiceImpl implements ArduinoService {
|
|||||||
}
|
}
|
||||||
String applicationUsername = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm()
|
String applicationUsername = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm()
|
||||||
.getRealmConfiguration().getAdminUserName() + "@" + PrivilegedCarbonContext
|
.getRealmConfiguration().getAdminUserName() + "@" + PrivilegedCarbonContext
|
||||||
.getThreadLocalCarbonContext().getTenantDomain();;
|
.getThreadLocalCarbonContext().getTenantDomain();
|
||||||
|
;
|
||||||
if (apiApplicationKey == null) {
|
if (apiApplicationKey == null) {
|
||||||
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
||||||
String[] tags = {ArduinoConstants.DEVICE_TYPE};
|
String[] tags = {ArduinoConstants.DEVICE_TYPE};
|
||||||
@ -231,14 +232,14 @@ public class ArduinoServiceImpl implements ArduinoService {
|
|||||||
JWTClient jwtClient = APIUtil.getJWTClientManagerService().getJWTClient();
|
JWTClient jwtClient = APIUtil.getJWTClientManagerService().getJWTClient();
|
||||||
String scopes = " device_" + deviceId + " perm:arduino:enroll";
|
String scopes = " device_" + deviceId + " perm:arduino:enroll";
|
||||||
AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(),
|
AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(),
|
||||||
apiApplicationKey.getConsumerSecret(), owner, scopes);
|
apiApplicationKey.getConsumerSecret(), owner, scopes);
|
||||||
//create token
|
//create token
|
||||||
String accessToken = accessTokenInfo.getAccessToken();
|
String accessToken = accessTokenInfo.getAccessToken();
|
||||||
String refreshToken = accessTokenInfo.getRefreshToken();
|
String refreshToken = accessTokenInfo.getRefreshToken();
|
||||||
//Register the device with CDMF
|
//Register the device with CDMF
|
||||||
ZipUtil ziputil = new ZipUtil();
|
ZipUtil ziputil = new ZipUtil();
|
||||||
return ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(),
|
return ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(),
|
||||||
ArduinoConstants.DEVICE_TYPE, deviceId, deviceName, accessToken, refreshToken);
|
ArduinoConstants.DEVICE_TYPE, deviceId, deviceName, accessToken, refreshToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String shortUUID() {
|
private static String shortUUID() {
|
||||||
|
|||||||
@ -26,16 +26,16 @@
|
|||||||
it will result 403 error at the runtime.
|
it will result 403 error at the runtime.
|
||||||
-->
|
-->
|
||||||
<PermissionConfiguration>
|
<PermissionConfiguration>
|
||||||
<APIVersion></APIVersion>
|
<APIVersion></APIVersion>
|
||||||
<!-- Device related APIs -->
|
<!-- Device related APIs -->
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>control bulb</name>
|
<name>control bulb</name>
|
||||||
<path>/device-mgt/user/operations</path>
|
<path>/device-mgt/user/operations</path>
|
||||||
<url>/device/*/bulb</url>
|
<url>/device/*/bulb</url>
|
||||||
<method>POST</method>
|
<method>POST</method>
|
||||||
<scope>arduino_user</scope>
|
<scope>arduino_user</scope>
|
||||||
</Permission>
|
</Permission>
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>get controls</name>
|
<name>get controls</name>
|
||||||
<path>/device-mgt/user/operations</path>
|
<path>/device-mgt/user/operations</path>
|
||||||
|
|||||||
@ -16,9 +16,9 @@
|
|||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
|
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
|
||||||
|
xmlns="http://www.springframework.org/schema/beans"
|
||||||
xsi:schemaLocation="
|
xsi:schemaLocation="
|
||||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
|
||||||
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
|
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
|
||||||
@ -30,7 +30,7 @@
|
|||||||
</bean>
|
</bean>
|
||||||
</jaxrs:serviceBeans>
|
</jaxrs:serviceBeans>
|
||||||
<jaxrs:providers>
|
<jaxrs:providers>
|
||||||
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
|
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
|
||||||
</jaxrs:providers>
|
</jaxrs:providers>
|
||||||
</jaxrs:server>
|
</jaxrs:server>
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<web-app version="2.5"
|
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
version="2.5"
|
||||||
xmlns="http://java.sun.com/xml/ns/javaee"
|
xmlns="http://java.sun.com/xml/ns/javaee"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||||
metadata-complete="true">
|
metadata-complete="true">
|
||||||
<display-name>Arduino</display-name>
|
<display-name>Arduino</display-name>
|
||||||
<description>Arduino</description>
|
<description>Arduino</description>
|
||||||
|
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>CXFServlet</servlet-name>
|
<servlet-name>CXFServlet</servlet-name>
|
||||||
@ -28,7 +28,8 @@
|
|||||||
</context-param>
|
</context-param>
|
||||||
|
|
||||||
<listener>
|
<listener>
|
||||||
<listener-class>org.wso2.carbon.device.mgt.iot.arduino.service.impl.listener.ArduinoPermissionUpdateListener</listener-class>
|
<listener-class>org.wso2.carbon.device.mgt.iot.arduino.service.impl.listener.ArduinoPermissionUpdateListener
|
||||||
|
</listener-class>
|
||||||
</listener>
|
</listener>
|
||||||
|
|
||||||
</web-app>
|
</web-app>
|
||||||
@ -18,7 +18,8 @@
|
|||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
|
|||||||
@ -17,8 +17,8 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<assembly
|
<assembly
|
||||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
||||||
<id>src</id>
|
<id>src</id>
|
||||||
<formats>
|
<formats>
|
||||||
|
|||||||
@ -26,7 +26,7 @@ function onRequest(context) {
|
|||||||
if (devices) {
|
if (devices) {
|
||||||
return {
|
return {
|
||||||
"devices": stringify(devices),
|
"devices": stringify(devices),
|
||||||
"backendApiUri": "/arduino/device/stats/"
|
"backendApiUri": "/arduino/device/stats/"
|
||||||
};
|
};
|
||||||
} else if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) {
|
} else if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) {
|
||||||
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
||||||
|
|||||||
@ -48,25 +48,25 @@ function drawGraph_arduino(from, to) {
|
|||||||
if (devices) {
|
if (devices) {
|
||||||
for (var i = 0; i < devices.length; i++) {
|
for (var i = 0; i < devices.length; i++) {
|
||||||
graphConfig['series'].push(
|
graphConfig['series'].push(
|
||||||
{
|
|
||||||
'color': palette.color(),
|
|
||||||
'data': [{
|
|
||||||
x: parseInt(new Date().getTime() / 1000),
|
|
||||||
y: 0
|
|
||||||
}],
|
|
||||||
'name': devices[i].name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
graphConfig['series'].push(
|
|
||||||
{
|
{
|
||||||
'color': palette.color(),
|
'color': palette.color(),
|
||||||
'data': [{
|
'data': [{
|
||||||
x: parseInt(new Date().getTime() / 1000),
|
x: parseInt(new Date().getTime() / 1000),
|
||||||
y: 0
|
y: 0
|
||||||
}],
|
}],
|
||||||
'name': $("#arduino-details").data("devicename")
|
'name': devices[i].name
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
graphConfig['series'].push(
|
||||||
|
{
|
||||||
|
'color': palette.color(),
|
||||||
|
'data': [{
|
||||||
|
x: parseInt(new Date().getTime() / 1000),
|
||||||
|
y: 0
|
||||||
|
}],
|
||||||
|
'name': $("#arduino-details").data("devicename")
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var graph = new Rickshaw.Graph(graphConfig);
|
var graph = new Rickshaw.Graph(graphConfig);
|
||||||
@ -103,9 +103,9 @@ function drawGraph_arduino(from, to) {
|
|||||||
graph: graph,
|
graph: graph,
|
||||||
formatter: function (series, x, y) {
|
formatter: function (series, x, y) {
|
||||||
var date = '<span class="date">' +
|
var date = '<span class="date">' +
|
||||||
moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + '</span>';
|
moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + '</span>';
|
||||||
var swatch = '<span class="detail_swatch" style="background-color: ' +
|
var swatch = '<span class="detail_swatch" style="background-color: ' +
|
||||||
series.color + '"></span>';
|
series.color + '"></span>';
|
||||||
return swatch + series.name + ": " + parseInt(y) + '<br>' + date;
|
return swatch + series.name + ": " + parseInt(y) + '<br>' + date;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -145,7 +145,7 @@ function drawGraph_arduino(from, to) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var backendApiUrl = $("#arduino-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier
|
var backendApiUrl = $("#arduino-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier
|
||||||
+ "?from=" + from + "&to=" + to;
|
+ "?from=" + from + "&to=" + to;
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
if (data) {
|
if (data) {
|
||||||
drawLineGraph(JSON.parse(data));
|
drawLineGraph(JSON.parse(data));
|
||||||
@ -167,10 +167,10 @@ function drawGraph_arduino(from, to) {
|
|||||||
var chartData = [];
|
var chartData = [];
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
chartData.push(
|
chartData.push(
|
||||||
{
|
{
|
||||||
x: parseInt(data[i].values.time) - tzOffset,
|
x: parseInt(data[i].values.time) - tzOffset,
|
||||||
y: parseInt(data[i].values.temperature)
|
y: parseInt(data[i].values.temperature)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,14 +33,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="add-margin-top-4x">
|
<div class="add-margin-top-4x">
|
||||||
{{unit "cdmf.unit.device.operation-bar" device=device autoCompleteParams=autoCompleteParams
|
{{unit "cdmf.unit.device.operation-bar" device=device autoCompleteParams=autoCompleteParams
|
||||||
encodedFeaturePayloads=encodedFeaturePayloads}}
|
encodedFeaturePayloads=encodedFeaturePayloads}}
|
||||||
</div>
|
</div>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "device-view-tabs"}}
|
{{#zone "device-view-tabs"}}
|
||||||
<li class="active"><a class="list-group-item" href="#device_statistics" role="tab"
|
<li class="active"><a class="list-group-item" href="#device_statistics" role="tab"
|
||||||
data-toggle="tab" aria-controls="device_statistics">Device
|
data-toggle="tab" aria-controls="device_statistics">Device
|
||||||
Statistics</a>
|
Statistics</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="list-group-item" href="#event_log" role="tab" data-toggle="tab"
|
<li><a class="list-group-item" href="#event_log" role="tab" data-toggle="tab"
|
||||||
aria-controls="event_log">Operations Log</a></li>
|
aria-controls="event_log">Operations Log</a></li>
|
||||||
|
|||||||
@ -22,20 +22,20 @@ function onRequest(context) {
|
|||||||
var deviceId = request.getParameter("id");
|
var deviceId = request.getParameter("id");
|
||||||
var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
||||||
var autoCompleteParams = [
|
var autoCompleteParams = [
|
||||||
{"name" : "deviceId", "value" : deviceId}
|
{"name": "deviceId", "value": deviceId}
|
||||||
];
|
];
|
||||||
|
|
||||||
if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) {
|
if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) {
|
||||||
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
||||||
var device = deviceModule.viewDevice(deviceType, deviceId);
|
var device = deviceModule.viewDevice(deviceType, deviceId);
|
||||||
if (device && device.status != "error") {
|
if (device && device.status != "error") {
|
||||||
var anchor = { "device" : { "id" : device.content.deviceIdentifier, "type" : device.content.type}};
|
var anchor = {"device": {"id": device.content.deviceIdentifier, "type": device.content.type}};
|
||||||
return {
|
return {
|
||||||
"device": device.content,
|
"device": device.content,
|
||||||
"autoCompleteParams" : autoCompleteParams,
|
"autoCompleteParams": autoCompleteParams,
|
||||||
"encodedFeaturePayloads": "",
|
"encodedFeaturePayloads": "",
|
||||||
"portalUrl" : devicemgtProps['portalURL'],
|
"portalUrl": devicemgtProps['portalURL'],
|
||||||
"anchor" : JSON.stringify(anchor)
|
"anchor": JSON.stringify(anchor)
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
response.sendError(404, "Device Id " + deviceId + " of type " + deviceType + " cannot be found!");
|
response.sendError(404, "Device Id " + deviceId + " of type " + deviceType + " cannot be found!");
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
}
|
}
|
||||||
@ -30,7 +30,7 @@
|
|||||||
<div class="wr-input-control">
|
<div class="wr-input-control">
|
||||||
<label class="wr-input-label" for="email-config-host">
|
<label class="wr-input-label" for="email-config-host">
|
||||||
Http Server IP
|
Http Server IP
|
||||||
<span class="helper" title="SMTP Server Host">
|
<span class="helper" title="SMTP Server Host">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
<label class="wr-input-label" for="email-config-host">
|
<label class="wr-input-label" for="email-config-host">
|
||||||
Http Server Port
|
Http Server Port
|
||||||
<span class="helper" title="SMTP Server Host">
|
<span class="helper" title="SMTP Server Host">
|
||||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="wr-input-control wr-btn-grp">
|
<div class="wr-input-control wr-btn-grp">
|
||||||
<button id="save-general-btn" class="wr-btn" onclick="addConfiguration();">
|
<button id="save-general-btn" class="wr-btn" onclick="addConfiguration();">
|
||||||
Save
|
Save
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version" : "1.0.0"
|
"version": "1.0.0"
|
||||||
}
|
}
|
||||||
@ -31,7 +31,7 @@ function onRequest(context) {
|
|||||||
if (encodedClientKeys) {
|
if (encodedClientKeys) {
|
||||||
var tokenUtil = require("/app/modules/oauth/token-handler-utils.js")["utils"];
|
var tokenUtil = require("/app/modules/oauth/token-handler-utils.js")["utils"];
|
||||||
var resp = tokenUtil.decode(encodedClientKeys).split(":");
|
var resp = tokenUtil.decode(encodedClientKeys).split(":");
|
||||||
var tokenPair = jwtClient.getAccessToken(resp[0], resp[1], context.user.username,"default", {});
|
var tokenPair = jwtClient.getAccessToken(resp[0], resp[1], context.user.username, "default", {});
|
||||||
if (tokenPair) {
|
if (tokenPair) {
|
||||||
token = tokenPair.accessToken;
|
token = tokenPair.accessToken;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,9 +25,9 @@ $(window).load(function () {
|
|||||||
var tNow = new Date().getTime() / 1000;
|
var tNow = new Date().getTime() / 1000;
|
||||||
for (var i = 0; i < 30; i++) {
|
for (var i = 0; i < 30; i++) {
|
||||||
chartData.push({
|
chartData.push({
|
||||||
x: tNow - (30 - i) * 15,
|
x: tNow - (30 - i) * 15,
|
||||||
y: parseFloat(0)
|
y: parseFloat(0)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
graph = new Rickshaw.Graph({
|
graph = new Rickshaw.Graph({
|
||||||
@ -90,9 +90,9 @@ function connect(target) {
|
|||||||
ws.onmessage = function (event) {
|
ws.onmessage = function (event) {
|
||||||
var dataPoint = JSON.parse(event.data);
|
var dataPoint = JSON.parse(event.data);
|
||||||
chartData.push({
|
chartData.push({
|
||||||
x: parseInt(dataPoint[0]) / 1000,
|
x: parseInt(dataPoint[0]) / 1000,
|
||||||
y: parseFloat(dataPoint[5])
|
y: parseFloat(dataPoint[5])
|
||||||
});
|
});
|
||||||
chartData.shift();
|
chartData.shift();
|
||||||
graph.update();
|
graph.update();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"category": "iot",
|
"category": "iot",
|
||||||
"downloadAgentUri": "arduino/device/download",
|
"downloadAgentUri": "arduino/device/download",
|
||||||
"category": "iot",
|
"category": "iot",
|
||||||
"scopes" : [
|
"scopes": [
|
||||||
"perm:arduino:enroll"
|
"perm:arduino:enroll"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,15 +21,19 @@
|
|||||||
width: 50px;
|
width: 50px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.padding-top-double {
|
.padding-top-double {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.padding-double {
|
.padding-double {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grey {
|
.grey {
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
display: block;
|
display: block;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
@ -39,20 +43,25 @@ hr {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
opacity: 0.2;
|
opacity: 0.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.light-grey {
|
.light-grey {
|
||||||
color: #7c7c7c;
|
color: #7c7c7c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uppercase {
|
.uppercase {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grey-bg {
|
.grey-bg {
|
||||||
background-color: #f6f4f4;
|
background-color: #f6f4f4;
|
||||||
}
|
}
|
||||||
.doc-link{
|
|
||||||
|
.doc-link {
|
||||||
background: none;
|
background: none;
|
||||||
color: #000;
|
color: #000;
|
||||||
padding: 10px 0px;
|
padding: 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.doc-link a {
|
.doc-link a {
|
||||||
color: #006eff;
|
color: #006eff;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,15 +110,15 @@ function attachEvents() {
|
|||||||
doAction(data);
|
doAction(data);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}else if(deviceName){
|
} else if (deviceName) {
|
||||||
$('.controls').append('<label for="deviceName" generated="true" class="error" ' +
|
$('.controls').append('<label for="deviceName" generated="true" class="error" ' +
|
||||||
'style="display: inline-block;">Please enter at least 4 ' +
|
'style="display: inline-block;">Please enter at least 4 ' +
|
||||||
'characters.</label>');
|
'characters.</label>');
|
||||||
$('.control-group').removeClass('success').addClass('error');
|
$('.control-group').removeClass('success').addClass('error');
|
||||||
} else {
|
} else {
|
||||||
$('.controls').append('<label for="deviceName" generated="true" class="error" ' +
|
$('.controls').append('<label for="deviceName" generated="true" class="error" ' +
|
||||||
'style="display: inline-block;">This field is required.' +
|
'style="display: inline-block;">This field is required.' +
|
||||||
'</label>');
|
'</label>');
|
||||||
$('.control-group').removeClass('success').addClass('error');
|
$('.control-group').removeClass('success').addClass('error');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -146,7 +146,7 @@ function downloadAgent() {
|
|||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
hidePopup();
|
hidePopup();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}else {
|
} else {
|
||||||
$("#invalid-username-error-msg span").text("Invalid device name");
|
$("#invalid-username-error-msg span").text("Invalid device name");
|
||||||
$("#invalid-username-error-msg").removeClass("hidden");
|
$("#invalid-username-error-msg").removeClass("hidden");
|
||||||
}
|
}
|
||||||
@ -186,28 +186,28 @@ function doAction(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function artifactUpload() {
|
function artifactUpload() {
|
||||||
var contentType = "application/json";
|
var contentType = "application/json";
|
||||||
|
|
||||||
var urix = backendEndBasePath + "/admin/devicetype/deploy/arduino";
|
var urix = backendEndBasePath + "/admin/devicetype/deploy/arduino";
|
||||||
var defaultStatusClasses = "fw fw-stack-1x";
|
var defaultStatusClasses = "fw fw-stack-1x";
|
||||||
var content = $("#arduino-statistic-response-template").find(".content");
|
var content = $("#arduino-statistic-response-template").find(".content");
|
||||||
var title = content.find("#title");
|
var title = content.find("#title");
|
||||||
var statusIcon = content.find("#status-icon");
|
var statusIcon = content.find("#status-icon");
|
||||||
var data = {}
|
var data = {}
|
||||||
invokerUtil.post(urix, data, function (data) {
|
invokerUtil.post(urix, data, function (data) {
|
||||||
title.html("Deploying statistic artifacts. Please wait...");
|
title.html("Deploying statistic artifacts. Please wait...");
|
||||||
statusIcon.attr("class", defaultStatusClasses + " fw-check");
|
statusIcon.attr("class", defaultStatusClasses + " fw-check");
|
||||||
$(modalPopupContent).html(content.html());
|
$(modalPopupContent).html(content.html());
|
||||||
showPopup();
|
showPopup();
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
hidePopup();
|
hidePopup();
|
||||||
location.reload(true);
|
location.reload(true);
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
|
||||||
}, function (jqXHR) {
|
}, function (jqXHR) {
|
||||||
title.html("Failed to deploy artifacts, Please contact administrator.");
|
title.html("Failed to deploy artifacts, Please contact administrator.");
|
||||||
statusIcon.attr("class", defaultStatusClasses + " fw-error");
|
statusIcon.attr("class", defaultStatusClasses + " fw-error");
|
||||||
$(modalPopupContent).html(content.html());
|
$(modalPopupContent).html(content.html());
|
||||||
showPopup();
|
showPopup();
|
||||||
}, contentType);
|
}, contentType);
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@ -32,31 +32,31 @@
|
|||||||
<h3 class="uppercase">What it Does</h3>
|
<h3 class="uppercase">What it Does</h3>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="grey margin-top">Connect Arduino UNO board to WSO2 IoT Server and visualize sensor
|
<p class="grey margin-top">Connect Arduino UNO board to WSO2 IoT Server and visualize sensor
|
||||||
data.</p>
|
data.</p>
|
||||||
<br>
|
<br>
|
||||||
<h3 class="uppercase">What You Need</h3>
|
<h3 class="uppercase">What You Need</h3>
|
||||||
<hr>
|
<hr>
|
||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">ITEM 01</span>
|
<span class="badge">ITEM 01</span>
|
||||||
Arduino UNO Board.
|
Arduino UNO Board.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="badge">ITEM 02</span>
|
<span class="badge">ITEM 02</span>
|
||||||
Adafruit Wifi Shield for Arduino.
|
Adafruit Wifi Shield for Arduino.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="badge">ITEM 03</span>
|
<span class="badge">ITEM 03</span>
|
||||||
LED bulb connected to Pin 13.
|
LED bulb connected to Pin 13.
|
||||||
<i>(If not available, will use the one on the board.)</i>
|
<i>(If not available, will use the one on the board.)</i>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="badge">ITEM 04</span>
|
<span class="badge">ITEM 04</span>
|
||||||
Resister( e.g 330 ohms )
|
Resister( e.g 330 ohms )
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="badge">STEP 05</span>
|
<span class="badge">STEP 05</span>
|
||||||
Proceed to [Prepare] section.
|
Proceed to [Prepare] section.
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
<a href="/api-store/apis/info?name={{@uriParams.deviceType}}&version=1.0.0&provider=admin"
|
<a href="/api-store/apis/info?name={{@uriParams.deviceType}}&version=1.0.0&provider=admin"
|
||||||
@ -67,7 +67,8 @@
|
|||||||
<i class="fw fw-download add-margin-1x"></i>Download Sketch
|
<i class="fw fw-download add-margin-1x"></i>Download Sketch
|
||||||
</a>
|
</a>
|
||||||
{{#if displayStatus}}
|
{{#if displayStatus}}
|
||||||
<a href="javascript:artifactUpload()" class="btn-operations"><i class="fw fw-upload fw-inverse fw-lg add-margin-1x"></i> Deploy Analytics Artifacts</a>
|
<a href="javascript:artifactUpload()" class="btn-operations"><i
|
||||||
|
class="fw fw-upload fw-inverse fw-lg add-margin-1x"></i> Deploy Analytics Artifacts</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<p class="doc-link">Click <a href="https://docs.wso2.com/display/IoTS300/Arduino"
|
<p class="doc-link">Click <a href="https://docs.wso2.com/display/IoTS300/Arduino"
|
||||||
@ -201,11 +202,11 @@
|
|||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">01</span>
|
<span class="badge">01</span>
|
||||||
Wifi-Shield mounted onto the Arduino-UNO board
|
Wifi-Shield mounted onto the Arduino-UNO board
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">02</span>
|
<span class="badge">02</span>
|
||||||
Connect LED bulb to arduino as follows
|
Connect LED bulb to arduino as follows
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<a href="{{@unit.publicUri}}/images/schematicsGuide.png" target="_blank">
|
<a href="{{@unit.publicUri}}/images/schematicsGuide.png" target="_blank">
|
||||||
<img src="{{@unit.publicUri}}/images/schematicsGuide.png" class="img-responsive">
|
<img src="{{@unit.publicUri}}/images/schematicsGuide.png" class="img-responsive">
|
||||||
@ -215,20 +216,20 @@
|
|||||||
|
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">03</span>
|
<span class="badge">03</span>
|
||||||
Download Arduino-Sketch from [Download Sketch] link above.
|
Download Arduino-Sketch from [Download Sketch] link above.
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">04</span>
|
<span class="badge">04</span>
|
||||||
Unzip the downloaded Arduino Agent
|
Unzip the downloaded Arduino Agent
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">05</span>
|
<span class="badge">05</span>
|
||||||
Create a folder called "ArduinoBoardSketch" and move all source files
|
Create a folder called "ArduinoBoardSketch" and move all source files
|
||||||
inside
|
inside
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">06</span>
|
<span class="badge">06</span>
|
||||||
Open ArduinoBoardSketch.h and provide appropriate values for
|
Open ArduinoBoardSketch.h and provide appropriate values for
|
||||||
<i>[WLAN_SSID]</i>,
|
<i>[WLAN_SSID]</i>,
|
||||||
<i>[WLAN_PASS]</i>,
|
<i>[WLAN_PASS]</i>,
|
||||||
<i>[SERVICE_PORT]</i>,
|
<i>[SERVICE_PORT]</i>,
|
||||||
@ -238,7 +239,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">07</span>
|
<span class="badge">07</span>
|
||||||
Burn the sketch onto your Arduino board and let the program run.
|
Burn the sketch onto your Arduino board and let the program run.
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
|
|
||||||
@ -246,14 +247,14 @@
|
|||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
<i class="fw fw-right-arrow fw-stack-1x"></i>
|
<i class="fw fw-right-arrow fw-stack-1x"></i>
|
||||||
</span>
|
</span>
|
||||||
Arduino will publish it's internal temperature to WSO2-IoT-Server
|
Arduino will publish it's internal temperature to WSO2-IoT-Server
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
<span class="fw-stack margin-right">
|
<span class="fw-stack margin-right">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
<i class="fw fw-right-arrow fw-stack-1x"></i>
|
<i class="fw fw-right-arrow fw-stack-1x"></i>
|
||||||
</span>
|
</span>
|
||||||
LED on <i>PIN 13</i> can be controlled from Device Management page.
|
LED on <i>PIN 13</i> can be controlled from Device Management page.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
@ -267,17 +268,17 @@
|
|||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">01</span>
|
<span class="badge">01</span>
|
||||||
You can view all your connected devices at
|
You can view all your connected devices at
|
||||||
<a href="{{@app.context}}/devices">[Device Management]</a> page.
|
<a href="{{@app.context}}/devices">[Device Management]</a> page.
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">02</span>
|
<span class="badge">02</span>
|
||||||
Select one of connected devices and check for available control
|
Select one of connected devices and check for available control
|
||||||
operations and monitor Real-Time data.
|
operations and monitor Real-Time data.
|
||||||
</li>
|
</li>
|
||||||
<li class="padding-top-double">
|
<li class="padding-top-double">
|
||||||
<span class="badge">03</span>
|
<span class="badge">03</span>
|
||||||
You can also view analytics of the data published to IoT-Server by
|
You can also view analytics of the data published to IoT-Server by
|
||||||
navigating to Device Analytics page.
|
navigating to Device Analytics page.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -16,22 +16,22 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context){
|
function onRequest(context) {
|
||||||
var viewModel = {};
|
var viewModel = {};
|
||||||
var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
||||||
var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"];
|
var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"];
|
||||||
var url = devicemgtProps["httpsURL"] + "/api/device-mgt/v1.0/admin/devicetype/deploy/arduino/status";
|
var url = devicemgtProps["httpsURL"] + "/api/device-mgt/v1.0/admin/devicetype/deploy/arduino/status";
|
||||||
serviceInvokers.XMLHttp.get(
|
serviceInvokers.XMLHttp.get(
|
||||||
url, function (responsePayload) {
|
url, function (responsePayload) {
|
||||||
var responseContent = responsePayload.status;
|
var responseContent = responsePayload.status;
|
||||||
new Log().error(responseContent);
|
new Log().error(responseContent);
|
||||||
if ("204" == responsePayload.status) {
|
if ("204" == responsePayload.status) {
|
||||||
viewModel["displayStatus"] = "Display";
|
viewModel["displayStatus"] = "Display";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
//do nothing.
|
//do nothing.
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
return viewModel;
|
return viewModel;
|
||||||
}
|
}
|
||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
}
|
}
|
||||||
@ -17,7 +17,8 @@
|
|||||||
~ under the License.
|
~ under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
|
|||||||
@ -27,9 +27,16 @@
|
|||||||
to save it to your computer.</p>
|
to save it to your computer.</p>
|
||||||
<p class="doc-link">For further instructions and troubleshooting please visit the following <a href="https://docs.wso2.com/display/IoTS300/Android"
|
<p class="doc-link">For further instructions and troubleshooting please visit the following <a href="https://docs.wso2.com/display/IoTS300/Android"
|
||||||
target="_blank">link</a>.</p>-->
|
target="_blank">link</a>.</p>-->
|
||||||
<p class="doc-link text-center">Need help? Read <a
|
{{#if isCloud}}
|
||||||
href="https://docs.wso2.com/display/DeviceCloud/Enrolling+an+Android+Device" target="_blank">WSO2 Device
|
<p class="doc-link text-center">Need help? Read <a
|
||||||
Cloud documentation.</a></p>
|
href="https://docs.wso2.com/display/IoTS300/Android" target="_blank">WSO2 Device
|
||||||
|
Cloud documentation.</a></p>
|
||||||
|
{{else}}
|
||||||
|
<p class="doc-link text-center">Need help? Read <a
|
||||||
|
href="https://docs.wso2.com/display/DeviceCloud/Enrolling+an+Android+Device" target="_blank">WSO2
|
||||||
|
IoT Server documentation.</a></p>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -40,21 +47,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row grey-bg">
|
{{#if isCloud}}
|
||||||
{{#if isCloud}}
|
<div class="row grey-bg">
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 add-padding-top-2x add-padding-bottom-2x">
|
|
||||||
{{else}}
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 add-padding-top-2x add-padding-bottom-2x">
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
|
||||||
<h5><strong>Step 1</strong></h5>
|
<h5><strong>Step 1</strong></h5>
|
||||||
<p>Let's start by installing the Android agent on your device. Open the downloaded file, and tap <b>INSTALL</b>.</p>
|
<p>Let's start by installing the Android agent on your device. Open the downloaded file, and tap
|
||||||
<img src="{{@unit.publicUri}}/images/install_agent.png" class="img-responsive">
|
<b>INSTALL</b>.</p>
|
||||||
</div>
|
<img src="{{@unit.publicUri}}/images/install_agent.png" class="img-responsive">
|
||||||
|
</div>
|
||||||
{{#if isCloud}}
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 col-md-offset-2 col-lg-offset-2 add-padding-top-2x add-padding-bottom-2x">
|
||||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 add-padding-top-2x add-padding-bottom-2x">
|
|
||||||
<h5><strong>Step 2</strong></h5>
|
<h5><strong>Step 2</strong></h5>
|
||||||
<p>Enter your:
|
<p>Enter your:
|
||||||
<p>
|
<p>
|
||||||
@ -65,7 +67,14 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<img src="{{@unit.publicUri}}/images/login.png" class="img-responsive">
|
<img src="{{@unit.publicUri}}/images/login.png" class="img-responsive">
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
<div class="row grey-bg">
|
||||||
|
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 add-padding-top-2x add-padding-bottom-2x">
|
||||||
|
<h5><strong>Step 1</strong></h5>
|
||||||
|
<p>Let's start by installing the Android agent on your device. Open the downloaded file, and tap
|
||||||
|
<b>INSTALL</b>.</p>
|
||||||
|
<img src="{{@unit.publicUri}}/images/install_agent.png" class="img-responsive">
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 add-padding-top-2x add-padding-bottom-2x">
|
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 add-padding-top-2x add-padding-bottom-2x">
|
||||||
<h5><strong>Step 2</strong></h5>
|
<h5><strong>Step 2</strong></h5>
|
||||||
@ -88,7 +97,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<img src="{{@unit.publicUri}}/images/install_agent.png" class="img-responsive">
|
<img src="{{@unit.publicUri}}/images/install_agent.png" class="img-responsive">
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -151,10 +160,10 @@
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
{{#zone "topCss"}}
|
{{#zone "topCss"}}
|
||||||
{{css "css/styles.css"}}
|
{{css "css/styles.css"}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "bottomJs"}}
|
{{#zone "bottomJs"}}
|
||||||
{{js "js/type-view.js"}}
|
{{js "js/type-view.js"}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user