DragonBoard IoT - DragonSense Starter Kit


#1

Hi There,

Has anyone tried out the DragonSense Starter Kit?

I have installed the DragonSense to the DragonBoard with some warning and error messages. However, I can not start up the DragonSense to work with the two TI sensors.

Any help to point to the right direction is much appreciate…

Regards, henry

linaro@linaro-alip:~/projects/arrow/aws-iot-dragonsense-js/scripts$ ./setup.sh
################################################

Welcome to Arrow’s DragonSense for Amazon AWS

This script will setup and provision your DragonSense

################################################
DragonSense should exist at /home/linaro/Documents/arrow/aws-iot-dragonsense-js
Amazon AWS Account Number:
<extel-12-digits>

Using us-east-1 as AWS Region

Enter a Stage (Default is dev, Typical Stages are prod,test,qa):
dev

Using dev as API Stage

Enter a S3 Identifier (Default with be a random hash. Typical Identifiers can be something like Your Username):
exteliotdev

Using exteliotdev as S3 Identifier

***Creating Config for Arrow and AWS…
sed: can’t read index-template.js: No such file or directory
***Creating Amazon IAM and IoT Elements…
dragonsense-config@0.1.0 node_modules/dragonsense-config
home-dir@1.0.0 node_modules/home-dir

randomr@2.3.0 node_modules/randomr

commander@2.9.0 node_modules/commander
└── graceful-readlink@1.0.1

bluebird@3.4.0 node_modules/bluebird

mkdirp@0.5.1 node_modules/mkdirp
└── minimist@0.0.8

rimraf@2.5.2 node_modules/rimraf
└── glob@7.0.3 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, inflight@1.0.5, minimatch@3.0.0)

aws-sdk@2.3.19 node_modules/aws-sdk
├── sax@1.1.5
├── xml2js@0.4.15
├── jmespath@0.15.0
└── xmlbuilder@2.6.2 (lodash@3.5.0)
/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/foundation/db/tables.js:22
TableName: config.dynamodb.sensors.name,
^

TypeError: Cannot read property ‘sensors’ of undefined
at Object.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/foundation/db/tables.js:22:31)
at Module._compile (module.js:435:26)
at Object.Module._extensions…js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/foundation/db/index.js:6:14)
at Module._compile (module.js:435:26)
at Object.Module._extensions…js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/foundation.js:6:10)
at Module._compile (module.js:435:26)
***Modifying Amazon lambda functions…
npm WARN package.json dragonsense-lambda@0.1.0 No README data
dragonsense-config@0.1.0 node_modules/dragonsense-config
/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt
grunt-cli@1.2.0 /usr/local/lib/node_modules/grunt-cli
├── grunt-known-options@1.1.0
├── nopt@3.0.6 (abbrev@1.0.7)
├── resolve@1.1.7
└── findup-sync@0.3.0 (glob@5.0.15)
npm WARN package.json dragonsense-lambda@0.1.0 No README data
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use ‘npm ls graceful-fs’ to find it in the tree.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN optional dep failed, continuing fsevents@1.0.12

> dtrace-provider@0.6.0 install /home/linaro/Documents/arrow/aws-iot-dragonsense-js/lambda/node_modules/bunyan/node_modules/dtrace-provider
> node scripts/install.js

chai-as-promised@5.3.0 node_modules/chai-as-promised

sinon-chai@2.8.0 node_modules/sinon-chai

randomr@2.3.0 node_modules/randomr

grunt-mkdir@0.1.3 node_modules/grunt-mkdir

bunyan-cloudwatch@1.1.1 node_modules/bunyan-cloudwatch

jsonschema@1.1.0 node_modules/jsonschema

uuid@2.0.2 node_modules/uuid

dynamodb-doc@1.0.0 node_modules/dynamodb-doc

deepcopy@0.5.0 node_modules/deepcopy

bluebird@3.4.0 node_modules/bluebird

grunt-mocha-test@0.12.7 node_modules/grunt-mocha-test
├── hooker@0.2.3
└── mkdirp@0.5.1 (minimist@0.0.8)

jshint-stylish@2.2.0 node_modules/jshint-stylish
├── log-symbols@1.0.2
├── beeper@1.1.0
├── text-table@0.2.0
├── plur@2.1.2 (irregular-plurals@1.2.0)
├── string-length@1.0.1 (strip-ansi@3.0.1)
└── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, has-ansi@2.0.0, strip-ansi@3.0.1)

chai@3.5.0 node_modules/chai
├── assertion-error@1.0.2
├── type-detect@1.0.0
└── deep-eql@0.1.3 (type-detect@0.1.1)

sinon@1.17.4 node_modules/sinon
├── formatio@1.1.1
├── samsam@1.1.2
├── lolex@1.3.2
└── util@0.10.3 (inherits@2.0.1)

grunt-contrib-clean@0.7.0 node_modules/grunt-contrib-clean
└── rimraf@2.5.2 (glob@7.0.3)

