From eae80dd8340ae2c12da44ce29d24482acb7c24a7 Mon Sep 17 00:00:00 2001 From: Rasika Perera Date: Tue, 21 Jul 2015 12:37:53 +0530 Subject: [PATCH] changes to jaggery app, sketch --- .../jaggeryapps/iotserver/api/device-api.jag | 47 ++--- .../iotserver/api/operation-api.jag | 0 .../jaggeryapps/iotserver/api/policy-api.jag | 0 .../jaggeryapps/iotserver/jaggery.conf | 0 .../iotserver/layouts/enrollment.hbs | 0 .../iotserver/layouts/fluid-backup.hbs | 0 .../jaggeryapps/iotserver/layouts/fluid.hbs | 0 .../iotserver/layouts/nav-fluid.hbs | 0 .../jaggeryapps/iotserver/lib/acs.jag | 0 .../jaggeryapps/iotserver/lib/fuse-router.js | 0 .../jaggeryapps/iotserver/lib/fuse.jag | 0 .../jaggeryapps/iotserver/lib/fuse.js | 0 .../iotserver/lib/handlebars-helpers.js | 0 .../iotserver/lib/handlebars-v2.0.0.js | 0 .../iotserver/lib/less-rhino-1.7.5.js | 0 .../jaggeryapps/iotserver/lib/login.jag | 0 .../jaggeryapps/iotserver/lib/logout.jag | 0 .../iotserver/modules/api-wrapper-util.js | 0 .../jaggeryapps/iotserver/modules/util.js | 0 .../repository/jaggeryapps/iotserver/test.jag | 0 .../jaggeryapps/iotserver/test/device-spec.js | 0 .../iotserver/test/testExecutor.jag | 0 .../jaggeryapps/iotserver/test/user-spec.js | 0 .../jaggeryapps/iotserver/tmp/.gitignore | 0 .../jaggeryapps/iotserver/token.jag | 0 .../handlebars/public/js/handlebars-v2.0.0.js | 0 .../src/sketches/firealarm/Connect.ino | 83 -------- .../firealarm/FireAlarmEthernetAgent.h | 48 ----- .../firealarm/FireAlarmEthernetAgent.ino | 143 ------------- .../src/sketches/firealarm/PollServer.ino | 79 ------- .../src/sketches/firealarm/PushData.ino | 199 ------------------ .../src/sketches/firealarm/deviceConfigs.cfg | 6 + .../src/sketches/firealarm/sketch.properties | 4 +- .../src/sketches/firealarm/startservice.sh | 130 ++++++++++++ .../firealarm/wso2-raspi-alarm_1.0_armhf.deb | Bin 0 -> 114968 bytes 35 files changed, 160 insertions(+), 579 deletions(-) mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/api/operation-api.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/api/policy-api.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/jaggery.conf mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/layouts/enrollment.hbs mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid-backup.hbs mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid.hbs mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/layouts/nav-fluid.hbs mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/acs.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse-router.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-v2.0.0.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/less-rhino-1.7.5.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/login.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/lib/logout.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/modules/api-wrapper-util.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/modules/util.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/test.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/test/device-spec.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/test/testExecutor.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/test/user-spec.js mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/tmp/.gitignore mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/token.jag mode change 100755 => 100644 modules/distribution/src/repository/jaggeryapps/iotserver/units/handlebars/public/js/handlebars-v2.0.0.js delete mode 100644 modules/distribution/src/sketches/firealarm/Connect.ino delete mode 100644 modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.h delete mode 100644 modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.ino delete mode 100644 modules/distribution/src/sketches/firealarm/PollServer.ino delete mode 100644 modules/distribution/src/sketches/firealarm/PushData.ino create mode 100644 modules/distribution/src/sketches/firealarm/deviceConfigs.cfg create mode 100755 modules/distribution/src/sketches/firealarm/startservice.sh create mode 100644 modules/distribution/src/sketches/firealarm/wso2-raspi-alarm_1.0_armhf.deb diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/api/device-api.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/api/device-api.jag index 093c794e..4bf153b9 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/api/device-api.jag +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/api/device-api.jag @@ -35,7 +35,6 @@ var result; if (uriMatcher.match("/{context}/api/device/sketch/download/{downloadId}")) { downloadId = uriMatcher.elements().downloadId; - if(downloadId){ //Just download the already created zip archive var CarbonUtils = Packages.org.wso2.carbon.utils.CarbonUtils; var sketchFolder = "repository/resources/sketches"; @@ -57,36 +56,34 @@ if (uriMatcher.match("/{context}/api/device/sketch/download/{downloadId}")) { } } - }else { +} else if (uriMatcher.match("/{context}/api/device/sketch/download")) { //Create a new zip archive and register user calling endpoint - /* This should match with $CARBON_HOME/repository/resources/sketches/{sketchType} */ - sketchType = request.getParameter("sketchType"); - /* This should be registered device type of the CDMF(Connected Device Management Framework) */ - deviceType = request.getParameter("deviceType"); - - if (!sketchType) { - log.error("Sketch Type is empty!"); - // http status code 400 refers to - Bad request. - result = 400; - } else { - var user = session.get(constants.USER_SESSION_KEY); - - if (!user) { - response.sendRedirect(dcProps.appContext + "login?#login-required"); - exit(); - } + /* This should match with $CARBON_HOME/repository/resources/sketches/{sketchType} */ + sketchType = request.getParameter("sketchType"); + /* This should be registered device type of the CDMF(Connected Device Management Framework) */ + deviceType = request.getParameter("deviceType"); - //URL: https://localhost:9443/{deviceType}/download?owner={username} - deviceManagerService = carbonHttpsServletTransport + "/" + deviceType + "/manager"; + if (!sketchType) { + log.error("Sketch Type is empty!"); + // http status code 400 refers to - Bad request. + result = 400; + } else { + var user = session.get(constants.USER_SESSION_KEY); - sketchDownloadEndPoint = deviceManagerService + "/device/" + sketchType + "/download"; - response.sendRedirect(sketchDownloadEndPoint + "?owner=" + user.username); - exit();//stop execution + if (!user) { + response.sendRedirect(dcProps.appContext + "login?#login-required"); + exit(); + } - } - } + //URL: https://localhost:9443/{deviceType}/download?owner={username} + deviceManagerService = carbonHttpsServletTransport + "/" + deviceType + "/manager"; + + sketchDownloadEndPoint = deviceManagerService + "/device/" + sketchType + "/download"; + response.sendRedirect(sketchDownloadEndPoint + "?owner=" + user.username); + exit();//stop execution + } } else if (uriMatcher.match("/{context}/api/device/sketch/generate_link")) { var contents = request.getContent(); diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/api/operation-api.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/api/operation-api.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/api/policy-api.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/api/policy-api.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/jaggery.conf b/modules/distribution/src/repository/jaggeryapps/iotserver/jaggery.conf old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/enrollment.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/enrollment.hbs old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid-backup.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid-backup.hbs old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/fluid.hbs old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/nav-fluid.hbs b/modules/distribution/src/repository/jaggeryapps/iotserver/layouts/nav-fluid.hbs old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/acs.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/acs.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse-router.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse-router.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-v2.0.0.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-v2.0.0.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/less-rhino-1.7.5.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/less-rhino-1.7.5.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/login.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/login.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/logout.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/logout.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/modules/api-wrapper-util.js b/modules/distribution/src/repository/jaggeryapps/iotserver/modules/api-wrapper-util.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/modules/util.js b/modules/distribution/src/repository/jaggeryapps/iotserver/modules/util.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/test.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/test.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/test/device-spec.js b/modules/distribution/src/repository/jaggeryapps/iotserver/test/device-spec.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/test/testExecutor.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/test/testExecutor.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/test/user-spec.js b/modules/distribution/src/repository/jaggeryapps/iotserver/test/user-spec.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/tmp/.gitignore b/modules/distribution/src/repository/jaggeryapps/iotserver/tmp/.gitignore old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/token.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/token.jag old mode 100755 new mode 100644 diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/handlebars/public/js/handlebars-v2.0.0.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/handlebars/public/js/handlebars-v2.0.0.js old mode 100755 new mode 100644 diff --git a/modules/distribution/src/sketches/firealarm/Connect.ino b/modules/distribution/src/sketches/firealarm/Connect.ino deleted file mode 100644 index 808fbe7e..00000000 --- a/modules/distribution/src/sketches/firealarm/Connect.ino +++ /dev/null @@ -1,83 +0,0 @@ -byte mac[6] = { 0x90, 0xA2, 0xDA, 0x0D, 0x30, 0xD7}; //mac - 90a2da0d30d7 -byte dns2[] = { 8, 8, 8, 8 }; -byte subnet[] = { 255, 255, 255, 0 }; -byte gateway[] = { 192, 168, 1, 1 }; - -byte deviceIP[4] = { 192, 168, 1, 219 }; -byte server[4] = { 192, 168, 1, 216 }; - -String connecting = "connecting.... "; - -void connectHttp() { - if(DEBUG) Serial.println("-------------------------------"); - - Ethernet.begin(mac, deviceIP, dns2, gateway, subnet); - delay(2000); - - if(DEBUG) { - Serial.print("My IP: "); - Serial.println(Ethernet.localIP()); - } - - connecting += httpClient.connect(server, SERVICE_PORT); - delay(2000); - if(DEBUG) Serial.println(connecting); - - if (httpClient.connected()) { - if(DEBUG) Serial.println("connected"); - } else { - if(DEBUG) Serial.println("connection failed"); - - while(!httpClient.connected()){ - if(DEBUG) Serial.println("retrying to connect......"); - httpClient.connect(server, SERVICE_PORT); - delay(2000); - } - - if(DEBUG) Serial.println("connected to server!"); - } - if(DEBUG) Serial.println("-------------------------------"); -} - - -void setupResource(){ - String hostIP = getHostIP(server); - String port = String(SERVICE_PORT); - - host = "Host: " + hostIP + ":" + port; - if(DEBUG) Serial.println(host); - - jsonPayLoad = String(OWNER_JSON); - jsonPayLoad += String(DEVICE_OWNER); - jsonPayLoad += String(DEVICE_ID_JSON); - jsonPayLoad += String(DEVICE_ID); - jsonPayLoad += String(REPLY_JSON); - - if(DEBUG) { - Serial.print("JSON Payload: "); - Serial.println(jsonPayLoad); - Serial.println("-------------------------------"); - } -} - - -String getMyIP(){ - String myIP = ""; - myIP = String(Ethernet.localIP()[0]); - - for ( int index = 1; index < 4; index++) { - myIP += "." + String(Ethernet.localIP()[index]); - } - return myIP; -} - - -String getHostIP(byte server[4]){ - String hostIP = String(server[0]); - - for ( int index = 1; index < 4; index++) { - hostIP += "." + String(server[index]); - } - - return hostIP; -} diff --git a/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.h b/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.h deleted file mode 100644 index ba97ed8a..00000000 --- a/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef FireAlarmEthernetAgent_H -#define FireAlarmEthernetAgent_H - -#if (ARDUINO >= 100) - #include "Arduino.h" -#else - #include "WProgram.h" -#endif - -#define HTTP_POST "POST" -#define HTTP_GET "GET" -#define HTTP_VERSION "HTTP/1.1" -#define HTTP_CONTENT_TYPE "Content-Type: application/json" -#define HTTP_CONTENT_LEN "Content-Length: " - -#define DEVICE_OWNER "${DEVICE_OWNER}" //"Smeansbeer" -#define DEVICE_ID "${DEVICE_ID}" //"vbhenqyt85yq" -#define DEVICE_TOKEN "${DEVICE_TOKEN}" - -#define PUSH_ALARM_DATA "pushalarmdata" -#define READ_CONTROLS "readcontrols/" -#define REPLY "reply" - -#define OWNER_JSON "{\"owner\":\"" -#define DEVICE_ID_JSON "\",\"deviceId\":\"" -#define REPLY_JSON "\",\"replyMessage\":\"" -#define TIME_JSON "\",\"time\":\"" -#define KEY_JSON "\",\"key\":\"" -#define VALUE_JSON "\",\"value\":\"" -#define END_JSON "\"}" - -#define SERVICE_PORT 9763 -#define SERVICE_EPOINT "/firealarm/controller/" - // pushalarmdata - application/json - {"owner":"","deviceId":"","replyMessage":"","time":"","key":"","value":""} - // readcontrols/{owner}/{deviceId} - // reply - application/json - {"owner":"","deviceId":"","replyMessage":""} - -#define TEMP_PIN 3 -#define BULB_PIN 4 -#define FAN_PIN 5 - -#define DEBUG false -#define POLL_INTERVAL 1000 - - -#endif - - diff --git a/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.ino b/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.ino deleted file mode 100644 index 7ad0d86d..00000000 --- a/modules/distribution/src/sketches/firealarm/FireAlarmEthernetAgent.ino +++ /dev/null @@ -1,143 +0,0 @@ -#include "FireAlarmEthernetAgent.h" - -#include -#include -#include "dht.h" - - /********************************************************************************************** - 0. Check with a sample Ethernet code of the Ethernet library to ensure that the sheild is working - 1. Set the ip of the server(byte array below) where the Web-Rest API for the FireAlarm is running - 2. Check whether the "SERVICE_EPOINT" is correct in the 'FireAlarmWifiAgent.h' file - 3. Check whether the "SERVICE_PORT" is the same (9763) for the server running. Change it if needed - 4. Check whether the pins have been attached accordingly in the Arduino - 5. Check whether all reqquired pins are added to the 'digitalPins' array - ***********************************************************************************************/ - -int digitalPins[] = { TEMP_PIN, BULB_PIN, FAN_PIN }; -int analogPins[] = { 0, 1, 2, 3, 4, 5 }; - -EthernetClient httpClient; -String host, jsonPayLoad, replyMsg; - -void setup() { - if(DEBUG) Serial.begin(9600); - pinMode(BULB_PIN, OUTPUT); - pinMode(FAN_PIN, OUTPUT); - connectHttp(); - setupResource(); -} - -void loop() { - if (httpClient.connected()) { - pushDigitalPinData(); -// pushData(); // Use this method to batch all data together and send in one call - - delay(POLL_INTERVAL); - - String responseMsg = readControls(); - int index = responseMsg.lastIndexOf(":"); - int newLine = responseMsg.lastIndexOf("\n"); - String subStrn = responseMsg.substring(index + 1); - - if (subStrn.equals("IN")) { - responseMsg = responseMsg.substring(newLine + 1, index); - if (responseMsg.equals("TEMPERATURE")) { - replyMsg = "Temperature is " + String(getTemperature()) + "C."; - reply(replyMsg); - } else if (responseMsg.equals("BULB")) { - replyMsg = "Bulb was switched " + switchBulb(); - } else if (responseMsg.equals("FAN")) { - replyMsg = "Bulb was switched " + switchFan(); - } - } - } else { - if(DEBUG) { - Serial.println("client not found..."); - Serial.println("disconnecting."); - } - httpClient.stop(); - connectHttp(); - - } -} - - -String getDataType(int pin){ - switch(pin){ - case TEMP_PIN: - return "Temperature"; - case BULB_PIN: - return "Bulb"; - case FAN_PIN: - return "Fan"; - default: - return String(pin); - } - -} - -String switchBulb() { - if (digitalRead(BULB_PIN) == HIGH) { - digitalWrite(BULB_PIN, LOW); - return "OFF"; - } else { - digitalWrite(BULB_PIN, HIGH); - return "ON"; - } -} - -String switchFan() { - if (digitalRead(FAN_PIN) == HIGH) { - digitalWrite(FAN_PIN, LOW); - return "OFF"; - } else { - digitalWrite(FAN_PIN, HIGH); - return "ON"; - } -} - - -double getTemperature(){ - dht DHT; - if(DEBUG) { - Serial.println("-------------------------------"); - Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)"); - Serial.print("DHT11, \t"); - } - - int chk = DHT.read11(TEMP_PIN); - switch (chk) - { - case DHTLIB_OK: - if(DEBUG) Serial.print("OK,\t"); - break; - case DHTLIB_ERROR_CHECKSUM: - if(DEBUG) Serial.print("Checksum error,\t"); - break; - case DHTLIB_ERROR_TIMEOUT: - if(DEBUG) Serial.print("Time out error,\t"); - break; - case DHTLIB_ERROR_CONNECT: - if(DEBUG) Serial.print("Connect error,\t"); - break; - case DHTLIB_ERROR_ACK_L: - if(DEBUG) Serial.print("Ack Low error,\t"); - break; - case DHTLIB_ERROR_ACK_H: - if(DEBUG) Serial.print("Ack High error,\t"); - break; - default: - if(DEBUG) Serial.print("Unknown error,\t"); - break; - } - - // DISPLAY DATA - if(DEBUG) { - Serial.print("\t"); - Serial.print(DHT.temperature, 1); - Serial.print(",\t\t"); - Serial.println(DHT.humidity, 1); - Serial.println("-------------------------------"); - } - return DHT.temperature; -} diff --git a/modules/distribution/src/sketches/firealarm/PollServer.ino b/modules/distribution/src/sketches/firealarm/PollServer.ino deleted file mode 100644 index fc36ce60..00000000 --- a/modules/distribution/src/sketches/firealarm/PollServer.ino +++ /dev/null @@ -1,79 +0,0 @@ -String readControls() { - String responseMsg; - String resource = " " + String(SERVICE_EPOINT) + String(READ_CONTROLS) + String(DEVICE_OWNER) + "/" + String(DEVICE_ID) + " "; - - httpClient.print(HTTP_GET); - httpClient.print(resource); - httpClient.println(HTTP_VERSION); - httpClient.println(host); - httpClient.println(); - - if(DEBUG) { - Serial.print(HTTP_GET); - Serial.print(resource); - Serial.println(HTTP_VERSION); - Serial.println(host); - Serial.println(); - } - - delay(1000); - - while (httpClient.available()) { - char response = httpClient.read(); - responseMsg += response; - } - - if(DEBUG) { - Serial.print(responseMsg); - Serial.println(); - Serial.println("-------------------------------"); - } - delay(1000); - return responseMsg; -} - -void reply(String replyMsg) { - String resource = " " + String(SERVICE_EPOINT) + String(REPLY) + " "; - String payLoad = jsonPayLoad + replyMsg + String(END_JSON); - - httpClient.print(HTTP_POST); - httpClient.print(resource); - httpClient.println(HTTP_VERSION); - httpClient.println(host); - httpClient.println(HTTP_CONTENT_TYPE); - httpClient.print(HTTP_CONTENT_LEN); - httpClient.println(payLoad.length()); - httpClient.println(); - httpClient.println(payLoad); - httpClient.println(); - - if(DEBUG) { - Serial.print(HTTP_POST); - Serial.print(resource); - Serial.println(HTTP_VERSION); - Serial.println(host); - Serial.println(HTTP_CONTENT_TYPE); - Serial.print(HTTP_CONTENT_LEN); - Serial.println(payLoad.length()); - Serial.println(); - Serial.println(payLoad); - Serial.println(); - } - - delay(1000); - - while (httpClient.available()) { - char response = httpClient.read(); - if(DEBUG) Serial.print(response); - } - - if(DEBUG) { - Serial.println(); - Serial.println("-------------------------------"); - } - delay(1000); -} - - - - diff --git a/modules/distribution/src/sketches/firealarm/PushData.ino b/modules/distribution/src/sketches/firealarm/PushData.ino deleted file mode 100644 index 6b7f8a40..00000000 --- a/modules/distribution/src/sketches/firealarm/PushData.ino +++ /dev/null @@ -1,199 +0,0 @@ - - /********************************************************************************************** - This method will traverse the array of digital pins and batch the data from the those pins together. - It makes a single call to the server and sends all pin values as a batch. - Server dis-assembles it accordingly and makes multiple publish calls for each sensor type. - ***********************************************************************************************/ - -void pushData(){ - String resource = " " + String(SERVICE_EPOINT) + String(PUSH_ALARM_DATA) + " "; - String payLoad = jsonPayLoad + "DigitalPinData"; - payLoad = payLoad + String(TIME_JSON) + "9999"; - payLoad = payLoad + String(KEY_JSON) + "Data"; - payLoad += String(VALUE_JSON); - - for ( int pin = 0; pin < (sizeof(digitalPins)/sizeof(int)); pin++) { - if ( digitalPins[pin] == TEMP_PIN ) { - payLoad += String(getTemperature()); - } else if ( digitalRead(digitalPins[pin]) == HIGH ) { - payLoad += "ON"; - } else if ( digitalRead(digitalPins[pin]) == LOW ) { - payLoad += "OFF"; - } - - if ( ((sizeof(digitalPins)/sizeof(int)) - 1) != pin ) { - payLoad += "-"; - } - - } - - payLoad = payLoad + String(END_JSON); - - if(DEBUG) Serial.println(payLoad); - - httpClient.print(HTTP_POST); - httpClient.print(resource); - httpClient.println(HTTP_VERSION); - httpClient.println(host); - httpClient.println(HTTP_CONTENT_TYPE); - httpClient.print(HTTP_CONTENT_LEN); - httpClient.println(payLoad.length()); - httpClient.println(); - httpClient.println(payLoad); - httpClient.println(); - - if(DEBUG) { - Serial.print(HTTP_POST); - Serial.print(resource); - Serial.println(HTTP_VERSION); - Serial.println(host); - Serial.println(HTTP_CONTENT_TYPE); - Serial.print(HTTP_CONTENT_LEN); - Serial.println(payLoad.length()); - Serial.println(); - Serial.println(payLoad); - Serial.println(); - } - - delay(1000); - - while (httpClient.available()) { - char response = httpClient.read(); - if(DEBUG) Serial.print(response); - } - - if(DEBUG) { - Serial.println(); - Serial.println("-------------------------------"); - } - delay(1000); -} - - /********************************************************************************************** - This method will traverse the array of digital pins and publish the data from the those pins. - It differs from the above method such that the pin data is published one after the other in - seperate calls to the server - ***********************************************************************************************/ - - -void pushDigitalPinData(){ - for ( int pin = 0; pin < (sizeof(digitalPins)/sizeof(int)); pin++) { - String resource = " " + String(SERVICE_EPOINT) + String(PUSH_ALARM_DATA) + " "; - - String payLoad = jsonPayLoad + "DigitalPinData"; - payLoad = payLoad + String(TIME_JSON) + "9999"; - payLoad = payLoad + String(KEY_JSON) + getDataType(digitalPins[pin]); - payLoad += String(VALUE_JSON); - - - if ( digitalPins[pin] == TEMP_PIN ) { - payLoad += String(getTemperature()); - } else if ( digitalRead(digitalPins[pin]) == HIGH ) { - payLoad += "ON"; - } else if ( digitalRead(digitalPins[pin]) == LOW ) { - payLoad += "OFF"; - } - - payLoad = payLoad + String(END_JSON); - - if(DEBUG) Serial.println(payLoad); - - httpClient.print(HTTP_POST); - httpClient.print(resource); - httpClient.println(HTTP_VERSION); - httpClient.println(host); - httpClient.println(HTTP_CONTENT_TYPE); - httpClient.print(HTTP_CONTENT_LEN); - httpClient.println(payLoad.length()); - httpClient.println(); - httpClient.println(payLoad); - httpClient.println(); - - if(DEBUG) { - Serial.print(HTTP_POST); - Serial.print(resource); - Serial.println(HTTP_VERSION); - Serial.println(host); - Serial.println(HTTP_CONTENT_TYPE); - Serial.print(HTTP_CONTENT_LEN); - Serial.println(payLoad.length()); - Serial.println(); - Serial.println(payLoad); - Serial.println(); - } - - delay(1000); - - while (httpClient.available()) { - char response = httpClient.read(); - if(DEBUG) Serial.print(response); - } - - if(DEBUG) { - Serial.println(); - Serial.println("-------------------------------"); - } - delay(1000); - } -} - - /********************************************************************************************** - Only required for cases of reading analog pin values. - An int Array of analog pins that needs to be read has to be initialised. - This method will traverse the array and publish the data from the selected pins - ***********************************************************************************************/ - - -void pushAnalogPinData(){ - for ( int pin = 0; pin < (sizeof(analogPins)/sizeof(int)); pin++) { - String resource = " " + String(SERVICE_EPOINT) + String(PUSH_ALARM_DATA) + " "; - - String payLoad = jsonPayLoad + "AnalogPinData"; - payLoad = payLoad + String(TIME_JSON) + "9999"; - payLoad = payLoad + String(KEY_JSON) + getDataType(analogPins[pin]); - payLoad = payLoad + String(VALUE_JSON) + analogRead(analogPins[pin]); - payLoad = payLoad + String(END_JSON); - - if(DEBUG) Serial.println(payLoad); - - httpClient.print(HTTP_POST); - httpClient.print(resource); - httpClient.println(HTTP_VERSION); - httpClient.println(host); - httpClient.println(HTTP_CONTENT_TYPE); - httpClient.print(HTTP_CONTENT_LEN); - httpClient.println(payLoad.length()); - httpClient.println(); - httpClient.println(payLoad); - httpClient.println(); - - if(DEBUG) { - Serial.print(HTTP_POST); - Serial.print(resource); - Serial.println(HTTP_VERSION); - Serial.println(host); - Serial.println(HTTP_CONTENT_TYPE); - Serial.print(HTTP_CONTENT_LEN); - Serial.println(payLoad.length()); - Serial.println(); - Serial.println(payLoad); - Serial.println(); - } - - delay(1000); - - while (httpClient.available()) { - char response = httpClient.read(); - if(DEBUG) Serial.print(response); - } - - if(DEBUG) { - Serial.println(); - Serial.println("-------------------------------"); - } - delay(1000); - } -} - - - diff --git a/modules/distribution/src/sketches/firealarm/deviceConfigs.cfg b/modules/distribution/src/sketches/firealarm/deviceConfigs.cfg new file mode 100644 index 00000000..8ad7375c --- /dev/null +++ b/modules/distribution/src/sketches/firealarm/deviceConfigs.cfg @@ -0,0 +1,6 @@ +[Device-Configurations] +owner = ${DEVICE_OWNER} +deviceId = ${DEVICE_ID} +auth-method = token +auth-token = ${DEVICE_TOKEN} +refresh-token = ${DEVICE_REFRESH_TOKEN} diff --git a/modules/distribution/src/sketches/firealarm/sketch.properties b/modules/distribution/src/sketches/firealarm/sketch.properties index 6cf3e5a0..0816afb3 100644 --- a/modules/distribution/src/sketches/firealarm/sketch.properties +++ b/modules/distribution/src/sketches/firealarm/sketch.properties @@ -1,2 +1,2 @@ -templates=FireAlarmEthernetAgent.h -zipfilename=FireAlarmEthernetAgent.zip \ No newline at end of file +templates=deviceConfigs.cfg +zipfilename=FireAlarmAgent.zip diff --git a/modules/distribution/src/sketches/firealarm/startservice.sh b/modules/distribution/src/sketches/firealarm/startservice.sh new file mode 100755 index 00000000..086f0d2d --- /dev/null +++ b/modules/distribution/src/sketches/firealarm/startservice.sh @@ -0,0 +1,130 @@ +#!/bin/bash + +echo "----------------------------------------------------------------" +echo "| WSO2 IOT Sample " +echo "| RaspiAlarm " +echo "| ---------------- " +echo "| ....initializing startup-script " +echo "----------------------------------------------------------------" + +while true; do + read -p "Do you wish to run 'apt-get update' and continue? [Yes/No] " yn + case $yn in + [Yy]* ) sudo apt-get update; + break;; + [Nn]* ) echo "Continuing without apt-get update..."; + break;; + * ) echo "Please answer yes or no."; + esac +done + +if [ $? -ne 0 ]; then + echo "apt-get update failed.... Some dependencies may not get installed" + echo "If an already installed version of the package exists, try running:" + echo "----------------------------------------------------------------" + echo "sudo -i" + echo "cd /var/lib/dpkg/info" + echo "rm -rf wso2-raspi-alarm*" + echo "dpkg --remove --force-remove-reinstreq wso2-raspi-alarm" + echo "exit" + echo "----------------------------------------------------------------" + echo "Retry Installation...." + break; +fi + +echo "Installing 'gdebi' package..." +sudo apt-get install gdebi # installation of gdebi + + +if [ $? -ne 0 ]; then + echo "gdebi installation failed.... dependencies will not be installed without gdebi" + read -p "Do you wish to continue without gdebi? [Yes/No] " yn + case $yn in + [Yy]* ) echo "Continueing without gdebi.....";; + [Nn]* ) echo "Try to resolve errors and re-run the script."; + exit;; + * ) exit;; + esac +fi + + +for f in ./wso2-raspi-alarm_1.0_armhf.deb; do + ## Check if the glob gets expanded to existing files. + ## If not, f here will be exactly the pattern above + ## and the exists test will evaluate to false. + # [ -e "$f" ] && echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing" || echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path"; exit; + if [ -e "$f" ]; then + echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing now...." + else + echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path. \nExiting installation..."; + exit; + fi + ## This is all we needed to know, so we can break after the first iteration + break +done + +echo "Installing the 'wso2-raspi-alarm deb package'" +sudo gdebi wso2-raspi-alarm_1.0_armhf.deb + +if [ $? -ne 0 ]; then + echo "Installation Failed...." + exit; +fi + + +for f in ./deviceConfigs.cfg; do + ## Check if the glob gets expanded to existing files. + ## If not, f here will be exactly the pattern above + ## and the exists test will evaluate to false. + # [ -e "$f" ] && echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing" || echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path"; exit; + if [ -e "$f" ]; then + echo "Configuration file found......" + else + echo "'deviceConfigs.cfg' file does not exist in current path. \nExiting installation..."; + exit; + fi + ## This is all we needed to know, so we can break after the first iteration + break +done + +echo "Copying configurations file to /usr/local/src/RaspberryAgent" +sudo cp ./deviceConfigs.cfg /usr/local/src/RaspberryAgent/ + +if [ $? -ne 0 ]; then + echo "Copying configuration file failed...." + exit; +fi + +echo "Running the RaspberryAgent service...." +# sudo service RaspberryService.sh start + +while true; do + read -p "Whats the time-interval (in seconds) between successive Data-Pushes to the WSO2-DC (ex: '60' indicates 1 minute) > " input + + if [ $input -eq $input 2>/dev/null ] + then + echo "Setting data-push interval to $input seconds." + break; + else + echo "Input needs to be an integer indicating the number seconds between successive data-pushes." + fi +done + + +cd /usr/local/src/RaspberryAgent/ +sudo nohup ./RaspberryStats.py -i $input > /dev/null 2>&1 & + +if [ $? -ne 0 ]; then + echo "Could not start the service..." + exit; +fi + + +echo "--------------------------------------------------------------------------" +echo "| Successfully Started " +echo "| -------------------------- " +#echo "| run 'sudo service RaspberryService.sh status' to check status" +#echo "| run 'sudo service RaspberryService.sh stop' to stop service" +#echo "| -------------------------- " +echo "| Find logs at: /usr/local/src/RaspberryAgent/logs/RaspberryStats.log" +echo "---------------------------------------------------------------------------" diff --git a/modules/distribution/src/sketches/firealarm/wso2-raspi-alarm_1.0_armhf.deb b/modules/distribution/src/sketches/firealarm/wso2-raspi-alarm_1.0_armhf.deb new file mode 100644 index 0000000000000000000000000000000000000000..2cfcc2ad73c2c064d4da93c8b81fc8cf34bb64d3 GIT binary patch literal 114968 zcmaf(Q*b2;5T;|>wr$(CtqCT!ZQFJx&cwDev2EKtXYW?6-uADquIh(={JL7C0;VqJ z)b*|>PvIY~%Z{)_*&XJujG;@}`5`Op5BOyJm< zSm4YZ9o$?T?U>w5U6`zV{{Q(roZSB>pEwo<!{a3fIr4s#XS%T+VTEf_@q_3&oQWk(xFSbSBxP z$(fAcBg2+~;OE*u!C$&#)){|8lZoeCr=XG$Z$aYSw?Po%R&Tp{au4@tWz=l1W_$|o z3KK3y-;`+uWuTKH-uhj?{g6|_H6}y0(9Ghe*Gk9bcJ{DamdX*wa<-&*U}SiMmMa{Mao1F+{n|J+Fe(?h&$Oug#f zQ!%^Djl8^(mD%+Z9GtxL6Fx`M^;(sJBbKSR6t;@(`>yINbBl@lUg~G5`EKnTjj=-u zno-)FC#C!|I29m`bELXFoBu8K^7}l*yg%g1rqEk@j2Pw*l-U06*R*z@si`g%U|zjo z`aMWERzU(*Uqu9C@L1u(m35eS0)+Ck1#-UzGR(Do7q$X~%?5#QN5IS(nDqm2JV_T= z$9(`X3Vj&Ht`MYlNld^{$ui4#EPXj4Lphp?tM)5RgwS28n{sKnfIZ9FT{y@5)0BRf z4R`xu&Ax`QI51pm_Wbwwr!Y=p|28mwN&Ztg6mSQ@Zq#!|pEn>~qiff*Z81adu)1K& zq4k>+RBrM7uD(eGb?(Hf@ZX{{$M}#vnp3X`sfxt70o_@kHI<2cUy^0K!Jy;LPvH$( z+5FY;dAN~zuWp-LeOoF;u`*6EbfRnq`V^6JLELz$#BVEZMiaDuam!L&sj%l=hH2Uh z%NXTu0m$(W0s-SEiEBQ8-_qt)XNa=(7NxOYdvaGU6N$IhgffhIIyt*bl(#ez+8YRCasY18SQn^^)od ze>?%mv4x6>unP1w!Q$G+_i1$qo1JR;|KbHg!~q~bdk(_Do$nv!Io~rN$DHmxu=hD| zx3r#T!5HTzf0lWqp2stgw2xO58WalR|J61q06dVO{St%*1O(2))Xnt&Ao(9}|39i( zS=o76dHyGuCUF0k%Ih9T1C6UyVWbce!V->zpv4`^csEaEmH`y@;hA|_Q<5mRC^^|k znJSXHu%IFt89KrgG&(Y%V5s|S=iBxZK=^ET?<+va(>ILpN_TGR?y0u*E!i04Y%c%? zEHW$$=at*(8^HZ)Afuz8pd+K8qGN#5!Awd@5eAMn{DDlcOT&Q!3wA(q;PhO$@KbXJ zltvB!h1pcy56lLJLr9KF0kP0pU|eqcN>d}I`m3j}%t@k3N$pkdH193ezM zMF>g1Y1V*2K*{j%@W8V`)_n+Qig#lma0|Ju84O7!3uG!iD=R)8v8>ETRUEslxW*LW zTV;vd68wVvKuCoeMh@@!=-odHL?Z%)*^vhAaKs8i2R*+0m$aC`fpt_qJKRXZqqO&c zp~y80%qDh%8}J5%=P>Gx7#hTl4#ldm9r_cykHjbr2$jOnqmQ>SSGk}%6sjsA|D-Q&YrL`r98}8%gdYsY;Os3=- zE}~PUQNa{Nn4_oy8Ut!jDeN(#M6|CSg#zLj`3*|cRAkx5%VajWi2Om+Bnw>xRLUII zZ;*wb*5O7P8|GIWPcSLF`0`GIIAN>eA3^W;$4T?gV z{EDUxTX4-Im46(jPd<^sUJn{~D#En9LuO7sEFhMTO8ypN0Y5EbMEvCG;E|ZY{ zA|qk)yLPXsG@ry8W)b}=uvQz?m^2U*kDdW%G;xv=Bu6AjmQ-e73qXS76dqCw zB1q7)0Ad_>X)=(iVr3T;l$2yKO%pjNN+P+A zq7pa1>C}jx5&EaPIHe$&4#m)#BZ7Vm&S@VMEzFGr474pYgiwHl#w;Ky2znW`d*6g1 z=JS-8B$ZXp7N0gasHgo1ir06Tpy~8zTu4%c<=cb=ISsrJ90wBA*(eD-`X2rXHrmCM z3>{3|o1FCzxDH%AYZ?18IQ}6F1w=R^SFMD|YEiGMhm#e*0*gt3`94fiCa~LN07B>B zJpe{T;TocSm;ucig&LbC2?rbn2RE_D<}BI;w8?A%wv;PK-#Uu=d=2O0)I;l9gn?Ly zWB|o)uOv9}E{dDDD6_O19_)$sv(`w^mBJYf6mXc!9Oi@6^3mbc4C zJU<{1eVRD#GXTHiDHIGnKo|o|A#NqYuz=@X#){`~P9uUG1qjrH(gBK7CZlkmgo}j$ zb?D5bR)SZcyj1zNbtmE$CPl z#r;tcqoVuKNb9H*x&32NUuRBSQKj?*79n8WB4wiew_gEA-2;VKh@TFPMq8EmsWAQ5okN7ynRV5|*{1*IGeyy^#L0TW-Xfxh3& z6im;1fVseJV3yz~5D5q$3m5af1_UyH1Gn%L_kqd4Q3(mae`OC5AZZ+_z{UQw1K)@*f&R84up%ZxMdX3#=*@rsqQN`4qPvEs9l!)qERSMV z1rT9ZEoFmT?m6ZoNkXinzL)z;Ou@%-hm)v^C?cVqVnaBa z$>{V8TAZW|BE3QozX%5%zGKg#2us6&A;v`xu`uF=L1Q4eh6VW*TWeoS>}7$lg)sE7 z2J;sUf^gy#Nxui)Vf&YY2QTQ@2P_cAVPcl{4tV~9XyHuLbdT5g05NSkreZ->_=5eY zdxCYjhYm&!Vo1oEg_!`qh7TbZHNmDhuA+sWxs44o>w?4ir|M+Y!dzi<1R+_RtOD)G zA@Z`Mu}2Bc0Z0d7!Nh@zv()4Ov%zT!NyCWehywxI;M81Y(*F1m}Em~JX8bMxC6g3?QGmC@q!nA-0{+0q!Xol|? zlZgxB5z8-52(o0sb}TZ2=o|pW2sZVBf>E%A4(x%@5tisyIaR9Yb zKm$h~PPSH93V!o#N8}L~7bM*yrVUm_aW^;rA)o&YSW_XMO0>5NR$Yg}uDHN>Y$pV1 zE)_SNo4~0_?kgx}-50ZZe_J1ng5XQJs8WPneyA$Fg&c{_ijRtdVSlZHfbNO(h3Z-RR?2ZF3}t8sE@a<&Z9 zQA4L-Kr{ur4FHf(6t?bY_JRh|!9?(CK?Y;he4i2$Bf_(ws$rudL6Ff2 zc)gn@7!}|#7Ybqm!7AXTti7Vdjgj2PR*w3TJ2**r5h3IsqIw{FK?#=k_taE;eCr}q zFw`ucG^(uR0ly*+0+t0v^H9<0v#sejE^N=iN?>4v0h`Vg3|urX#VlNLxrm9M*M0RW z$P2k;;(sslzEoMT{E5aB|xCgAN|I7MA0wtG4eTC6R?MI7ptIbt^ujIuGmf#K?DPQ zVL`)<18@LM`T&G#6x1J~o~U476{~Bt$D7vR=;AgZoSV;lc44rNfxpyZVnInkpwwBS zARCw9FGY z7l?y$kN!|IrH(VfxdVEJZkwqCKr~N7PV5KG32Fv!J)TbTDwFe)*F-T7-9;T#p1N$92`s;8`$v zI4v9mutvU6{~{0wb0ah|BgXllq_FPE<;y8E($zO{oq5R>0%FzsO&6@dtZIpyTf5Wdbh>Pay-1@mThc?_KkG=sZPY&K=!@=+I!L z0endEz`!AN?4~cdA`S2u7*P_H1(Y&&92g;Dn)ggYG|R2$D<;_IH-517I%5ClqT)GN zFR(8zRpQ^3!5e-74dU;hC62aW^cbLGL#*DQb_WYZBq%DYq#^_~W#mzz=~w!ju0I+7 z7NS=cm;-23AU>SUq@0{UJ0nD)5jc~2h){6OP*F2$^OD|~O-9}vd2|8?`TS=hk)$b$ zp5`2(o{RUAK4h zU?v zy{P?mA&uNG3UQrLK)=lAK+pgd$Q+~!WH${r;Jd?lRh;lA8nk}5x$y3XR9M}v|Nboq zl4;Gqy#Up>T796ODA0r{a4M6BOCP=}jxT&(jbGHu2?YG`F5bCUP8AtOb;Wu07 z9;fzu;6*bEp(HxU6cNg`9P`f+B5=;+Dh6Sl}?l@+VRu_y>mixE+dYObF`7n+%}-k2N3|T=EdOeC{-2-25SY_}QK=(Qlpr zS=;Yh2ZCkJ&yTZ?Ze|s^q2|24VTv|4n*cu1Q;GqxcnEy{B9^3XWM9OOY2*LIm{*eA z$r1*Mc`xh-qGDtIjNb)HjD$&yjs(5|q-6}mp8M|t0qBu^SVVw!6iMcqpU*I;NZ2#t z4&#B5EEwoSme2ahOj}RIo*x+}rw8l@C#ObX0B?IUFl;N)x8F4W;|p152_#O*L^o2M zH4Y!;a9>CDa6jrBa}@@e1rNkUnSaK!HNn~h6VN<4H6w5^onP74SC!;v6w&{qn^SeL zl9O}FE3otRO`gx~?qa$Idw%VSOM^2u(AgS^=>Kf4Je!V@i_PTJZtzPh+F6am}DOt|jDP@cN|hY}xsuKi%@Mbai`IbWLscQD;=k3RUx zFV{CFtd315wAEKX8s>RQg``UXAJcfHp!T9n3u~n9*wX7OIX68E3;SiOgrXmBt0%%q zPt&j!I)UQ1(OdBYhhA%ETUUdkVwtcISt-Scy%uE>aZ`^PzKX>srOkO$d{TjPU8XIn zVbTplIeUY^(bvLyY*#aY&TKeWqV*LjC9GG90Q~^qE3pGL2;1?c(08|WQr;#mG z7pAIg=5?0fZHqM}NBZh|->_Y86cgSbuRw65L@i9bdM`{9fd-wplIB@!)|#|ziDe4! zYKmw5T%#DLgqDf4kT{7)Ba8jGyR}~oANNycUK&o|a*UP!?WSb|MmAE9&C7=YPCKjK z{Zz*#8hGAHpxEz+Usa%+))`7@-IDZEhNpGn2l&v2$-Hi_jP-xZL@!a_C_^$}_nN$Y zVaJbSQ>t6%w~5agnCykHHe*aujmfukUK2pzp?nXnResaALmRuVyZ8g`NNknewt__g z8*x`|`p4moTq^S`*9q)}yS)j2Z>|N(uu;n2Z270zn@@<9NG-}2_CLdOSeQa$8K4E+ zPXKbcZs9X+SP-gIO@u@Z1PF!cUp=;Qb1lB=WRl-2k(Qaw^jrAD?Jx*@#&%~UIF?Y% znsyH4LUQH)6mM^6exAm!7t=N9|83Sbl}y6!+py3-&Xmz#DHI?1jPKVyLk_5`qi65g zGX)i1Zm43?`qN0WyxEs{pWXxP&KTiy`NM9W6*r6#!LwlgY@;;F0DT11=IV-;Ve$FL z^J4UY`|hOT=&{VK}G520HA zjV0!Su)S2#%k0BKHmmGVKj6>0uA{=%s<=Ye2a_U3SLRs$)yfEb3hP?UCk#E>O=OJK z=q^JM6hG$i)H~R>uh70z@j+`MZ#TOX&&u)H#GDg+kbrLRW&AvS-FxXX>z>8&)@N*I z`$J*226m}}Ch)yFF*C!E1+6jsJ1rCK-_v*3?;A$OaoM#+>Fk$?a_aJk*hiDv%1Qy{ zk!KnsFE-A9GkAL~IhC!3)lM$=394kShA$-V8ZNMbbKoO}+Ig;qi66I3M8@~dTa;4O z0!`1y(R?=bD!#OZ?2o&>%glv24Q;}G#qK%+G&AS}G8ojO-McZ?D6sdxad=1V!4Y}N z7u5V$j>=ZyH6WxDezhf`v40Vj-`{TkJ0Dz5{X^1_F{!;$YMb-cr5L}crA^aiZCc?$ zJK>V9ni$+Izf;4e4Phw|L8|XL2=%J6#jL(>I{RxSA#~28!;+C+z834FSAnaTOSiD+ z)`)~&!@;GIAtrGbiD5T%an2^EfW5ug*|mW2K&bN_IAVBQLlnrJ0iSeJpcg{2R|U7O;=DGV$WAb%OgH^w<0K1y?@#!!}!4{<)#N z$)+lz14H$n zfIjp$sHxym0_(l0R^9|4jM7cr|CLX-rnDjYUzzE&iF~!f&e6F1YNn9yjyI#A*GKB+ z8irJZ{OqlSdj&+9hrN}%GPcO(w=4u^7ur+~BAB!p=2qx8bo8un4PwuChovXjolShc z=ACutPN>jcVqYYAA!(#DW~4)8htVroi1IA|c0rcvMv;0=-lvn0MPb@$>P-vF4UM0@ z+k$DwZ1ZpG<>uD>{ zZ>Pqq1v5RB=E*kmTrj5IfgiwhJV=IYlX>H4%9gyQdT6RjMW)a8@bM(J<^>ex@+z}o zCg+_6(QUDhJ6TLP>*1#D(%elwxI;$I4*t!8G`15Ic-Ea;CmsP-?V|MO!#vAiwYBTTSliS&!f;BP zSQPmk#g2Z%-hVdIUi1kE`(^t_`}ctKm91H%C!y`xTVsYTt}zcE^N_S+c&Tj1#52QD zLVnmtMf@&t#Pav-7c@s%Ax<-vn!1<>?v=Cfa$IBwe>h%0&>9eLPnm(6OJ#(+q{#$j zfG`_~(nFT%-l z2fN<153iFd7c+b>kS|f|kfBGT*^7O|?3?Iter*p0Rw#&aY>LPJw_b#E@pr%3H3J{L zE+qOtp41uSyEz!95x;If=!h-OYc)5kCoW5@uqJNDXfdywuV<&_@Y><)U@WHf@`}2A zZB!C2UJVz-V?=NRT^okZ-lW32FyimV=QQ0vQOh#gh(r=5EplhG4?nANu@+q_xTKc? zj$=+oe=cWF9ZM!K8w}|l-s?VSR}ea)g6*c8yjI9i>U>`nmySm^+-~B}M@g^z3Lcww$}VYFXn!~bnky(IK7&f`5uH^==LjqE$&Sgn9Eb-7E>Y;( z2S%+>g3X9K`nU<4?4`wO6z+XPXgxK)Yr;bxJ>)ukz0p zbLlKD4Zr6sF;TgEAX@oR&okPTU&PBjbebi)^<=t4U(QXVCh_clh;qc!U-ngZTvSD2 zn?|yk4l1BF>y;xONK1-dIi@SuHscU@lEHj6+8uroe_eps#dVA7F zS9iaX-O!uMwKSfOwXX;&&{u7n%_H77rT8 z(ShckmocA$G+&z&TqkPaEZ8YOW=r33gXh_S9NXm9>X8sLfmZvqV*;7>4@4R;R|Haf=w23# zHwojh)@LU7S5##CtP>YR2ol#pby zC{Z2edMu_GgT1KM9RfGq=$!{1!c_V~uJk~m@{B@JkLwdST2=EMk0Vs2hu5s8-#%S> zkkdlTl(T)_u1Qp?WKA)Fb#NcQhGBmrN=QorZ;CU-=X__5vEQQ3jFdaVZg1#V8>;t( zFZ&l5QvNDV@(Y+gdmMkD!T0s%@Q=sdM`?d5gbfWXvM%b@s%JDrAn+IBigY|g`|BKg zk<&f(K1^+~OJ%#TQ%%BHibG2_L?xrq;489pGGBSaUyGcma7x-?MakLX(U{=*`~E&O!D^mjzv$($SaEfONeWM zCQ#+BHgUDRBgevzt!>b^*z5f7#8E5DpY6!_z-jsBe0Tp?IRl4eafk0?@f;=I7o1fc zxh_JQl3TK}!oK*zX4~0JS$Z1#`yp*s_J=YwL&E`5jrHURjZW-hZi_bc^!#@r?wOAz zNo?#VGkYtVI+SicEHgG+x7?Fcf_rlD%q>F*bw;dIUIYNK`GMUO20PIWp!jrz=C`q_ zwav>dkZ3Dym^#Ld7M7pdu{JZl{wOo6C67{piDi|)l@am5O2&}hY)xeJXCoze;xLr9 z0#oCz*MGHF03z}H4?ic8Tv)QKo0h&HBAgiotvY|-IUkNUT0DnwY}5-V>y2Ld2S@h8 zL=Gm_g|9JA;PK4`eyU!ZuD@FU_}UiR_urI2bHIrG)CV=2Rg1humM@3jXe+!O2_){Q zRKfOU%?U2;9igd%Vf>w#Oz0o}NarvZxuwwuuTbZ6u-9iEs)(7@xo~ZaXu_V`%z~L` zqTGpR*gP3MY}k;Zt56PGCE=b*vRq@TholC8L$H23UR|kSss45I+Hek2>Mu8~L+Y=w zRVCw-<{0v1g*>m>l_QP6=~R!Fg06=81`*=MiJ5w< z_H?gl`%LoN`p?Y;UfLf1VP-Q!wDpD|Vi>MT)b0M2DvXNrS^kmmJoP817n?~3-nJkk z-9V?n>?tREEH_vn+w0r+O*#2d_@Gl@a@g8lzQfA(g>}e7l(oiT~5%;johoE2XHk{ME zJLh{o+0IO9NS`YTRyyYyA6CUM_7$FUFBTj5dnanxP@<#^ z(X4;?QDl!muoe4WDHs6(A{+t1ZU5ik!5;3&VZdnHuh|(m zp;aY97ry5WTcDVl(#89N)Hh;}E3>k?VX5j_h8jE1VCb$0S*?(&ANP zcGR=Y>5cLeX)YUXC4XFu-)pI`9>tE>DZl&(Xnfui#CR)S zwwR&^35w>)9*mq@s%Gz!8kG7-g3`%aOr;^+6YAD);>CHNiF6^hOHI07}s(aPh)900;+k&OYJMGD~4ebiw{ujb-;)1p|) z$Vvy)#m9?rH{(>66#0!edx>n$xusWuSAgmE7nWp)_gYB~`TI(O z>A_e+hiZ^tM$G*9rc3zRCTkLQ1itHIHD1On5kg3s(~0TL$QL2>5A|_- z9KCMur)_C6hUqTz7#oM~W4qvv>Fv}45MZ;!W4^VO#$Ey!#rI^(*NcSz-J9HV)^AnD+Pej`l z{Aq}huUk^OSCeuh7`UVtBPS7|Q!L$eWVT|YHeWphVv0$O*4?eW0W@CLN40{;Zk>ln zyF_UxCmn{!=#cZB_PyWfq@G|zva zrqt5xI!`Xh!3o{9E63d?_v`gJk@wzfCe%W=O16O!2kLaS!S+i{b)G?t?-bOiru8Nh z#vAC$$z22SU_R~otK>hLP6XJ}{o)Rv0MqJ&i+vxS`krVRmR^@xzoyIFT9CC%`?biC zm57OI3q5qA4v8mmD*PCUKQ$0-_}h5%7zPKV5A+30<~txU-IL5+4c@M7VyO|J7_lsSxgrw{p6y^ zzSFCE-7h=+vaFzPV4@5b=gRI+oqy&G@RQ_&j0%F)j>1r5V=E4%~Qvvd?F`To#yyffko8g?=zzc zx#}b5+*5I(l7G2zHieO|p7+~xY^85@uab%2$5ewj{+jh=tLa*u>Df{Pmu{C^Bow0! zam8GnpL4rETka>_3`wAVDn04QdA>IZt8!~8P)diTU(YWmMVh33d0z4p?I8_xhgRFb@NFAtdWxF2vijL3M2rNnc+zT3%h1w!2-NbKpOLtE0s_rFPqh zUciNkPjl~Xki-xP+E@Mjdp5803dhmk7y9PP6wR2DLS|nvFH{Sgx&m|qS9Q+1f|%Z2 zMonktJL3!&HGQ?5tp|IBzJ`25UV7IC@nrFWXr`W?>UC#}M)&Q;waTN;O84KHBFE5+ zK3EpN0{d&`W?xp9Y+-wa%sQrN)WN7N!lD+NMJA8M_!2B|yvtff#O0Pmz_H^~(EoTG zkgkw%y@i{>&qSGN8b`77e3he(%eA(;`P11|aAzx~mIPqcy6yDVgwAge-To`_*SwTu z*PrZxaUh59F0JBmE-gR5Igi^SoQ$B|o?jeY7;-y`l(K~m=G<9Bw8ieas4@0>h$g=s z&1){3#V7BhNz`#sW+)j2%DrCqHPmc*DW~$Fqfgo@W=nzQ=Rc>2Dc6Vp$ekC5S(@iM zxr`60+_CiAS3I7;gEO@G9aPQvbA7pMVd4hZV_{SMPL2+M4k>(4llLtUgU(wUFh+vL zQaETg%-BH}K3|9yAtgYvhfu8|H{NbJ#gih zUqrB1Nl1w6E><~jd+3m+c7&MII%~&q-?pdtcJR~s)zYE-d707ZbfuRgv(+1Ha$5NV zo35m`_5--_#*Z0>zAdG2tox(QpMNaA{02SFC+9|m9IF6(nm^GqH>Vkav|kxeN8aBm z{;*a4^li$JgFy@}os9x5ec!;4FKo25c_9we+;Ln4%SEkByJ|%58a)oe4uB_=$#Z7t zI{Oo2wf1jA;Lp(t-Q2G2DGeS5E)b$8f)D}m5Pv@&TuZP zEvLN&X;(Zc^0H9QYKw^IJ}D^ z|7G3TJSFQbET(*V+PWsj;l4e=YQFh@G1BURvHvZT)#Z{hx(4TnbY84gQtM~WIsI_zT?Xmma(t9gibtcF?V9O3V+1-6>mQhy3 z4o(cgkIfP@Te(e#-=(vBEH5=i<(TakBzg)7Trgn)(sl~ULWa_9lYhzm^$4hsLTwHj z&eE6B0VEv7fBz{z*$U1qR%J_@iijf=qOS_4XOUUN)IvaZ zLyv}dZeD*ab4nvwGGYk1cWo)CjZUlJzCHB0ZQp9xIr9d45``vn*ip?aouzQ!`j^qV zE?n{Tm~K&0m<>`hYnk%VbXL%&wRw8$+@V@S4?Dgmd>kAq=rV8@?aQMo<(G~4Wg}C4 znb4psX6fhVpxt)W_m>M(3_$H2(h?ZufydP)6p&u5Y@GuSv%^N%*SJ0;&1_R*8p8c z1r(MfR~2L|(dV4f7e-QrU>jJWj3 z!Wwn_xR|l_xT6_q6$%>pN@-B^+1-!${Z+nBX(>%-X}0<|z!(E^cbLz&C|35%O!olh z&4_hZ3r?}-uIerND-Lt>w$w6W%rwk#uU=q8_cbe5jz|Q?+H3DLmUk@2pnHM`m4*5Q z#yQuE7Yw`m#^vNPvOf2tAr|&lq+#$#t=&|Y*SEQZLcr~8C=TIu)<3C*a2C63Xv8h} z^wK@AJs$OVHtsV)PbwE#x1c^?^`Z7jqXT+(UKhHbnAKQe@?TD=AuRz4`w;nlJ@?mQ z_!R?DA&PvU*_>D=N2DD0AcYoo$8k@a-c{kn{&c*1yCcd`s`mFz)Qi)8+-{AAu{SriY7lcO)H}h0fq=LfjmBgPCSWRO?JUJ zj&UDvbj`g%A2)4QuKIuAi4egfJeFk>lSgdmy?jd)2ojNuxD4QrY#Q{FAd9{VOBW#T zC69+*!+84%IyCB-CP6==dtU}d3ViDv|8b;sbpNWHVE^S|T{qo4#IlAeBUG@TRcA{n z87T6oe|%8h)9nK}0K@g)G&|tE zgIGU1FN(^q7xV(Zc16Gi?Saj^e1>h%DuURzRHkuF)pZZp@;=)kTh=mh?kKs4#api$ zJA29B0Ayin{W`jHZ0Qp~-%`1c!BA>mj3%P+*M2P;lzv++zuex2c8L5Pre)D)*1=g} zFyt3XIHwzjN%d0NhDMx3>}hnCtnXLp^t+K*+vSyAUx(^>fY9X<)7-g2M$tRV$4)hp zQTIq|ZsKpf##n&E?0QSFwto(NXtd`O$nNQ-Qb=8v`%JzXv~-h!-^<~r9Lv*v%*s6;;nKcY22nl;f6uY+Y_GWjV=M(2c_kbF?cNwpi%Z-UW-MlEjQ#QVoaF8$ ze9Q5>F;_Y~n`o>zdU!X7y7+DQO)GEbqC3=^lhgd0*3?gPtt}y6+g_Aq%-GH9H@U*y zcFK@L5tY3x{)r@%vm%V zw{U-;?+j6{#V?G*x-`2FSGeZ!rEUSQ=zDy?S5YAlJzIPm4if< zOID{n(F~Pu)ee&oIL#C45bl0B&3+9*r$ge>^J}dz<2w~PY1_YWqT+X$G6FwTY~AQv zI%Ar!?SB}!=bw}1_UOwmJlp6zEvGPO`sngWqc$3ug^k3G13UNcrz5Q%X`TqJJNcO% zJXt|~_l1I~PsDy@R2ez0Z-1L+Y>cEgcE@v#7uMVD;H#ET8QZ=fs33;>G#2z(JNHVh z>(9EVbhB?z`^3swMpd31KnDjW^hA9g!L8I4Zs!uI-q_zEMshvs@!ksGU77Rv|0w>% z3K3ov>^ZWY3cgN=|97380Np|u3rsoR1LTJZ`!_jOVRF;SY;-tck#|;qxNv_d1{>21(obeC$m z`zuaHf6E1VporHXCnOZ?_OG(%Jmd^#bbCCpUnFWEJp(uYVA9UBTdyX0)WE|}&SuD> z;!2=A&lx}Q#kVW|ls&-}0xetj0HN^Q0JR4oVY(MU|HX@xtXCP-qYyafYa2G zU=!6*OKY&Z4^!ymhd%1hGJ=IIYMo)f3<(Fe}A^N%3;uZYQ4sB9nHo-Kc? z2WBf=T9nghgX$1{Tf)y}pUORJk|tiP={6p5by;JYlN4umC1#4n0O0I~`5A0Y1Z|IS zk}b!DmHl5Fi{7e_Miief)hC*?i_;oxv?jv**&B~mZX>HZgd0u{%H=qoLtXrGRLqu{ewLk0(_-x>_ZIWB(u|QImosJ2c`w+L$k6x5 z5``2AHmgz48N_#GR7}nJD-5lU3v}g_K7n_N2lm?!0lKha{%`GtPU3u_DZ@f~9e8CH z(NqadR7CI?t2H_Ed3W8wmfg=Cu)B)5oB)UQXm|f%itkPJMf6w0KSR+^+;?kHa>3K7 zuoH>MH79H19j>3t7kldOe%0$5x2Q*;2V$R+lSnwB2jBm5q_?VG;vwrK2S#h%ah zZ^9c_VhZj#d`npFSAlrS)lTU`z6eLWW&bzbc|kc%)alQXC~(f7D`LuiyuaD!G5A#M zV`4)ew%;ezU5FdGwqBhMt62$>cov_(_|=6j0;I6gU3r(W_G+EjymPV_Ikr!#C+SIJ zNotbjynx>|TAzVvi{DHt&;8#juT~j6UsC6sWqbQQiX#(7V1Tf>eM zHP*baD2aGKU+^)w`%Ij zV^b#LJ{Y*nPYkV~lJPa#RfZ{Qy2{Ja!ij*t^444FK%0xis{Yp>mQ@BPXznO-Ja-G{ zxK`lv((zui5Kvpk96+1cKLLCbeaw6(A4s?jWHmzq`M_PmkyN4N;R(g$;W-V=7Cwb8 ztm=r$BA1YnQ_uh-qk?hv0O5y+m5YK4Ax%I#EI}KZ9V!tUQd2?+K;YCO0}~+&5st`t zz%G>z(R%Zab|3#O7zkKny5ns#Xl`HbXs_G8*W=ZJ`%_ZFg@IMzZj6D_FRU?V#CKN0 zbS*m@M&jUgX4v5z9x{(+Xm`x^@CQz=(~|Y_-?#joWre?xt6=#=q z;H3YU0Nk0B1;cLI6>ORcS+!&R{E;fSJ6*BcL5MhZH~b3HC+#3*1zBfR+OwEusG+gO zy<7&up6UJLO?oi+`Z!W{ox(Va8*^P`g}rQN$_UwY*5XmSxuWfr1B1ue-huDdy>~|p zA-LwHZDco__`GIr){@Gb0XqxfqYX z+bV!QjH5qi6cv7r+%mvN1s?FX@Op5sWNuNTq%XbW zn*h3}nO1x?IcNRyv*>dJCilmcOTquX(sVS5YjHKxJXP(&xu<-j;u5XZo-uzb=M5f1rj)CQ2WU4Hu&ma3M5}_z-E6yo{aesRzApUQmt8%*NT7wV+uH>g*a1{j zDtHg`$u8h4&Lj=Zm5p&2zuc9$YpI$wn?iqtRgW|_1#}G&O3mkZd`-tj4_0H&#Tc05 z3B?+-*|ut9*~~^qldS6kGTANW2Bv0+P7@LC%E*NsPcPBLEOIyaINnzHNV(^#IabeZ zvRQM53d*oD^S3o(1zEe~GR!_b)dQ%#8OoY_5Azu*3zd-CPM%W3X4?w)xr+=v$oQ1z zHZTTD9THO$Jb6woleDpW} z{Ux7g>P*FlXI?l#e0RqhJqvl4M7@!p9INwyV~tDD%k)U(?a;4fdd14@c8L1?nV+t& z7=i}({$Ib@)b1@K#l*NPiSrsEu}Q;~2Z+K~`uyGzxFQV?T@u9Pqbrw{U5R3YUp`>f zGP{@&3YSAT-d^f^eGlaggo zA0g?%e7n_%4I1WO7+No2S8c5E?F4$af)wtA49KfvmXn) zAN_o&*NR$dM97Zo$s?u9)*{;@;5ZxeG6H8U%s{@zsynTvcw+_%62A9odvLTfIk7GA z4-6UYf$_`QAJSHBA$7U@E_;wZN~pD>o(Z@@r97Nu3H}y>!ql#S;_*DG5x%>}ni_?; z<=U-lDC56;b&MP@J9~9rLS{7TUvnIVQPYiTLfMMGpK0oLbprC(jufOO;l+ z?t$r2Zq+4;0KY+YApR|=We?h~?s?z09f-YZI79DOQ18NaHBMma(n2#X=~oK!TE3uW+a5CI*cw` zsjqRrzj=lEgZ5}79d4;z~y-Zr$mV? zGZRb~X_g@Sb2J?QFGMr7Tq* z*l=ZsUJW}&S$eJVk@~Q%PQT5@YQDF9$aK-1xzzcqOfCuFof9_(UyT^DAkoLK}4fsq>RmkyqTQbpz`%{5e2KS7b*lEHV*GMdyP_f6xf^k2t+M$ zY)p?w=Ryya=gd7zz_@fTn`}A9j#Zl7Nl?fG&EtLO*7y z-Zx=`<_`KvE(zxE7Exuc4$nu|G-wd9P^eWL;pdS;zV&zS*{E9Ymq@qv9+7PCWb0_Oe?vOYOUlOwA4r6CIwc<7RPneTkj7rbq086|y{qGhm) zWCxWE-pK_DD&A<;2Zxr)a%JiwKlykw4?gmg1?ic@sz>&iIkYhSi{=(@y>XcfQ-E}A%?k+SJj9p zah}XE1Z!l01zlB6QKW|yUsv|_?Ha?EL&w?4Nku(4&8JDdVExN5lmZLl6l;kQiHO0NYuxpKnN#2#j^p^TsW}kzovU`OdPA6}u zGSF?mp0n;1d+of-#NM~q>D5zaRj_0xYm!y2i1$$rSsv4HnY%jK@If)PHnry~-WX~= zWDIo=DW6Cg@2a*3sW$H_b)xXA7}DPNq-12IWGDF~PraEDr!~!t*^=?6PC7k8mqxcs zk?nep9m;OPHSg@o!45qKT{>OFqkuy|a{uex7l9LXhZnb18V-~-1iU?`HyIBpPH>-= zNb^)(Th;;l2-KfgsWPLIB*&?%cloANZQ!T9i;

Nu`!GCmixgth?c(E8=t*OxD=_vh1D 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


Ru(K@r_u@N(19}DvX8v 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 b)R8(;N9sr&sUvlycBKCYIz?_T0DuAjJ+3$s literal 0 HcmV?d00001