mirror of
https://github.com/sensebox/blockly-app
synced 2025-04-05 17:30:28 +02:00
added templater and template
This commit is contained in:
parent
c8fd884071
commit
8c4211d46f
6 changed files with 986 additions and 47 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="de.sensebox.blockly" version="1.1.4" android-versionCode="10104" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<widget android-versionCode="10104" id="de.sensebox.blockly" version="1.1.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<name>Blockly for senseBox</name>
|
||||
<description>graphical programming & OTA upload for senseBox MCU</description>
|
||||
<author email="kontakt@reedu.de" href="https://reedu.de/">re:edu</author>
|
||||
|
|
584
package-lock.json
generated
584
package-lock.json
generated
|
@ -1082,8 +1082,7 @@
|
|||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
||||
"dev": true
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
|
||||
},
|
||||
"accepts": {
|
||||
"version": "1.3.5",
|
||||
|
@ -1153,6 +1152,11 @@
|
|||
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
|
||||
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
|
@ -1398,8 +1402,7 @@
|
|||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"base": {
|
||||
"version": "0.11.2",
|
||||
|
@ -1464,8 +1467,7 @@
|
|||
"base64-js": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
|
||||
"integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
|
@ -1476,6 +1478,11 @@
|
|||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
},
|
||||
"big-integer": {
|
||||
"version": "1.6.48",
|
||||
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
|
||||
"integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w=="
|
||||
},
|
||||
"big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
|
||||
|
@ -1556,11 +1563,26 @@
|
|||
"type-is": "~1.6.16"
|
||||
}
|
||||
},
|
||||
"bplist-creator": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
|
||||
"integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
|
||||
"requires": {
|
||||
"stream-buffers": "~2.2.0"
|
||||
}
|
||||
},
|
||||
"bplist-parser": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
|
||||
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
|
||||
"requires": {
|
||||
"big-integer": "^1.6.7"
|
||||
}
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -1925,8 +1947,7 @@
|
|||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"dev": true
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"console-browserify": {
|
||||
"version": "1.1.0",
|
||||
|
@ -2849,6 +2870,93 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"cordova-common": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
|
||||
"integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
|
||||
"requires": {
|
||||
"ansi": "^0.3.1",
|
||||
"bplist-parser": "^0.1.0",
|
||||
"cross-spawn": "^6.0.5",
|
||||
"elementtree": "0.1.7",
|
||||
"endent": "^1.1.1",
|
||||
"fs-extra": "^8.0.0",
|
||||
"glob": "^7.1.2",
|
||||
"minimatch": "^3.0.0",
|
||||
"plist": "^3.0.1",
|
||||
"q": "^1.4.1",
|
||||
"strip-bom": "^3.0.0",
|
||||
"underscore": "^1.8.3",
|
||||
"which": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"cross-spawn": {
|
||||
"version": "6.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||
"requires": {
|
||||
"nice-try": "^1.0.4",
|
||||
"path-key": "^2.0.1",
|
||||
"semver": "^5.5.0",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
|
||||
"integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
|
||||
},
|
||||
"strip-bom": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
||||
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
|
||||
}
|
||||
}
|
||||
},
|
||||
"cordova-ios": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-5.1.1.tgz",
|
||||
"integrity": "sha512-asZMCj44JMe/PMrDIRC97GStPCH+GpaMNVe8hdmu8WWXJzMzRNRRJ339YYU89jitWf9ZKMdyBgrnSnQi5bJ/ZQ==",
|
||||
"requires": {
|
||||
"cordova-common": "^3.1.0",
|
||||
"ios-sim": "^8.0.1",
|
||||
"nopt": "^4.0.1",
|
||||
"plist": "^3.0.1",
|
||||
"q": "^1.5.1",
|
||||
"semver": "^6.3.0",
|
||||
"shelljs": "^0.5.3",
|
||||
"unorm": "^1.4.1",
|
||||
"xcode": "^2.0.0",
|
||||
"xml-escape": "^1.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"nopt": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
|
||||
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
|
||||
"requires": {
|
||||
"abbrev": "1",
|
||||
"osenv": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"cordova-plugin-device": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.2.tgz",
|
||||
|
@ -3013,6 +3121,32 @@
|
|||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
|
||||
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
|
||||
},
|
||||
"dedent": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
|
||||
"integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
|
||||
},
|
||||
"deep-equal": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
|
||||
"integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
|
||||
"requires": {
|
||||
"is-arguments": "^1.0.4",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-regex": "^1.0.4",
|
||||
"object-is": "^1.0.1",
|
||||
"object-keys": "^1.1.1",
|
||||
"regexp.prototype.flags": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"define-properties": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
||||
"requires": {
|
||||
"object-keys": "^1.0.12"
|
||||
}
|
||||
},
|
||||
"define-property": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
|
||||
|
@ -3060,6 +3194,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"defined": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
|
||||
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
|
@ -3165,6 +3304,14 @@
|
|||
"dotenv-defaults": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"dotignore": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz",
|
||||
"integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==",
|
||||
"requires": {
|
||||
"minimatch": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
|
@ -3187,6 +3334,21 @@
|
|||
"integrity": "sha512-ALxUkgrnQ6zg2SN9zHnwDcDRy577haGT9dqsbq8lfeAgmEUPC+58SrrU8vIHpGRf7SEyyBYy4mlfonDnoKxONw==",
|
||||
"dev": true
|
||||
},
|
||||
"elementtree": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
|
||||
"integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
|
||||
"requires": {
|
||||
"sax": "1.1.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"sax": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
|
||||
"integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
|
||||
}
|
||||
}
|
||||
},
|
||||
"elliptic": {
|
||||
"version": "6.4.1",
|
||||
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
|
||||
|
@ -3214,6 +3376,16 @@
|
|||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
|
||||
"dev": true
|
||||
},
|
||||
"endent": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/endent/-/endent-1.4.0.tgz",
|
||||
"integrity": "sha512-V9cYHc4IcnE9hYCuZat9YVUxIsK3gLB3gEUnr07rqElI+3TB+yC/wmMTNZ7L4xDmDFwg4Lypl5Gc3i+23komhA==",
|
||||
"requires": {
|
||||
"dedent": "^0.7.0",
|
||||
"fast-json-parse": "^1.0.3",
|
||||
"objectorarray": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"enhanced-resolve": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
|
||||
|
@ -3254,6 +3426,34 @@
|
|||
"is-arrayish": "^0.2.1"
|
||||
}
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.17.4",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
|
||||
"integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.1.5",
|
||||
"is-regex": "^1.0.5",
|
||||
"object-inspect": "^1.7.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"string.prototype.trimleft": "^2.1.1",
|
||||
"string.prototype.trimright": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
||||
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
|
||||
"requires": {
|
||||
"is-callable": "^1.1.4",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-symbol": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"es5-ext": {
|
||||
"version": "0.10.49",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz",
|
||||
|
@ -3541,6 +3741,11 @@
|
|||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
|
||||
"dev": true
|
||||
},
|
||||
"fast-json-parse": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
|
||||
"integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw=="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
|
@ -3598,6 +3803,14 @@
|
|||
"pinkie-promise": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"for-each": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
|
||||
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
|
||||
"requires": {
|
||||
"is-callable": "^1.1.3"
|
||||
}
|
||||
},
|
||||
"for-in": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||
|
@ -3662,8 +3875,7 @@
|
|||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "1.2.4",
|
||||
|
@ -4158,6 +4370,11 @@
|
|||
"rimraf": "2"
|
||||
}
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||
},
|
||||
"gauge": {
|
||||
"version": "2.7.4",
|
||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||
|
@ -4219,7 +4436,6 @@
|
|||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
|
@ -4278,6 +4494,14 @@
|
|||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
|
@ -4293,6 +4517,11 @@
|
|||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
"has-symbols": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
|
||||
"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
|
||||
},
|
||||
"has-unicode": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
|
||||
|
@ -4470,7 +4699,6 @@
|
|||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
|
@ -4503,6 +4731,32 @@
|
|||
"resolved": "http://registry.npmjs.org/ionicons/-/ionicons-3.0.0.tgz",
|
||||
"integrity": "sha1-QLja9P16MRUL0AIWD2ZJbiKpjDw="
|
||||
},
|
||||
"ios-sim": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.2.tgz",
|
||||
"integrity": "sha512-P7nEG771bfd+JoMRjnis1gpZOkjTUUxu+4Ek1Z+eoaEEoT9byllU9pxfQ8Df7hL3gSkIQxNwTSLhos2I8tWUQA==",
|
||||
"requires": {
|
||||
"bplist-parser": "^0.0.6",
|
||||
"nopt": "1.0.9",
|
||||
"plist": "^3.0.1",
|
||||
"simctl": "^2"
|
||||
},
|
||||
"dependencies": {
|
||||
"bplist-parser": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
|
||||
"integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk="
|
||||
},
|
||||
"nopt": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
|
||||
"integrity": "sha1-O8DXy6e/sNWmdtvtfA6+SKT9RU4=",
|
||||
"requires": {
|
||||
"abbrev": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
||||
|
@ -4517,6 +4771,11 @@
|
|||
"kind-of": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"is-arguments": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
|
||||
"integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
|
||||
},
|
||||
"is-arrayish": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
|
||||
|
@ -4536,6 +4795,11 @@
|
|||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||
},
|
||||
"is-callable": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
|
||||
"integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
|
||||
},
|
||||
"is-data-descriptor": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
||||
|
@ -4544,6 +4808,11 @@
|
|||
"kind-of": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"is-date-object": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
|
||||
"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
|
||||
},
|
||||
"is-descriptor": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
||||
|
@ -4649,12 +4918,28 @@
|
|||
"resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
|
||||
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
|
||||
"integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
|
||||
"requires": {
|
||||
"has": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"is-stream": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
|
||||
"dev": true
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
|
||||
"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
|
||||
"requires": {
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
|
@ -4680,8 +4965,7 @@
|
|||
"isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
||||
"dev": true
|
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
||||
},
|
||||
"isobject": {
|
||||
"version": "2.1.0",
|
||||
|
@ -4762,7 +5046,6 @@
|
|||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
|
@ -5108,7 +5391,6 @@
|
|||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -5215,6 +5497,11 @@
|
|||
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
|
||||
"dev": true
|
||||
},
|
||||
"nice-try": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
|
||||
},
|
||||
"node-gyp": {
|
||||
"version": "3.8.0",
|
||||
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
|
||||
|
@ -5446,6 +5733,21 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
|
||||
"integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
|
||||
},
|
||||
"object-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz",
|
||||
"integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ=="
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
|
||||
},
|
||||
"object-visit": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
|
||||
|
@ -5461,6 +5763,17 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"object.assign": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
|
||||
"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"function-bind": "^1.1.1",
|
||||
"has-symbols": "^1.0.0",
|
||||
"object-keys": "^1.0.11"
|
||||
}
|
||||
},
|
||||
"object.omit": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
|
||||
|
@ -5485,6 +5798,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"objectorarray": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz",
|
||||
"integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==",
|
||||
"requires": {
|
||||
"tape": "^4.8.0"
|
||||
}
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
|
@ -5498,7 +5819,6 @@
|
|||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -5512,8 +5832,7 @@
|
|||
"os-homedir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
|
||||
"dev": true
|
||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
|
||||
},
|
||||
"os-locale": {
|
||||
"version": "1.4.0",
|
||||
|
@ -5537,14 +5856,12 @@
|
|||
"os-tmpdir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
||||
"dev": true
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
|
||||
},
|
||||
"osenv": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
|
||||
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"os-homedir": "^1.0.0",
|
||||
"os-tmpdir": "^1.0.0"
|
||||
|
@ -5660,14 +5977,12 @@
|
|||
"path-key": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
|
||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
|
||||
"dev": true
|
||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
|
||||
},
|
||||
"path-parse": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "1.7.0",
|
||||
|
@ -5735,6 +6050,16 @@
|
|||
"pinkie": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"plist": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
|
||||
"integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
|
||||
"requires": {
|
||||
"base64-js": "^1.2.3",
|
||||
"xmlbuilder": "^9.0.7",
|
||||
"xmldom": "0.1.x"
|
||||
}
|
||||
},
|
||||
"posix-character-classes": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
||||
|
@ -5835,6 +6160,11 @@
|
|||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
"dev": true
|
||||
},
|
||||
"q": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
||||
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
|
@ -6239,6 +6569,15 @@
|
|||
"safe-regex": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"regexp.prototype.flags": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
|
||||
"integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.0-next.1"
|
||||
}
|
||||
},
|
||||
"remove-trailing-separator": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
|
||||
|
@ -6317,6 +6656,14 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
|
||||
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
|
||||
},
|
||||
"resumer": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
|
||||
"integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
|
||||
"requires": {
|
||||
"through": "~2.3.4"
|
||||
}
|
||||
},
|
||||
"ret": {
|
||||
"version": "0.1.15",
|
||||
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
||||
|
@ -6748,8 +7095,7 @@
|
|||
"semver": {
|
||||
"version": "5.7.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
|
||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="
|
||||
},
|
||||
"send": {
|
||||
"version": "0.16.2",
|
||||
|
@ -6842,7 +7188,6 @@
|
|||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"shebang-regex": "^1.0.0"
|
||||
}
|
||||
|
@ -6850,8 +7195,12 @@
|
|||
"shebang-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
|
||||
"dev": true
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
|
||||
},
|
||||
"shelljs": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
|
||||
"integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.2",
|
||||
|
@ -6859,6 +7208,42 @@
|
|||
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
|
||||
"dev": true
|
||||
},
|
||||
"simctl": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.0.tgz",
|
||||
"integrity": "sha512-5rB7rN4N3b0z0nFdy9eczVssXqrv2aAgdVRksPVqVoiDtvXmfzNvebp3EMdId2sAUzXIflarQlx4P0hjVQEzKQ==",
|
||||
"requires": {
|
||||
"shelljs": "^0.2.6",
|
||||
"tail": "^0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"shelljs": {
|
||||
"version": "0.2.6",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
|
||||
"integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g="
|
||||
}
|
||||
}
|
||||
},
|
||||
"simple-plist": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.1.0.tgz",
|
||||
"integrity": "sha512-2i5Tc0BYAqppM7jVzmNrI+aEUntPolIq4fDgji6WuNNn1D/qYdn2KwoLhZdzQkE04lu9L5tUoeJsjuJAvd+lFg==",
|
||||
"requires": {
|
||||
"bplist-creator": "0.0.8",
|
||||
"bplist-parser": "0.2.0",
|
||||
"plist": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"bplist-parser": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
|
||||
"integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
|
||||
"requires": {
|
||||
"big-integer": "^1.6.44"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"snapdragon": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
|
||||
|
@ -7107,6 +7492,11 @@
|
|||
"readable-stream": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"stream-buffers": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
|
||||
"integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
|
||||
},
|
||||
"stream-http": {
|
||||
"version": "2.8.3",
|
||||
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
|
||||
|
@ -7137,6 +7527,34 @@
|
|||
"strip-ansi": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"string.prototype.trim": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz",
|
||||
"integrity": "sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.0-next.1",
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimleft": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
|
||||
"integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimright": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
|
||||
"integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
|
@ -7201,12 +7619,67 @@
|
|||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
|
||||
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
|
||||
},
|
||||
"tail": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
|
||||
"integrity": "sha1-0p3nJ1DMmdseBTr/E8NZ7PtxMAI="
|
||||
},
|
||||
"tapable": {
|
||||
"version": "0.2.9",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz",
|
||||
"integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==",
|
||||
"dev": true
|
||||
},
|
||||
"tape": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/tape/-/tape-4.13.0.tgz",
|
||||
"integrity": "sha512-J/hvA+GJnuWJ0Sj8Z0dmu3JgMNU+MmusvkCT7+SN4/2TklW18FNCp/UuHIEhPZwHfy4sXfKYgC7kypKg4umbOw==",
|
||||
"requires": {
|
||||
"deep-equal": "~1.1.1",
|
||||
"defined": "~1.0.0",
|
||||
"dotignore": "~0.1.2",
|
||||
"for-each": "~0.3.3",
|
||||
"function-bind": "~1.1.1",
|
||||
"glob": "~7.1.6",
|
||||
"has": "~1.0.3",
|
||||
"inherits": "~2.0.4",
|
||||
"is-regex": "~1.0.5",
|
||||
"minimist": "~1.2.0",
|
||||
"object-inspect": "~1.7.0",
|
||||
"resolve": "~1.14.2",
|
||||
"resumer": "~0.0.0",
|
||||
"string.prototype.trim": "~1.2.1",
|
||||
"through": "~2.3.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.14.2",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz",
|
||||
"integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
|
||||
|
@ -7218,6 +7691,11 @@
|
|||
"inherits": "2"
|
||||
}
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"timers-browserify": {
|
||||
"version": "2.0.10",
|
||||
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
|
||||
|
@ -7534,6 +8012,11 @@
|
|||
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
|
||||
"dev": true
|
||||
},
|
||||
"underscore": {
|
||||
"version": "1.9.2",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz",
|
||||
"integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ=="
|
||||
},
|
||||
"union-value": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
|
||||
|
@ -7569,8 +8052,12 @@
|
|||
"universalify": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
|
||||
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
|
||||
},
|
||||
"unorm": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
|
||||
"integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA=="
|
||||
},
|
||||
"unpipe": {
|
||||
"version": "1.0.0",
|
||||
|
@ -7685,8 +8172,7 @@
|
|||
"uuid": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
},
|
||||
"validate-npm-package-license": {
|
||||
"version": "3.0.4",
|
||||
|
@ -8880,7 +9366,6 @@
|
|||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"isexe": "^2.0.0"
|
||||
}
|
||||
|
@ -8939,8 +9424,7 @@
|
|||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||
"dev": true
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"ws": {
|
||||
"version": "3.3.2",
|
||||
|
@ -8953,6 +9437,20 @@
|
|||
"ultron": "~1.1.0"
|
||||
}
|
||||
},
|
||||
"xcode": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz",
|
||||
"integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==",
|
||||
"requires": {
|
||||
"simple-plist": "^1.0.0",
|
||||
"uuid": "^3.3.2"
|
||||
}
|
||||
},
|
||||
"xml-escape": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz",
|
||||
"integrity": "sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ="
|
||||
},
|
||||
"xml2js": {
|
||||
"version": "0.4.19",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
|
||||
|
@ -8966,8 +9464,12 @@
|
|||
"xmlbuilder": {
|
||||
"version": "9.0.7",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
|
||||
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
|
||||
"dev": true
|
||||
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
|
||||
},
|
||||
"xmldom": {
|
||||
"version": "0.1.31",
|
||||
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
|
||||
"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
"@ngx-translate/http-loader": "^2.0.1",
|
||||
"cordova-android": "7.1.1",
|
||||
"cordova-browser": "5.0.4",
|
||||
"cordova-ios": "5.1.1",
|
||||
"cordova-plugin-device": "^2.0.2",
|
||||
"cordova-plugin-ionic-keyboard": "^2.1.3",
|
||||
"cordova-plugin-ionic-webview": "^2.4.1",
|
||||
|
@ -70,7 +71,8 @@
|
|||
},
|
||||
"platforms": [
|
||||
"android",
|
||||
"browser"
|
||||
"browser",
|
||||
"ios"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
390
src/assets/templates/homev2Wifi.tpl
Normal file
390
src/assets/templates/homev2Wifi.tpl
Normal file
|
@ -0,0 +1,390 @@
|
|||
/*
|
||||
senseBox:home - Citizen Sensingplatform
|
||||
Version: wifiv2_0.3
|
||||
Date: 2019-12-06
|
||||
Homepage: https://www.sensebox.de https://www.opensensemap.org
|
||||
Author: Reedu GmbH & Co. KG
|
||||
Note: Sketch for senseBox:home WiFi MCU Edition
|
||||
Model: homeV2Wifi
|
||||
Email: support@sensebox.de
|
||||
Code is in the public domain.
|
||||
https://github.com/sensebox/node-sketch-templater
|
||||
*/
|
||||
|
||||
#include <WiFi101.h>
|
||||
#include <Wire.h>
|
||||
#include <SPI.h>
|
||||
#include <senseBoxIO.h>
|
||||
|
||||
#include <Adafruit_Sensor.h>
|
||||
#include <Adafruit_HDC1000.h>
|
||||
#include <Adafruit_BMP280.h>
|
||||
#include <Adafruit_BME680.h>
|
||||
#include <Makerblog_TSL45315.h>
|
||||
#include <VEML6070.h>
|
||||
|
||||
// Uncomment the next line to get debugging messages printed on the Serial port
|
||||
// Do not leave this enabled for long time use
|
||||
// #define ENABLE_DEBUG
|
||||
|
||||
#ifdef ENABLE_DEBUG
|
||||
#define DEBUG(str) Serial.println(str)
|
||||
#define DEBUG_ARGS(str,str1) Serial.println(str,str1)
|
||||
#define DEBUG2(str) Serial.print(str)
|
||||
#define DEBUG_WRITE(c) Serial.write(c)
|
||||
#else
|
||||
#define DEBUG(str)
|
||||
#define DEBUG_ARGS(str,str1)
|
||||
#define DEBUG2(str)
|
||||
#define DEBUG_WRITE(c)
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* ------------------------------Configuration------------------------------ */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
// Wifi Credentials
|
||||
const char *ssid = "@{SSID}@"; // your network SSID (name)
|
||||
const char *pass = "@{PASSWORD}@"; // your network password
|
||||
|
||||
// Interval of measuring and submitting values in seconds
|
||||
const unsigned int postingInterval = 60e3;
|
||||
|
||||
// address of the server to send to
|
||||
const char server[] PROGMEM = "@{INGRESS_DOMAIN}@";
|
||||
|
||||
// senseBox ID
|
||||
const char SENSEBOX_ID[] PROGMEM = "@{SENSEBOX_ID}@";
|
||||
|
||||
// Number of sensors
|
||||
// Change this number if you add or remove sensors
|
||||
// do not forget to remove or add the sensors on opensensemap.org
|
||||
static const uint8_t NUM_SENSORS = @{NUM_SENSORS}@;
|
||||
|
||||
// Connected sensors
|
||||
@{SENSORS|toDefineWithSuffixPrefixAndKey~,_CONNECTED,sensorType}@
|
||||
|
||||
// Sensor SENSOR_IDs
|
||||
// Temperatur
|
||||
const char TEMPERSENSOR_ID[] PROGMEM = "@{TEMPERSENSOR_ID}@";
|
||||
// rel. Luftfeuchte
|
||||
const char RELLUFSENSOR_ID[] PROGMEM = "@{RELLUFSENSOR_ID}@";
|
||||
// Beleuchtungsstärke
|
||||
const char BELEUCSENSOR_ID[] PROGMEM = "@{BELEUCSENSOR_ID}@";
|
||||
// UV-Intensität
|
||||
const char UVINTESENSOR_ID[] PROGMEM = "@{UVINTESENSOR_ID}@";
|
||||
// Luftdruck
|
||||
const char LUFTDRSENSOR_ID[] PROGMEM = "@{LUFTDRSENSOR_ID}@";
|
||||
// Regenmenge
|
||||
const char REGENMSENSOR_ID[] PROGMEM = "@{REGENMSENSOR_ID}@";
|
||||
// PM10
|
||||
const char PM10SENSOR_ID[] PROGMEM = "@{PM10SENSOR_ID}@";
|
||||
// PM2.5
|
||||
const char PM25SENSOR_ID[] PROGMEM = "@{PM25SENSOR_ID}@";
|
||||
WiFiSSLClient client;
|
||||
|
||||
//Load sensors / instances
|
||||
#ifdef HDC1080_CONNECTED
|
||||
Adafruit_HDC1000 HDC = Adafruit_HDC1000();
|
||||
#endif
|
||||
#ifdef BMP280_CONNECTED
|
||||
Adafruit_BMP280 BMP;
|
||||
#endif
|
||||
#ifdef TSL45315_CONNECTED
|
||||
Makerblog_TSL45315 TSL = Makerblog_TSL45315(TSL45315_TIME_M4);
|
||||
#endif
|
||||
#ifdef VEML6070_CONNECTED
|
||||
VEML6070 VEML;
|
||||
#endif
|
||||
#ifdef BME680_CONNECTED
|
||||
Adafruit_BME680 BME;
|
||||
#endif
|
||||
|
||||
typedef struct measurement {
|
||||
const char *sensorId;
|
||||
float value;
|
||||
} measurement;
|
||||
|
||||
measurement measurements[NUM_SENSORS];
|
||||
uint8_t num_measurements = 0;
|
||||
|
||||
// buffer for sprintf
|
||||
char buffer[750];
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* --------------------------End of Configuration--------------------------- */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
void addMeasurement(const char *sensorId, float value) {
|
||||
measurements[num_measurements].sensorId = sensorId;
|
||||
measurements[num_measurements].value = value;
|
||||
num_measurements++;
|
||||
}
|
||||
|
||||
void writeMeasurementsToClient() {
|
||||
// iterate throug the measurements array
|
||||
for (uint8_t i = 0; i < num_measurements; i++) {
|
||||
sprintf_P(buffer, PSTR("%s,%9.2f\n"), measurements[i].sensorId,
|
||||
measurements[i].value);
|
||||
// transmit buffer to client
|
||||
client.print(buffer);
|
||||
DEBUG2(buffer);
|
||||
}
|
||||
|
||||
// reset num_measurements
|
||||
num_measurements = 0;
|
||||
}
|
||||
|
||||
void submitValues() {
|
||||
if (WiFi.status() != WL_CONNECTED) {
|
||||
WiFi.disconnect();
|
||||
delay(1000); // wait 1s
|
||||
WiFi.begin(ssid, pass);
|
||||
delay(5000); // wait 5s
|
||||
}
|
||||
// close any connection before send a new request.
|
||||
// This will free the socket on the WiFi shield
|
||||
if (client.connected()) {
|
||||
client.stop();
|
||||
delay(1000);
|
||||
}
|
||||
bool connected = false;
|
||||
char _server[strlen_P(server)];
|
||||
strcpy_P(_server, server);
|
||||
for (uint8_t timeout = 2; timeout != 0; timeout--) {
|
||||
Serial.println(F("connecting..."));
|
||||
connected = client.connect(_server, 443);
|
||||
if (connected == true) {
|
||||
DEBUG(F("Connection successful, transferring..."));
|
||||
// construct the HTTP POST request:
|
||||
sprintf_P(buffer,
|
||||
PSTR("POST /boxes/%s/data HTTP/1.1\nHost: %s\nContent-Type: "
|
||||
"text/csv\nConnection: close\nContent-Length: %i\n\n"),
|
||||
SENSEBOX_ID, server, num_measurements * 35);
|
||||
DEBUG(buffer);
|
||||
// send the HTTP POST request:
|
||||
client.print(buffer);
|
||||
// send measurements
|
||||
writeMeasurementsToClient();
|
||||
// send empty line to end the request
|
||||
client.println();
|
||||
uint16_t timeout = 0;
|
||||
// allow the response to be computed
|
||||
while (timeout <= 5000) {
|
||||
delay(10);
|
||||
timeout = timeout + 10;
|
||||
if (client.available()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (client.available()) {
|
||||
char c = client.read();
|
||||
DEBUG_WRITE(c);
|
||||
// if the server's disconnected, stop the client:
|
||||
if (!client.connected()) {
|
||||
DEBUG();
|
||||
DEBUG(F("disconnecting from server."));
|
||||
client.stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
DEBUG(F("done!"));
|
||||
// reset number of measurements
|
||||
num_measurements = 0;
|
||||
break;
|
||||
}
|
||||
delay(1000);
|
||||
}
|
||||
if (connected == false) {
|
||||
// Reset durchführen
|
||||
DEBUG(F("connection failed. Restarting System."));
|
||||
delay(5000);
|
||||
noInterrupts();
|
||||
NVIC_SystemReset();
|
||||
while (1)
|
||||
;
|
||||
}
|
||||
}
|
||||
void checkI2CSensors() {
|
||||
byte error;
|
||||
int nDevices = 0;
|
||||
byte sensorAddr[] = {41, 56, 57, 64, 118};
|
||||
DEBUG(F("\nScanning..."));
|
||||
for (int i = 0; i < sizeof(sensorAddr); i++) {
|
||||
Wire.beginTransmission(sensorAddr[i]);
|
||||
error = Wire.endTransmission();
|
||||
if (error == 0) {
|
||||
nDevices++;
|
||||
switch (sensorAddr[i])
|
||||
{
|
||||
case 0x29:
|
||||
DEBUG(F("TSL45315 found."));
|
||||
break;
|
||||
case 0x38: // &0x39
|
||||
DEBUG(F("VEML6070 found."));
|
||||
break;
|
||||
case 0x40:
|
||||
DEBUG(F("HDC1080 found."));
|
||||
break;
|
||||
case 0x76:
|
||||
#ifdef BMP280_CONNECTED
|
||||
DEBUG("BMP280 found.");
|
||||
#else
|
||||
DEBUG("BME680 found.");
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (error == 4)
|
||||
{
|
||||
DEBUG2(F("Unknown error at address 0x"));
|
||||
if (sensorAddr[i] < 16)
|
||||
DEBUG2(F("0"));
|
||||
DEBUG_ARGS(sensorAddr[i], HEX);
|
||||
}
|
||||
}
|
||||
if (nDevices == 0) {
|
||||
DEBUG(F("No I2C devices found.\nCheck cable connections and press Reset."));
|
||||
while(true);
|
||||
} else {
|
||||
DEBUG2(nDevices);
|
||||
DEBUG(F(" sensors found.\n"));
|
||||
}
|
||||
}
|
||||
void setup() {
|
||||
// Initialize serial and wait for port to open:
|
||||
#ifdef ENABLE_DEBUG
|
||||
Serial.begin(9600);
|
||||
#endif
|
||||
delay(5000);
|
||||
DEBUG2(F("xbee1 spi enable..."));
|
||||
senseBoxIO.SPIselectXB1(); // select XBEE1 spi
|
||||
DEBUG(F("done"));
|
||||
senseBoxIO.powerXB1(false);
|
||||
delay(200);
|
||||
DEBUG2(F("xbee1 power on..."));
|
||||
senseBoxIO.powerXB1(true); // power ON XBEE1
|
||||
DEBUG(F("done"));
|
||||
senseBoxIO.powerI2C(false);
|
||||
delay(200);
|
||||
senseBoxIO.powerI2C(true);
|
||||
// Check WiFi Bee status
|
||||
if (WiFi.status() == WL_NO_SHIELD) {
|
||||
DEBUG(F("WiFi shield not present"));
|
||||
// don't continue:
|
||||
while (true);
|
||||
}
|
||||
uint8_t status = WL_IDLE_STATUS;
|
||||
// attempt to connect to Wifi network:
|
||||
while (status != WL_CONNECTED) {
|
||||
DEBUG2(F("Attempting to connect to SSID: "));
|
||||
DEBUG(ssid);
|
||||
// Connect to WPA/WPA2 network. Change this line if using open or WEP
|
||||
// network
|
||||
status = WiFi.begin(ssid, pass);
|
||||
// wait 10 seconds for connection:
|
||||
DEBUG2(F("Waiting 10 seconds for connection..."));
|
||||
delay(10000);
|
||||
DEBUG(F("done."));
|
||||
}
|
||||
|
||||
|
||||
#ifdef ENABLE_DEBUG
|
||||
// init I2C/wire library
|
||||
Wire.begin();
|
||||
checkI2CSensors();
|
||||
#endif
|
||||
|
||||
// Sensor initialization
|
||||
DEBUG(F("Initializing sensors..."));
|
||||
#ifdef HDC1080_CONNECTED
|
||||
HDC.begin();
|
||||
#endif
|
||||
#ifdef BMP280_CONNECTED
|
||||
BMP.begin(0x76);
|
||||
#endif
|
||||
#ifdef VEML6070_CONNECTED
|
||||
VEML.begin();
|
||||
delay(500);
|
||||
#endif
|
||||
#ifdef TSL45315_CONNECTED
|
||||
TSL.begin();
|
||||
#endif
|
||||
#ifdef BME680_CONNECTED
|
||||
BME.begin(0x76);
|
||||
BME.setTemperatureOversampling(BME680_OS_8X);
|
||||
BME.setHumidityOversampling(BME680_OS_2X);
|
||||
BME.setPressureOversampling(BME680_OS_4X);
|
||||
BME.setIIRFilterSize(BME680_FILTER_SIZE_3);
|
||||
#endif
|
||||
DEBUG(F("Initializing sensors done!"));
|
||||
DEBUG(F("Starting loop in 3 seconds."));
|
||||
delay(3000);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
DEBUG(F("Starting new measurement..."));
|
||||
// capture loop start timestamp
|
||||
unsigned long start = millis();
|
||||
//-----Temperature-----//
|
||||
//-----Humidity-----//
|
||||
#ifdef HDC1080_CONNECTED
|
||||
addMeasurement(TEMPERSENSOR_ID, HDC.readTemperature());
|
||||
delay(200);
|
||||
addMeasurement(RELLUFSENSOR_ID, HDC.readHumidity());
|
||||
#endif
|
||||
//-----Pressure-----//
|
||||
#ifdef BMP280_CONNECTED
|
||||
float pressure;
|
||||
pressure = BMP.readPressure()/100;
|
||||
addMeasurement(LUFTDRSENSOR_ID, pressure);
|
||||
#endif
|
||||
//-----Lux-----//
|
||||
#ifdef TSL45315_CONNECTED
|
||||
addMeasurement(BELEUCSENSOR_ID, TSL.readLux());
|
||||
#endif
|
||||
//-----UV intensity-----//
|
||||
#ifdef VEML6070_CONNECTED
|
||||
addMeasurement(UVINTESENSOR_ID, VEML.getUV());
|
||||
#endif
|
||||
//-----Soil Temperature & Moisture-----//
|
||||
#ifdef SMT50_CONNECTED
|
||||
float voltage = analogRead(SOILTEMPPIN) * (3.3 / 1024.0);
|
||||
float soilTemperature = (voltage - 0.5) * 100;
|
||||
addMeasurement(BODENTSENSOR_ID, soilTemperature);
|
||||
voltage = analogRead(SOILMOISPIN) * (3.3 / 1024.0);
|
||||
float soilMoisture = (voltage * 50) / 3;
|
||||
addMeasurement(BODENFSENSOR_ID, soilMoisture);
|
||||
#endif
|
||||
//-----dB(A) Sound Level-----//
|
||||
#ifdef SOUNDLEVELMETER_CONNECTED
|
||||
float v = analogRead(SOUNDMETERPIN) * (3.3 / 1024.0);
|
||||
float decibel = v * 50;
|
||||
addMeasurement(LAUTSTSENSOR_ID, decibel);
|
||||
#endif
|
||||
//-----BME680-----//
|
||||
#ifdef BME680_CONNECTED
|
||||
BME.setGasHeater(0, 0);
|
||||
if( BME.performReading()) {
|
||||
addMeasurement(LUFTTESENSOR_ID, BME.temperature-1);
|
||||
addMeasurement(LUFTFESENSOR_ID, BME.humidity);
|
||||
addMeasurement(ATMLUFSENSOR_ID, BME.pressure/100);
|
||||
}
|
||||
BME.setGasHeater(320, 150); // 320*C for 150 ms
|
||||
if( BME.performReading()) {
|
||||
addMeasurement(VOCSENSOR_ID, BME.gas_resistance / 1000.0);
|
||||
}
|
||||
#endif
|
||||
|
||||
DEBUG(F("Submit values"));
|
||||
submitValues();
|
||||
|
||||
// schedule next round of measurements
|
||||
for (;;) {
|
||||
unsigned long now = millis();
|
||||
unsigned long elapsed = now - start;
|
||||
if (elapsed >= postingInterval)
|
||||
return;
|
||||
}
|
||||
}
|
|
@ -34,6 +34,10 @@
|
|||
<ion-card-title>{{ 'CONFIG.IDS' | translate }}</ion-card-title>
|
||||
</ion-card-header>
|
||||
<ion-card-content>
|
||||
<ion-item>
|
||||
<ion-label>senseBoxID</ion-label>
|
||||
<ion-input [(ngModel)]="senseboxid" placeholder="5c4f75e83580950019240779"></ion-input>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Temperature</ion-label>
|
||||
<ion-input [(ngModel)]="temp" placeholder="5c4f75e83580950019240779"></ion-input>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { Component, } from '@angular/core';
|
||||
import { IonicPage, NavController, NavParams } from 'ionic-angular';
|
||||
import { OtaWizardPage } from '../ota-wizard/ota-wizard';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
/**
|
||||
* Generated class for the AboutPage page.
|
||||
*
|
||||
|
@ -20,21 +21,61 @@ export class ConfigurationPage {
|
|||
uv : string;
|
||||
pm10 : string;
|
||||
pm25 : string;
|
||||
constructor(public navCtrl: NavController, public navParams: NavParams) {
|
||||
ssid:string;
|
||||
pw:string;
|
||||
pressure:string;
|
||||
rain:string;
|
||||
senseboxid:string;
|
||||
constructor(public navCtrl: NavController, public navParams: NavParams,private http:HttpClient) {
|
||||
}
|
||||
|
||||
async launchOtaWizard () {
|
||||
|
||||
}
|
||||
applyTemplate(template, properties) {
|
||||
var returnValue = "";
|
||||
|
||||
var templateFragments = template.split("@{");
|
||||
returnValue += templateFragments[0];
|
||||
|
||||
for (var i = 1; i < templateFragments.length; i++) {
|
||||
var fragmentSections = templateFragments[i].split("}@", 2);
|
||||
returnValue += properties[fragmentSections[0]];
|
||||
returnValue += fragmentSections[1];
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
uploadStandardSketch(){
|
||||
// possily add define statements here based on inputs given or checkboxes checked
|
||||
let sketchy = "#define HDC1080\n";
|
||||
this.http.get("assets/templates/homev2Wifi.tpl",{responseType:"text"}).subscribe(data=>{
|
||||
sketchy = sketchy+data;
|
||||
var values = {
|
||||
SSID: this.ssid,
|
||||
PASSWORD:this.pw,
|
||||
INGRESS_DOMAIN:"opensensemap.org",
|
||||
SENSEBOX_ID:this.senseboxid,
|
||||
NUM_SENSORS:6,
|
||||
TEMPERSENSOR_ID:this.temp,
|
||||
RELLUFSENSOR_ID:this.humi,
|
||||
BELEUCSENSOR_ID:this.lux,
|
||||
UVINTESENSOR_ID:this.uv,
|
||||
LUFTDRSENOSR_ID:this.pressure,
|
||||
REGENMSENSOR_ID:this.rain,
|
||||
PM10SENSOR_ID:this.pm10,
|
||||
PM25SENSOR_ID:this.pm25
|
||||
};
|
||||
sketchy = this.applyTemplate(sketchy,values);
|
||||
console.log(sketchy);
|
||||
})
|
||||
|
||||
/**
|
||||
* Start OTA Wizard here but with the pre defined sketch here and not with the blockly sketch
|
||||
*
|
||||
* */
|
||||
const sketch = 'void setup(){Serial.begin(9600);} void loop(){Serial.println("Working");}'
|
||||
this.navCtrl.push(OtaWizardPage, { sketch })
|
||||
this.navCtrl.push(OtaWizardPage, { sketchy })
|
||||
}
|
||||
|
||||
ionViewDidLoad() {
|
||||
|
|
Loading…
Add table
Reference in a new issue