mocha@2.5.3 node_modules/mocha
├── escape-string-regexp@1.0.2
├── commander@2.3.0
├── diff@1.4.0
├── supports-color@1.2.0
├── growl@1.9.2
├── to-iso-string@0.0.2
├── debug@2.2.0 (ms@0.7.1)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── glob@3.2.11 (inherits@2.0.1, minimatch@0.3.0)
└── jade@0.26.3 (commander@0.6.1, mkdirp@0.3.0)

grunt@0.4.5 node_modules/grunt
├── eventemitter2@0.4.14
├── dateformat@1.0.2-1.2.3
├── which@1.0.9
├── lodash@0.9.2
├── async@0.1.22
├── colors@0.6.2
├── getobject@0.1.0
├── rimraf@2.2.8
├── grunt-legacy-util@0.2.0
├── exit@0.1.2
├── iconv-lite@0.2.11
├── coffee-script@1.3.3
├── nopt@1.0.10 (abbrev@1.0.7)
├── hooker@0.2.3
├── underscore.string@2.2.1
├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
├── glob@3.1.21 (inherits@1.0.2, graceful-fs@1.2.3)
├── grunt-legacy-log@0.1.3 (grunt-legacy-log-utils@0.1.1, lodash@2.4.2, underscore.string@2.3.3)
├── findup-sync@0.1.3 (lodash@2.4.2, glob@3.2.11)
└── js-yaml@2.0.5 (esprima@1.0.4, argparse@0.1.16)

grunt-zip@0.17.1 node_modules/grunt-zip
├── grunt-retro@0.6.4
└── jszip@2.5.0 (pako@0.2.8)

bunyan@1.8.1 node_modules/bunyan
├── safe-json-stringify@1.0.3
├── mv@2.1.1 (ncp@2.0.0, mkdirp@0.5.1, rimraf@2.4.5)
├── dtrace-provider@0.6.0 (nan@2.3.5)
└── moment@2.13.0

load-grunt-config@0.19.2 node_modules/load-grunt-config
├── jit-grunt@0.10.0
├── glob@5.0.15 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, minimatch@3.0.0, inflight@1.0.5)
├── load-grunt-tasks@3.3.0 (arrify@1.0.1, pkg-up@1.0.0, multimatch@2.1.0)
├── js-yaml@3.4.6 (esprima@2.7.2, inherit@2.2.3, argparse@1.0.7)
├── cson@3.0.2 (cson-parser@1.3.3, coffee-script@1.10.0, safefs@4.1.0, requirefresh@2.1.0, extract-opts@3.3.1)
└── lodash@3.10.1

grunt-contrib-jshint@0.11.3 node_modules/grunt-contrib-jshint
├── hooker@0.2.3
└── jshint@2.8.0 (strip-json-comments@1.0.4, exit@0.1.2, console-browserify@1.1.0, minimatch@2.0.10, shelljs@0.3.0, cli@0.6.6, htmlparser2@3.8.3, lodash@3.7.0)

aws-sdk@2.3.19 node_modules/aws-sdk
├── sax@1.1.5
├── xml2js@0.4.15
├── jmespath@0.15.0
└── xmlbuilder@2.6.2 (lodash@3.5.0)

grunt-browserify@4.0.1 node_modules/grunt-browserify
├── async@0.9.2
├── glob@5.0.15 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, minimatch@3.0.0, inflight@1.0.5)
├── resolve@1.1.7
├── lodash@3.10.1
├── browserify@11.2.0 (browser-resolve@1.11.2, https-browserify@0.0.1, tty-browserify@0.0.0, constants-browserify@0.0.1, path-browserify@0.0.0, punycode@1.4.1, string_decoder@0.10.31, isarray@0.0.1, builtins@0.0.7, inherits@2.0.1, os-browserify@0.1.2, htmlescape@1.1.1, process@0.11.3, commondir@0.0.1, stream-browserify@2.0.1, defined@1.0.0, shell-quote@0.0.1, assert@1.3.0, xtend@4.0.1, domain-browser@1.1.7, querystring-es3@0.2.1, timers-browserify@1.4.2, util@0.10.3, deps-sort@1.3.9, events@1.0.2, parents@1.0.1, vm-browserify@0.0.4, console-browserify@1.1.0, has@1.0.1, readable-stream@2.1.4, url@0.10.3, through2@1.1.1, subarg@1.0.0, shasum@1.0.2, glob@4.5.3, buffer@3.6.0, stream-http@1.7.1, concat-stream@1.4.10, JSONStream@1.1.2, browserify-zlib@0.1.4, duplexer2@0.0.2, syntax-error@1.1.6, labeled-stream-splicer@1.0.2, browser-pack@5.0.1, read-only-stream@1.1.1, insert-module-globals@6.6.3, crypto-browserify@3.11.0, module-deps@3.9.1)
└── watchify@3.7.0 (defined@1.0.0, xtend@4.0.1, through2@2.0.1, outpipe@1.1.1, chokidar@1.5.2, anymatch@1.3.0, browserify@13.0.1)

