homespun-grovepi
Version:
This is a Node.js module that reads sensors residing on a [Raspberry Pi](https://www.raspberrypi.org) and a [GrovePi+ Shield](http://www.dexterindustries.com/shop/grovepi-board/) and transcodes them to [TSRP](http://thethingsystem.com/dev/Thing-Sensor-Rep
527 lines (482 loc) • 16.9 kB
JSON
{ "kitchen" :
{ "sensors" :
[ { "name" : "Kitchen sink"
, "type" : "base.Digital"
, "pin" : 7
, "properties" : {
"liquid_detected" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Water Sensor"
, "sensorTag" : "water"
, "modelNumber" : "SEN113104"
}
]
}
, "the-kitchen-sink" :
{ "sensors" :
[ { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"pressed" : [ "boolean", "highP" ]
}
, "sensorType" : "Grove - Button"
, "sensorTag" : "button"
, "modelNumber" : "101020003"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"powered" : [ "boolean", "highP" ]
}
, "sensorType" : "Grove - Switch(P)"
, "sensorTag" : "switch"
, "modelNumber" : "COM08213P"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"motion" : [ "boolean", "highP" ]
}
, "sensorType" : "Grove - PIR Motion Sensor"
, "sensorTag" : "motion"
, "modelNumber" : "101020020"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"pressed" : [ "boolean", "highP" ]
}
, "sensorType" : "Grove - Touch Sensor"
, "sensorTag" : "switch"
, "modelNumber" : "101020037"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"opened" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Magnetic Switch"
, "sensorTag" : "switch"
, "modelNumber" : "COM11335P"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"vibration" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Collision Sensor"
, "sensorTag" : "vibration"
, "modelNumber" : "101020005"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"vibration" : [ "boolean", "maxP" ]
}
, "sensorType" : "Grove - Piezo Vibration Sensor"
, "sensorTag" : "vibration"
, "modelNumber" : "SEN04031P"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"flame_detected" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Flame Sensor"
, "sensorTag" : "flame"
, "modelNumber" : "SEN05082P"
}
, { "name" : null
, "type" : "base.Digital"
, "pin" : null
, "properties" : {
"liquid_detected" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Water Sensor"
, "sensorTag" : "water"
, "modelNumber" : "SEN113104"
}
, { "name" : null
, "type" : "UltrasonicDigital"
, "pin" : null
, "properties" : {
"distance" : [ "meters", "cm" ]
}
, "sensorType" : "Grove - Ultrasonic Ranger"
, "sensorTag" : "presence"
, "modelNumber" : "SEN10737P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"loudness" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Sound Sensor"
, "sensorTag" : "sound"
, "modelNumber" : "SEN12945P"
}
, { "name" : null
, "type" : "AirQualityAnalog"
, "pin" : null
, "properties" : {
"aqi" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Air Quality Sensor"
, "sensorTag" : "air-quality"
, "modelNumber" : "SENO111P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"loudness" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Loudness Sensor"
, "sensorTag" : "noise"
, "modelNumber" : "SEN02281P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"moisture" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Moisture Sensor"
, "sensorTag" : "moisture"
, "modelNumber" : "SEN92355P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"hcho" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - HCHO Sensor"
, "sensorTag" : "air-quality"
, "modelNumber" : "SEN01500P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"smoke" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ2"
, "sensorTag" : "air-quality"
, "modelNumber" : "SEN90512P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"vapor" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ3"
, "sensorTag" : "air-quality"
, "modelNumber" : "101020006"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"gas" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ5"
, "sensorTag" : "air-quality"
, "modelNumber" : "SEN90512P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"co" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ9"
, "sensorTag" : "air-quality"
, "modelNumber" : "101020045"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"pH" : [ "pH", "pH" ]
}
, "sensorType" : "Grove - pH"
, "sensorTag" : "chemical"
, "modelNumber" : "SEN00600P"
}
, { "name" : null
, "type" : "TemperatureDigital.DHT11"
, "pin" : null
, "properties" : {
"temperature" : [ "celcius", "v[0]" ]
, "humidity" : [ "percentage", "v[1]%" ]
}
, "sensorType" : "Grove - DHT11 Temperature Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN11301P"
}
, { "name" : null
, "type" : "TemperatureDigital.DHT22"
, "pin" : null
, "properties" : {
"temperature" : [ "celcius", "v[0]" ]
, "humidity" : [ "percentage", "v[1]%" ]
}
, "sensorType" : "Grove - DHT22 Temperature Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN51035P"
}
, { "name" : null
, "type" : "TemperatureDigital.DHT21"
, "pin" : null
, "properties" : {
"temperature" : [ "celcius", "v[0]" ]
, "humidity" : [ "percentage", "v[1]%" ]
}
, "sensorType" : "Grove - DHT21 Temperature Sensor"
, "sensorTag" : "meteo"
}
, { "name" : null
, "type" : "TemperatureDigital.AM2301"
, "pin" : null
, "properties" : {
"temperature" : [ "celcius", "v[0]" ]
, "humidity" : [ "percentage", "v[1]%" ]
}
, "sensorType" : "Grove - AM2301 Temperature Sensor"
, "sensorTag" : "meteo"
}
, { "name" : null
, "type" : "TemperatureAnalog"
, "pin" : null
, "properties" : {
"temperature" : [ "celcius", "v" ]
}
, "sensorType" : "Grove - Temperature Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN23292P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"brightness" : [ "percentage", "resistpct" ]
}
, "sensorType" : "Grove - Analog Light Sensor"
, "sensorTag" : "light"
, "modelNumber" : "SEN11302P"
}
, { "name" : null
, "type" : "base.Analog"
, "pin" : null
, "properties" : {
"uvi" : [ "uv-index", "uv" ]
}
, "sensorType" : "Grove - UV Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN00700P"
}
]
}
, "test-config-1" :
{ "sensors" :
[
{ "name" : "SENO111P"
, "type" : "AirQualityAnalog"
, "pin" : 0
, "properties" : {
"aqi" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Air Quality Sensor"
, "sensorTag" : "air-quality"
, "modelNumber" : "SENO111P"
}
, { "name" : "SEN01500P"
, "type" : "base.Analog"
, "pin" : 1
, "properties" : {
"hcho" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - HCHO Sensor"
, "sensorTag" : "air-quality"
, "modelNumber" : "SEN01500P"
}
, { "name" : "SEN90512P"
, "type" : "base.Analog"
, "pin" : 2
, "properties" : {
"smoke" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ2"
, "sensorTag" : "air-quality"
, "modelNumber" : "SEN90512P"
}
, { "name" : "SEN05082P"
, "type" : "base.Digital"
, "pin" : 2
, "properties" : {
"flame_detected" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Flame Sensor"
, "sensorTag" : "flame"
, "modelNumber" : "SEN05082P"
}
, { "name" : "SEN51035P"
, "type" : "TemperatureDigital.DHT22"
, "pin" : 3
, "properties" : {
"temperature" : [ "celcius", "v[0]" ]
, "humidity" : [ "percentage", "v[1]%" ]
}
, "sensorType" : "Grove - DHT22 Temperature Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN51035P"
}
, { "name" : "SEN113104"
, "type" : "base.Digital"
, "pin" : 4
, "properties" : {
"liquid_detected" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Water Sensor"
, "sensorTag" : "water"
, "modelNumber" : "SEN113104"
}
, { "name" : "SEN10737P"
, "type" : "UltrasonicDigital"
, "pin" : 5
, "properties" : {
"distance" : [ "meters", "cm" ]
}
, "sensorType" : "Grove - Ultrasonic Ranger"
, "sensorTag" : "presence"
, "modelNumber" : "SEN10737P"
}
, { "name" : "COM11335P"
, "type" : "base.Digital"
, "pin" : 6
, "properties" : {
"opened" : [ "boolean", "lowP" ]
}
, "sensorType" : "Grove - Magnetic Switch"
, "sensorTag" : "switch"
, "modelNumber" : "COM11335P"
}
]
}
, "test-config-2" :
{ "sensors" :
[
{ "name" : "101020045"
, "type" : "base.Analog"
, "pin" : 0
, "properties" : {
"co" : [ "epsilon", "epsilon" ]
}
, "sensorType" : "Grove - Gas Sensor - MQ9"
, "sensorTag" : "air-quality"
, "modelNumber" : "101020045"
}
, { "name" : "SEN00700P"
, "type" : "base.Analog"
, "pin" : 1
, "properties" : {
"uvi" : [ "uv-index", "uv" ]
}
, "sensorType" : "Grove - UV Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN00700P"
}
, { "name" : "SEN92355P"
, "type" : "base.Analog"
, "pin" : 2
, "properties" : {
"moisture" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Moisture Sensor"
, "sensorTag" : "moisture"
, "modelNumber" : "SEN92355P"
}
, { "name" : "101020020"
, "type" : "base.Digital"
, "pin" : 2
, "properties" : {
"motion" : [ "boolean", "highP" ]
}
, "sensorType" : "Grove - PIR Motion Sensor"
, "sensorTag" : "motion"
, "modelNumber" : "101020020"
}
]
}
, "test-config-3" :
{ "sensors" :
[
{ "name" : "SEN11302P"
, "type" : "base.Analog"
, "pin" : 0
, "properties" : {
"brightness" : [ "percentage", "resistpct" ]
}
, "sensorType" : "Grove - Analog Light Sensor"
, "sensorTag" : "light"
, "modelNumber" : "SEN11302P"
}
, { "name" : "SEN02281P"
, "type" : "base.Analog"
, "pin" : 1
, "properties" : {
"loudness" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Loudness Sensor"
, "sensorTag" : "noise"
, "modelNumber" : "SEN02281P"
}
, { "name" : "SEN12945P"
, "type" : "base.Analog"
, "pin" : 2
, "properties" : {
"loudness" : [ "percentage", "pct" ]
}
, "sensorType" : "Grove - Sound Sensor"
, "sensorTag" : "sound"
, "modelNumber" : "SEN12945P"
}
]
}
, "test-config-4" :
{ "sensors" :
[
{ "name" : "SEN23292P"
, "type" : "TemperatureAnalog"
, "pin" : 0
, "properties" : {
"temperature" : [ "celcius", "v" ]
}
, "sensorType" : "Grove - Temperature Sensor"
, "sensorTag" : "meteo"
, "modelNumber" : "SEN23292P"
}
, { "name" : "SEN04031P"
, "type" : "base.Analog"
, "pin" : 1
, "properties" : {
"vibration" : [ "boolean", "maxP" ]
}
, "sensorType" : "Grove - Piezo Vibration Sensor"
, "sensorTag" : "vibration"
, "modelNumber" : "SEN04031P"
}
]
}
}