Skip to content

Commit 3f71b80

Browse files
committed
Addes SenseBox publisher
1 parent 4bacf19 commit 3f71b80

File tree

14 files changed

+1068
-0
lines changed

14 files changed

+1068
-0
lines changed
Lines changed: 297 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,297 @@
1+
{
2+
"@id": "urn:senseBox:sample:homeV2WifiFeinstaub:1",
3+
"@type": "CapabilityModel",
4+
"displayName": {
5+
"en" : "SenseBox:home with respirable dust sensors",
6+
"de" : "SenseBox:home mit Feinstaub Sensoren"
7+
},
8+
"implements": [
9+
{
10+
"name": "deviceinfo",
11+
"schema": {
12+
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
13+
"@type": "Interface",
14+
"displayName": "Device Information",
15+
"contents": [
16+
{
17+
"@type": "Property",
18+
"name": "manufacturer",
19+
"displayName": "Manufacturer",
20+
"schema": "string",
21+
"description": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso."
22+
},
23+
{
24+
"@type": "Property",
25+
"name": "model",
26+
"displayName": "Device model",
27+
"schema": "string",
28+
"description": "Device model name or ID. Ex. Surface Book 2."
29+
},
30+
{
31+
"@type": "Property",
32+
"name": "swVersion",
33+
"displayName": "Software version",
34+
"schema": "string",
35+
"description": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45"
36+
},
37+
{
38+
"@type": "Property",
39+
"name": "osName",
40+
"displayName": "Operating system name",
41+
"schema": "string",
42+
"description": "Name of the operating system on the device. Ex. Windows 10 IoT Core."
43+
},
44+
{
45+
"@type": "Property",
46+
"name": "processorArchitecture",
47+
"displayName": "Processor architecture",
48+
"schema": "string",
49+
"description": "Architecture of the processor on the device. Ex. x64 or ARM."
50+
},
51+
{
52+
"@type": "Property",
53+
"name": "processorManufacturer",
54+
"displayName": "Processor manufacturer",
55+
"schema": "string",
56+
"description": "Name of the manufacturer of the processor on the device. Ex. Intel."
57+
},
58+
{
59+
"@type": "Property",
60+
"name": "totalStorage",
61+
"displayName": "Total storage",
62+
"schema": "long",
63+
"displayUnit": "kilobytes",
64+
"description": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes."
65+
},
66+
{
67+
"@type": "Property",
68+
"name": "totalMemory",
69+
"displayName": "Total memory",
70+
"schema": "long",
71+
"displayUnit": "kilobytes",
72+
"description": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes."
73+
}
74+
],
75+
"@context": "http://azureiot.com/v1/contexts/IoTModel.json"
76+
}
77+
},
78+
{
79+
"name": "settings",
80+
"schema": {
81+
"@id": "urn:senseBox:home:settings:1",
82+
"@type": "Interface",
83+
"displayName": "SenseBox settings",
84+
"contents": [
85+
{
86+
"@type": "Property",
87+
"name": "name",
88+
"schema": "string",
89+
"displayName": "Name",
90+
"description": "SenseBox name as shown on https://opensensemap.org/"
91+
},
92+
{
93+
"@type": "Property",
94+
"name": "_id",
95+
"schema": "string",
96+
"displayName": "SenseBox ID",
97+
"description": "OpenSenseMap ID used for the SenseBox"
98+
},
99+
{
100+
"@type": "Property",
101+
"name": "grouptag",
102+
"schema": "string",
103+
"displayName": "Group name",
104+
"description": "Group this box belongs to"
105+
},
106+
{
107+
"@type": "Property",
108+
"name": "exposure",
109+
"schema": {
110+
"@type": "Enum",
111+
"valueSchema": "string",
112+
"enumValues": [
113+
{
114+
"name": "indoor",
115+
"displayName": "Indoor",
116+
"enumValue": "indoor"
117+
},
118+
{
119+
"name": "outdoor",
120+
"displayName": "Outdoor",
121+
"enumValue": "outdoor"
122+
},
123+
{
124+
"name": "mobile",
125+
"displayName": "Mobile",
126+
"enumValue": "mobile"
127+
},
128+
{
129+
"name": "unknown",
130+
"displayName": "unknown",
131+
"enumValue": "Unknown"
132+
}
133+
]
134+
},
135+
"displayName": "Exposure",
136+
"description": "Exposure of the box"
137+
},
138+
{
139+
"@type": "Property",
140+
"name": "createdAt",
141+
"schema": "dateTime",
142+
"displayName": "Created at",
143+
"description": "Date the SenseBox was originally created"
144+
},
145+
{
146+
"@type": "Property",
147+
"name": "updatedAt",
148+
"schema": "dateTime",
149+
"displayName": "Updated at",
150+
"description": "Date the SenseBox was last updated"
151+
},
152+
{
153+
"@id": "urn:senseBox:home:settings:currentlocation:1",
154+
"@type": [
155+
"Property",
156+
"SemanticType/Location"
157+
],
158+
"displayName": {
159+
"en": "Current location"
160+
},
161+
"name": "currentlocation",
162+
"schema": "geopoint"
163+
}
164+
]
165+
}
166+
},
167+
{
168+
"name": "HDC1080_sensors",
169+
"displayName": "HDC1080 sensors",
170+
"schema": {
171+
"@id": "urn:senseBox:HDC1080_sensors:1",
172+
"@type": "Interface",
173+
"displayName": "HDC1080 sensors",
174+
"contents": [
175+
{
176+
"@type": "Telemetry",
177+
"name": "humidity",
178+
"displayName": {
179+
"en" : "Humidity",
180+
"de" : "rel. Luftfeuchte"
181+
},
182+
"comment": "The humidity measurement data from the built-in HDC1080 sensor.",
183+
"schema": "double",
184+
"unit": "Units/Humidity/percent",
185+
"displayUnit": "%"
186+
},
187+
{
188+
"@type": "Telemetry",
189+
"name": "temperature",
190+
"displayName": {
191+
"en": "Temperature",
192+
"de": "Temperatur"
193+
},
194+
"comment": "The temperature measurement data from the built-in HDC1080 sensor.",
195+
"schema": "double",
196+
"unit": "Units/Temperature/celsius",
197+
"displayUnit": "°C"
198+
}
199+
]
200+
}
201+
},
202+
{
203+
"name": "BMP280_sensors",
204+
"displayName": "BMP280 sensors",
205+
"schema": {
206+
"@id": "urn:senseBox:BMP280_sensors:1",
207+
"@type": "Interface",
208+
"displayName": "BMP280 sensors",
209+
"contents": [
210+
{
211+
"@type": "Telemetry",
212+
"name": "airpressure",
213+
"displayName": {
214+
"en" : "Air Pressure",
215+
"de" : "Luftdruck"
216+
},
217+
"comment": "The air pressure measurement data from the built-in BMP280 sensor.",
218+
"schema": "double",
219+
"displayUnit": "hPa"
220+
}
221+
]
222+
}
223+
},
224+
{
225+
"name": "TSL45315_sensors",
226+
"displayName": "TSL45315 sensors",
227+
"schema": {
228+
"@id": "urn:senseBox:TSL45315_sensors:1",
229+
"@type": "Interface",
230+
"displayName": "TSL45315 sensors",
231+
"contents": [
232+
{
233+
"@type": "Telemetry",
234+
"name": "illumination",
235+
"displayName": {
236+
"en" : "Illumination",
237+
"de" : "Beleuchtungsstärke"
238+
},
239+
"comment": "The illumination measurement data from the built-in TSL45315 sensor.",
240+
"schema": "double",
241+
"displayUnit": "lx"
242+
}
243+
]
244+
}
245+
},
246+
{
247+
"name": "VEML6070_sensors",
248+
"displayName": "VEML6070 sensors",
249+
"schema": {
250+
"@id": "urn:senseBox:VEML6070_sensors:1",
251+
"@type": "Interface",
252+
"displayName": "VEML6070 sensors",
253+
"contents": [
254+
{
255+
"@type": "Telemetry",
256+
"name": "uvradiation",
257+
"displayName": {
258+
"en" : "UV Radiation",
259+
"de" : "UV-Intensität"
260+
},
261+
"comment": "The UV radiation measurement data from the built-in VEML6070 sensor.",
262+
"schema": "double",
263+
"displayUnit": "μW/cm²"
264+
}
265+
]
266+
}
267+
},
268+
{
269+
"name": "SDS011_sensors",
270+
"displayName": "SDS 011 sensors",
271+
"schema": {
272+
"@id": "urn:senseBox:SDS011_sensors:1",
273+
"@type": "Interface",
274+
"displayName": "SDS 011 sensors",
275+
"contents": [
276+
{
277+
"@type": "Telemetry",
278+
"name": "pm10",
279+
"displayName": "PM10",
280+
"comment": "The PM 10 measurement data from the built-in SDS 011 sensor.",
281+
"schema": "double",
282+
"displayUnit": "µg/m³"
283+
},
284+
{
285+
"@type": "Telemetry",
286+
"name": "pm25",
287+
"displayName": "PM2.5",
288+
"comment": "The PM 2.5 measurement data from the built-in SDS 011 sensor.",
289+
"schema": "double",
290+
"displayUnit": "µg/m³"
291+
}
292+
]
293+
}
294+
}
295+
],
296+
"@context": "http://azureiot.com/v1/contexts/IoTModel.json"
297+
}

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
<module>opensense-intf</module>
3535
<module>opensensepublisher</module>
3636
<module>opensenseprotocoltranslater</module>
37+
<module>sensorbox-publisher</module>
3738
</modules>
3839

3940
</project>

sensorbox-publisher/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM adoptopenjdk/openjdk11:jre-11.0.5_10-alpine
2+
VOLUME /tmp
3+
ARG DEPENDENCY=target/dependency
4+
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
5+
COPY ${DEPENDENCY}/META-INF /app/META-INF
6+
COPY ${DEPENDENCY}/BOOT-INF/classes /app
7+
ENTRYPOINT exec java $JAVA_OPTS -cp app:app/lib/* com.microsoft.samples.iot.sensorbox.SensorboxPublisherApplication

0 commit comments

Comments
 (0)