grunt-contrib-uglify@0.11.1 node_modules/grunt-contrib-uglify
├── uri-path@1.0.0
├── maxmin@2.1.0 (figures@1.7.0, pretty-bytes@3.0.1, gzip-size@3.0.0)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, has-ansi@2.0.0, strip-ansi@3.0.1)
├── uglify-js@2.6.2 (async@0.2.10, uglify-to-browserify@1.0.2, source-map@0.5.6, yargs@3.10.0)
└── lodash@4.13.1
Loading “Gruntfile.js” tasks…ERROR
>> TypeError: Cannot read property ‘observations’ of undefined
Warning: Task “create” not found. Use --force to continue.

Aborted due to warnings.
***Configuring Amazon API gateway…

Detected as API Gateway Extension

Picked up JAVA_TOOL_OPTIONS: -Dgnu.io.rxtx.SerialPorts=/dev/tty96B0
2016-06-10 02:24:47,563 INFO - Using API Gateway endpoint https://apigateway.us-east-1.amazonaws.com
2016-06-10 02:24:56,955 INFO - Attempting to create API from Swagger definition. Swagger file: dragonsense.yaml
reading from dragonsense.yaml
2016-06-10 02:24:58,925 INFO - Parsed Swagger with 6 paths
2016-06-10 02:24:58,926 INFO - Creating API with name Arrow DragonSense
2016-06-10 02:25:00,390 INFO - Removing default model Error
2016-06-10 02:25:00,688 INFO - Removing default model Empty
2016-06-10 02:25:00,994 INFO - Creating model for api id voz2msfgjh with name Observation
2016-06-10 02:25:02,849 INFO - Generated json-schema for model Observation: {“type”:“object”,“required”:[“ambTemperature”,“gyroscope”,“lastSend”,“luxometer”,“objTemperature”,“observationId”,“timestamp”],“properties”:{“observationId”:{“type”:“string”,“description”:“The identifier of the sensor.”,“minLength”:36,“maxLength”:36,“pattern”:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},“objTemperature”:{“type”:“number”,“description”:“The temperature of the sensor tag.\n”},“ambTemperature”:{“type”:“number”,“description”:“The ambient temperature of the air surrounding the sensor tag.\n”},“luxometer”:{“type”:“number”,“description”:“A measure of the light near the sensor tag.\n”},“accelerometer”:{“type”:“array”,“description”:“A measure of the linear motion of the sensor tag.\n”,“items”:{“type”:“number”}},“gyroscope”:{“type”:“array”,“description”:“A measure of the rotational motion of the sensor tag.\n”,“items”:{“type”:“number”}},“magnetometer”:{“type”:“array”,“description”:“A measure of the magnet field near the sensor tag.\n”,“items”:{“type”:“number”}},“timestamp”:{“type”:“integer”,“format”:“int32”,“description”:“The number of seconds since the epoch (UTC) when the\nobservation was recorded.\n”},“lastSend”:{“type”:“integer”,“format”:“int32”,“description”:“When the last observation was sent.\n”}},“definitions”:{}}
2016-06-10 02:25:03,160 INFO - Creating model for api id voz2msfgjh with name ObservationList
2016-06-10 02:25:03,215 INFO - Generated json-schema for model ObservationList: {“type”:“array”,“items”:{"$ref":"#/definitions/Observation"},“definitions”:{“Observation”:{“type”:“object”,“required”:[“ambTemperature”,“gyroscope”,“lastSend”,“luxometer”,“objTemperature”,“observationId”,“timestamp”],“properties”:{“observationId”:{“type”:“string”,“description”:“The identifier of the sensor.”,“minLength”:36,“maxLength”:36,“pattern”:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},“objTemperature”:{“type”:“number”,“description”:“The temperature of the sensor tag.\n”},“ambTemperature”:{“type”:“number”,“description”:“The ambient temperature of the air surrounding the sensor tag.\n”},“luxometer”:{“type”:“number”,“description”:“A measure of the light near the sensor tag.\n”},“accelerometer”:{“type”:“array”,“description”:“A measure of the linear motion of the sensor tag.\n”,“items”:{“type”:“number”}},“gyroscope”:{“type”:“array”,“description”:“A measure of the rotational motion of the sensor tag.\n”,“items”:{“type”:“number”}},“magnetometer”:{“type”:“array”,“description”:“A measure of the magnet field near the sensor tag.\n”,“items”:{“type”:“number”}},“timestamp”:{“type”:“integer”,“format”:“int32”,“description”:“The number of seconds since the epoch (UTC) when the\nobservation was recorded.\n”},“lastSend”:{“type”:“integer”,“format”:“int32”,“description”:“When the last observation was sent.\n”}}}}}
2016-06-10 02:25:03,542 INFO - Creating model for api id voz2msfgjh with name Sensor
2016-06-10 02:25:03,596 INFO - Generated json-schema for model Sensor: {“type”:“object”,“required”:[“firmwareVersion”,“hardwareVersion”,“manufacturerName”,“sensorId”],“properties”:{“thingId”:{“type”:“string”,“description”:“The identifier of the thing.\n”},“sensorId”:{“type”:“string”,“description”:“The identifier of the sensor.\n”,“minLength”:36,“maxLength”:36,“pattern”:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},“systemId”:{“type”:“string”,“description”:“The system identifier of the sensor (normally the BLE address)\n”},“manufacturerName”:{“type”:“string”,“description”:“The name of the sensor manufacturer tag.\n”},“hardwareVersion”:{“type”:“string”,“description”:“The version of the hardware of the sensor tag.\n”},“firmwareVersion”:{“type”:“string”,“description”:“The firmware version of the sensor tag.\n”},“softwareVersion”:{“type”:“string”,“description”:“The version of the software the sensor tag is using.\n”},“timestamp”:{“type”:“integer”,“format”:“int32”,“description”:“The time in seconds (UTC) when the sensor was observed.\n”}},“definitions”:{}}
2016-06-10 02:25:03,924 INFO - Creating model for api id voz2msfgjh with name SensorList
2016-06-10 02:25:04,012 INFO - Generated json-schema for model SensorList: {“type”:“array”,“items”:{"$ref":"#/definitions/Sensor"},“definitions”:{“Sensor”:{“type”:“object”,“required”:[“firmwareVersion”,“hardwareVersion”,“manufacturerName”,“sensorId”],“properties”:{“thingId”:{“type”:“string”,“description”:“The identifier of the thing.\n”},“sensorId”:{“type”:“string”,“description”:“The identifier of the sensor.\n”,“minLength”:36,“maxLength”:36,“pattern”:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},“systemId”:{“type”:“string”,“description”:“The system identifier of the sensor (normally the BLE address)\n”},“manufacturerName”:{“type”:“string”,“description”:“The name of the sensor manufacturer tag.\n”},“hardwareVersion”:{“type”:“string”,“description”:“The version of the hardware of the sensor tag.\n”},“firmwareVersion”:{“type”:“string”,“description”:“The firmware version of the sensor tag.\n”},“softwareVersion”:{“type”:“string”,“description”:“The version of the software the sensor tag is using.\n”},“timestamp”:{“type”:“integer”,“format”:“int32”,“description”:“The time in seconds (UTC) when the sensor was observed.\n”}}}}}
2016-06-10 02:25:04,326 INFO - Creating model for api id voz2msfgjh with name Thing
2016-06-10 02:25:04,370 INFO - Generated json-schema for model Thing: {“type”:“object”,“required”:[“thingId”],“properties”:{“thingId”:{“type”:“string”,“description”:“The attribute name.\n”,“minLength”:1,“maxLength”:255,“pattern”:"^[a-zA-Z0-9_-]$"},“attributes”:{“type”:“object”,“description”:“The attributes of a thing.\n”,“additionalProperties”:{“type”:“string”}}},“definitions”:{}}
2016-06-10 02:25:04,671 INFO - Creating model for api id voz2msfgjh with name ThingList
2016-06-10 02:25:04,748 INFO - Generated json-schema for model ThingList: {“type”:“array”,“items”:{"$ref":"#/definitions/Thing"},“definitions”:{“Thing”:{“type”:“object”,“required”:[“thingId”],“properties”:{“thingId”:{“type”:“string”,“description”:“The attribute name.\n”,“minLength”:1,“maxLength”:255,“pattern”:"^[a-zA-Z0-9_-]$"},“attributes”:{“type”:“object”,“description”:“The attributes of a thing.\n”,“additionalProperties”:{“type”:“string”}}}}}}
2016-06-10 02:25:05,057 INFO - Creating model for api id voz2msfgjh with name Error
2016-06-10 02:25:05,107 INFO - Generated json-schema for model Error: {“type”:“object”,“required”:[“message”],“properties”:{“message”:{“type”:“string”}},“definitions”:{}}
2016-06-10 02:25:05,722 INFO - Creating resource ‘things’ on e5yykpaxo8
2016-06-10 02:25:07,090 INFO - Creating method response for api voz2msfgjh and method GET and status 200
2016-06-10 02:25:07,483 INFO - Found reference to existing model ThingList
2016-06-10 02:25:08,081 INFO - Creating method response for api voz2msfgjh and method GET and status 500
2016-06-10 02:25:08,384 INFO - Found reference to existing model Error
2016-06-10 02:25:08,990 INFO - Creating method parameter for api voz2msfgjh and method GET with name method.request.header.Content-Type
2016-06-10 02:25:09,323 INFO - Creating method parameter for api voz2msfgjh and method GET with name method.request.header.Accept
2016-06-10 02:25:09,625 INFO - Creating integration with type AWS
2016-06-10 02:25:10,168 ERROR - Error creating API, rolling back
com.amazonaws.AmazonServiceException: Cross-account pass role is not allowed. (Service: null; Status Code: 403; Error Code: null; Request ID: 8db22f51-2eb2-11e6-8020-fff7e821da27)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1275)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:873)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:576)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:362)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:328)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:307)
at com.amazonaws.hal.client.HalClient.invoke(HalClient.java:235)
at com.amazonaws.hal.client.HalClient.putResource(HalClient.java:122)
at com.amazonaws.hal.client.HalResourceInvocationHandler.invoke(HalResourceInvocationHandler.java:125)
at com.sun.proxy.$Proxy35.putIntegration(Unknown Source)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createIntegration(ApiGatewaySdkSwaggerApiImporter.java:259)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createMethod(ApiGatewaySdkSwaggerApiImporter.java:234)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.lambda$createMethods$3(ApiGatewaySdkSwaggerApiImporter.java:173)
at java.util.HashMap$EntrySet.forEach(HashMap.java:1035)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createMethods(ApiGatewaySdkSwaggerApiImporter.java:172)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createResources(ApiGatewaySdkSwaggerApiImporter.java:164)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createApi(ApiGatewaySdkSwaggerApiImporter.java:66)
at com.amazonaws.service.apigateway.importer.impl.ApiGatewaySwaggerFileImporter.importApi(ApiGatewaySwaggerFileImporter.java:48)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.importSwagger(ApiImporterMain.java:155)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.execute(ApiImporterMain.java:145)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.main(ApiImporterMain.java:83)
2016-06-10 02:25:10,187 INFO - Deleting API voz2msfgjh
2016-06-10 02:25:10,972 ERROR - Error importing API definition
com.amazonaws.AmazonServiceException: Cross-account pass role is not allowed. (Service: null; Status Code: 403; Error Code: null; Request ID: 8db22f51-2eb2-11e6-8020-fff7e821da27)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1275)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:873)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:576)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:362)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:328)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:307)
at com.amazonaws.hal.client.HalClient.invoke(HalClient.java:235)
at com.amazonaws.hal.client.HalClient.putResource(HalClient.java:122)
at com.amazonaws.hal.client.HalResourceInvocationHandler.invoke(HalResourceInvocationHandler.java:125)
at com.sun.proxy.$Proxy35.putIntegration(Unknown Source)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createIntegration(ApiGatewaySdkSwaggerApiImporter.java:259)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createMethod(ApiGatewaySdkSwaggerApiImporter.java:234)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.lambda$createMethods$3(ApiGatewaySdkSwaggerApiImporter.java:173)
at java.util.HashMap$EntrySet.forEach(HashMap.java:1035)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createMethods(ApiGatewaySdkSwaggerApiImporter.java:172)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createResources(ApiGatewaySdkSwaggerApiImporter.java:164)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createApi(ApiGatewaySdkSwaggerApiImporter.java:66)
at com.amazonaws.service.apigateway.importer.impl.ApiGatewaySwaggerFileImporter.importApi(ApiGatewaySwaggerFileImporter.java:48)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.importSwagger(ApiImporterMain.java:155)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.execute(ApiImporterMain.java:145)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.main(ApiImporterMain.java:83)
***Configuring Dashboard on S3…

Detected as API Gateway Identifier

make_bucket: s3://dragonsense-exteliotdev/
upload: css/db.css to s3://dragonsense-exteliotdev/css/db.css
upload: css/c3.min.css to s3://dragonsense-exteliotdev/css/c3.min.css
upload: css/bootstrap-theme.css.map to s3://dragonsense-exteliotdev/css/bootstrap-theme.css.map
upload: css/bootstrap-theme.css to s3://dragonsense-exteliotdev/css/bootstrap-theme.css
upload: css/font-awesome.min.css to s3://dragonsense-exteliotdev/css/font-awesome.min.css
upload: css/font-awesome.css to s3://dragonsense-exteliotdev/css/font-awesome.css
upload: css/styles.css to s3://dragonsense-exteliotdev/css/styles.css
upload: css/bootstrap-theme.min.css to s3://dragonsense-exteliotdev/css/bootstrap-theme.min.css
upload: css/bootstrap.min.css to s3://dragonsense-exteliotdev/css/bootstrap.min.css
upload: css/bootstrap.css to s3://dragonsense-exteliotdev/css/bootstrap.css
upload: fonts/glyphicons-halflings-regular.eot to s3://dragonsense-exteliotdev/fonts/glyphicons-halflings-regular.eot
upload: fonts/fontawesome-webfont.woff to s3://dragonsense-exteliotdev/fonts/fontawesome-webfont.woff
upload: fonts/glyphicons-halflings-regular.ttf to s3://dragonsense-exteliotdev/fonts/glyphicons-halflings-regular.ttf
upload: fonts/FontAwesome.otf to s3://dragonsense-exteliotdev/fonts/FontAwesome.otf
upload: fonts/glyphicons-halflings-regular.woff to s3://dragonsense-exteliotdev/fonts/glyphicons-halflings-regular.woff
upload: gfxs/ajax-loader.gif to s3://dragonsense-exteliotdev/gfxs/ajax-loader.gif
upload: fonts/glyphicons-halflings-regular.woff2 to s3://dragonsense-exteliotdev/fonts/glyphicons-halflings-regular.woff2
upload: fonts/fontawesome-webfont.woff2 to s3://dragonsense-exteliotdev/fonts/fontawesome-webfont.woff2
upload: gfxs/dragonboard410c_logo.png to s3://dragonsense-exteliotdev/gfxs/dragonboard410c_logo.png
upload: gfxs/dragon-sense-logo@2x.png to s3://dragonsense-exteliotdev/gfxs/dragon-sense-logo@2x.png
upload: gfxs/board.png to s3://dragonsense-exteliotdev/gfxs/board.png
upload: gfxs/dragonboard410c_logo_bs.png to s3://dragonsense-exteliotdev/gfxs/dragonboard410c_logo_bs.png
upload: gfxs/dragon-connect-logo@2x.png to s3://dragonsense-exteliotdev/gfxs/dragon-connect-logo@2x.png
upload: fonts/fontawesome-webfont.ttf to s3://dragonsense-exteliotdev/fonts/fontawesome-webfont.ttf
upload: fonts/fontawesome-webfont.eot to s3://dragonsense-exteliotdev/fonts/fontawesome-webfont.eot
upload: gfxs/sprites-sensor@2x.png to s3://dragonsense-exteliotdev/gfxs/sprites-sensor@2x.png
upload: gfxs/sprites-volume@2x.png to s3://dragonsense-exteliotdev/gfxs/sprites-volume@2x.png
upload: gfxs/dragonpulse-logo@2x.png to s3://dragonsense-exteliotdev/gfxs/dragonpulse-logo@2x.png
upload: gfxs/sprites@2x.png to s3://dragonsense-exteliotdev/gfxs/sprites@2x.png
upload: gfxs/search.jpg to s3://dragonsense-exteliotdev/gfxs/search.jpg
upload: gfxs/sprites-bulb@2x.png to s3://dragonsense-exteliotdev/gfxs/sprites-bulb@2x.png
upload: gfxs/ready_to_fuel.png to s3://dragonsense-exteliotdev/gfxs/ready_to_fuel.png
upload: gfxs/volume-bg-sm.jpg to s3://dragonsense-exteliotdev/gfxs/volume-bg-sm.jpg
upload: fonts/fontawesome-webfont.svg to s3://dragonsense-exteliotdev/fonts/fontawesome-webfont.svg
upload: gfxs/volume-bg-lg.jpg to s3://dragonsense-exteliotdev/gfxs/volume-bg-lg.jpg
upload: css/bootstrap.css.map to s3://dragonsense-exteliotdev/css/bootstrap.css.map
upload: ./index.html to s3://dragonsense-exteliotdev/index.html
upload: js/config.js to s3://dragonsense-exteliotdev/js/config.js
upload: js/config_template.js to s3://dragonsense-exteliotdev/js/config_template.js
upload: gfxs/volume-bg-xs.jpg to s3://dragonsense-exteliotdev/gfxs/volume-bg-xs.jpg
upload: gfxs/volume-bg-md.jpg to s3://dragonsense-exteliotdev/gfxs/volume-bg-md.jpg
upload: js/bootstrap.min.js to s3://dragonsense-exteliotdev/js/bootstrap.min.js
upload: js/npm.js to s3://dragonsense-exteliotdev/js/npm.js
upload: js/bootstrap.js to s3://dragonsense-exteliotdev/js/bootstrap.js
upload: things/sensorgateway1/b0b4480000b8d000.json to s3://dragonsense-exteliotdev/things/sensorgateway1/b0b4480000b8d000.json
upload: js/dragonsense.js to s3://dragonsense-exteliotdev/js/dragonsense.js
upload: things/sensorgateway1/b0b4480000ba3c87.json to s3://dragonsense-exteliotdev/things/sensorgateway1/b0b4480000ba3c87.json
upload: js/jquery-1.11.1.min.js to s3://dragonsense-exteliotdev/js/jquery-1.11.1.min.js
upload: things/sensorgateway1/c0bbc892743a428b9030bb08f6417b6e.json to s3://dragonsense-exteliotdev/things/sensorgateway1/c0bbc892743a428b9030bb08f6417b6e.json
upload: things/sensorgateway1/d3ba00584f5145188f66ebec9b4488b8.json to s3://dragonsense-exteliotdev/things/sensorgateway1/d3ba00584f5145188f66ebec9b4488b8.json
upload: js/moment.min.js to s3://dragonsense-exteliotdev/js/moment.min.js
upload: things/sensorgateway1/sensors.json to s3://dragonsense-exteliotdev/things/sensorgateway1/sensors.json
upload: things/sensorgateway1/f2cedf60d681480190197162d90cc8b1.json to s3://dragonsense-exteliotdev/things/sensorgateway1/f2cedf60d681480190197162d90cc8b1.json
upload: js/c3.min.js to s3://dragonsense-exteliotdev/js/c3.min.js
upload: things/things.json to s3://dragonsense-exteliotdev/things/things.json
upload: fonts/glyphicons-halflings-regular.svg to s3://dragonsense-exteliotdev/fonts/glyphicons-halflings-regular.svg
upload: js/d3.min.js to s3://dragonsense-exteliotdev/js/d3.min.js
upload: mockup/dragonSense.png to s3://dragonsense-exteliotdev/mockup/dragonSense.png
***Configuring Bucket Policy on S3…
sed: can’t read bucket-policy-template.json: No such file or directory

A client error (MalformedPolicy) occurred when calling the PutBucketPolicy operation: Policies must be valid JSON and the first byte must be ‘{’
***Provisioning a Thing…
Unhandled rejection TypeError: Cannot read property ‘policies’ of undefined
at validatePolicy (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things/mgmt.js:164:31)
at createResources (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things/mgmt.js:176:10)
at manage (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things/mgmt.js:292:14)
at /home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things.js:11:16
at tryCatcher (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/node_modules/bluebird/js/release/util.js:16:23)
at Function.Promise.attempt.Promise.try (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/node_modules/bluebird/js/release/method.js:39:29)
at manage (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things.js:10:15)
at Command.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things.js:26:5)
at Command.listener (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/node_modules/commander/index.js:301:8)
at emitTwo (events.js:87:13)
at Command.emit (events.js:172:7)
at Command.parseArgs (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/node_modules/commander/index.js:615:12)
at Command.parse (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/node_modules/commander/index.js:458:21)
at Object.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/admin/lib/things.js:40:9)
at Module._compile (module.js:435:26)
at Object.Module._extensions…js (module.js:442:10)

Detected 7b1f522d459a4c0fadc4956df2c43613 as Thing ID

***Installing Certificates for the Device…
cp: cannot stat ‘/home/linaro/Documents/registry/7b1f522d459a4c0fadc4956df2c43613/aws.key’: No such file or directory
cp: cannot stat ‘/home/linaro/Documents/registry/7b1f522d459a4c0fadc4956df2c43613/aws.crt’: No such file or directory
***Building Client…
npm WARN optional dep failed, continuing xpc-connection@0.1.4
|
> usb@1.1.2 install /home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
> node-pre-gyp install --fallback-to-build

(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
make: Entering directory '/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/build’
CC(target) Release/obj.target/libusb/libusb/libusb/core.o
CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o
CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o
CC(target) Release/obj.target/libusb/libusb/libusb/io.o
CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o
CC(target) Release/obj.target/libusb/libusb/libusb/sync.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o
CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o
…/libusb/libusb/os/linux_udev.c:40:21: fatal error: libudev.h: No such file or directory
#include <libudev.h>
^
compilation terminated.
libusb.target.mk:123: recipe for target ‘Release/obj.target/libusb/libusb/libusb/os/linux_udev.o’ failed
make: *** [Release/obj.target/libusb/libusb/libusb/os/linux_udev.o] Error 1
make: Leaving directory '/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/build’
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.4.8-linaro-lt-qcom
gyp ERR! command “/usr/bin/nodejs” “/usr/bin/node-gyp” “build” “–fallback-to-build” “–module=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node” “–module_name=usb_bindings” "–module_path=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding"
gyp ERR! cwd /home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute ‘node-gyp build --fallback-to-build --module=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding’ (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:818:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.4.8-linaro-lt-qcom
node-pre-gyp ERR! command “/usr/bin/nodejs” “/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/a.bin/node-pre-gyp” “install” "–fallback-to-build"
node-pre-gyp ERR! cwd /home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
node-pre-gyp ERR! node -v v4.2.2
node-pre-gyp ERR! node-pre-gyp -v v0.6.24
node-pre-gyp ERR! not ok
Failed to execute ‘node-gyp build --fallback-to-build --module=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding’ (1)
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm WARN optional dep failed, continuing usb@1.1.2

> bluetooth-hci-socket@0.3.4 install /home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket
> node-gyp rebuild

(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
make: Entering directory '/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/build’
CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o
SOLINK_MODULE(target) Release/obj.target/binding.node
COPY Release/binding.node
make: Leaving directory '/home/linaro/Documents/arrow/aws-iot-dragonsense-js/DragonBoard/node_modules/noble/node_modules/bluetooth-hci-socket/build’
async@0.2.10 node_modules/async

curlrequest@0.5.7 node_modules/curlrequest

delayed@1.0.1 node_modules/delayed

noble-device@1.1.0 node_modules/noble-device

sensortag@1.2.2 node_modules/sensortag

node-schedule@0.2.9 node_modules/node-schedule
├── long-timeout@0.0.2
└── cron-parser@0.6.2

aws-iot-device-sdk@1.0.12 node_modules/aws-iot-device-sdk
├── minimist@1.2.0
├── crypto-js@3.1.6
├── websocket-stream@3.2.1 (inherits@2.0.1, xtend@4.0.1, ws@1.1.0, through2@2.0.1, duplexify@3.4.3)
└── mqtt@1.8.0 (inherits@2.0.1, reinterval@1.0.2, xtend@4.0.1, readable-stream@1.0.34, end-of-stream@1.1.0, commist@1.0.0, mqtt-connection@2.1.1, mqtt-packet@3.4.7, concat-stream@1.5.1, help-me@0.1.0)

eslint@1.4.3 node_modules/eslint
├── escape-string-regexp@1.0.5
├── path-is-absolute@1.0.0
├── object-assign@2.1.1
├── path-is-inside@1.0.1
├── globals@8.18.0
├── strip-json-comments@1.0.4
├── estraverse@4.2.0
├── user-home@1.1.1
├── xml-escape@1.0.0
├── estraverse-fb@1.3.1
├── text-table@0.2.0
├── to-double-quotes@1.0.2 (get-stdin@3.0.2)
├── espree@2.2.5
├── is-resolvable@1.0.0 (tryit@1.0.2)
├── debug@2.2.0 (ms@0.7.1)
├── to-single-quotes@1.0.4 (get-stdin@3.0.2)
├── optionator@0.5.0 (fast-levenshtein@1.0.7, type-check@0.3.2, levn@0.2.5, wordwrap@0.0.3, deep-is@0.1.3, prelude-ls@1.1.2)
├── minimatch@2.0.10 (brace-expansion@1.1.4)
├── chalk@1.1.3 (ansi-styles@2.2.1, supports-color@2.0.0, has-ansi@2.0.0, strip-ansi@3.0.1)
├── glob@5.0.15 (inherits@2.0.1, once@1.3.3, inflight@1.0.5)
├── shelljs@0.3.0
├── concat-stream@1.5.1 (inherits@2.0.1, typedarray@0.0.6, readable-stream@2.0.6)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── doctrine@0.6.4 (isarray@0.0.1, esutils@1.1.6)
├── lodash.omit@3.1.0 (lodash._pickbyarray@3.0.2, lodash.restparam@3.6.1, lodash._arraymap@3.0.0, lodash._bindcallback@3.0.1, lodash._baseflatten@3.1.4, lodash.keysin@3.0.8, lodash._pickbycallback@3.0.0, lodash._basedifference@3.0.3)
├── lodash.merge@3.3.2 (lodash.isarguments@3.0.8, lodash.istypedarray@3.0.6, lodash._getnative@3.9.1, lodash._arraycopy@3.0.0, lodash.isarray@3.0.4, lodash.keys@3.1.2, lodash._arrayeach@3.0.0, lodash.keysin@3.0.8, lodash.toplainobject@3.0.0, lodash._createassigner@3.1.1, lodash.isplainobject@3.2.0)
├── lodash.clonedeep@3.0.2 (lodash._bindcallback@3.0.1, lodash._baseclone@3.3.0)
├── is-my-json-valid@2.13.1 (jsonpointer@2.0.0, generate-function@2.0.0, xtend@4.0.1, generate-object-property@1.2.0)
├── js-yaml@3.6.1 (esprima@2.7.2, argparse@1.0.7)
├── file-entry-cache@1.2.4 (object-assign@4.1.0, flat-cache@1.0.10)
├── handlebars@4.0.5 (async@1.5.2, source-map@0.4.4, optimist@0.6.1, uglify-js@2.6.2)
├── inquirer@0.9.0 (strip-ansi@3.0.1, rx-lite@2.5.2, ansi-regex@2.0.0, through@2.3.8, figures@1.7.0, cli-width@1.1.1, run-async@0.1.0, readline2@0.1.1, lodash@3.10.1)
└── escope@3.6.0 (esrecurse@4.1.0, es6-weak-map@2.0.1, es6-map@0.1.4)

noble@1.1.0 node_modules/noble
├── bplist-parser@0.0.6
├── debug@2.2.0 (ms@0.7.1)
└── bluetooth-hci-socket@0.3.4 (nan@2.3.5)
################################################

Build Complete

################################################

Access your DragonSense API Gateway here: https://.execute-api.us-east-1.amazonaws.com/dev

Access your DragonSense Dashboard here: http://dragonsense-exteliotdev.s3-website-us-east-1.amazonaws.com

linaro@linaro-alip:~/projects/arrow/aws-iot-dragonsense-js/scripts$


#2

@henry.nguyen

Thank you for your patience. We are currently looking into this issue.

Have you seen this resource?
https://developer.qualcomm.com/project/amazon-web-services-aws-iot

Did you get this kit from Arrow?