Environmental Monitoring of Libraries with MonTreAL
Docker Image Builder | Docker Swarm Setup | VM Image Builder
An ever-increasing amount of devices connected over the Internet pave the road towards the realization of the ‘Internet of Things’ (IoT) idea. With IoT, endangered infrastructures can easily be enriched with low-cost, energy-efficient monitoring solutions, thus alerting is possible before severe damage occurs. We developed a library wide humidity and temperature monitoring framework MonTreAL, which runs on commodity single board computers. In addition, our primary objectives are to enable flexible data collection among a computing cluster by migrating virtualization approaches of data centers to IoT infrastructures.
We evaluate our prototype of the system MonTreAL at the University Library of Bamberg by collecting temperature and humidity data.
o- NsqReader - InfluxDBWriter - InfluxDB -o- Chronograf, (Kapacitor)
| \
| o- Grafana
USB | /
| o- NsqReader - PrometheusWriter - Prometheus -o- (Alertmanager)
Sensor |
| o- NsqReader - SensorList -o
SocketWriter | |- memcached - Web
| o- NsqReader - SensorData -o
[|] |
| o- NsqAdmin, NsqCli, etc.
SocketReader |
| |\
MetaDataAppender | NsqLookup
| |/
NsqWriter --------- Nsq
(____): not implemented yet
"mock": {
"service": "temperature_humidity_sensor",
"type": "mock",
"image": "r3r57/montreal:latest-multiarch",
"device": [],
"command": "",
"configuration": {
"sensor_count": <int>,
"temperature": <float>,
"humidity": <float>,
"interval": <int>
}
}
"ash2200": {
"service": "temperature_humidity_sensor",
"type": "ash2200",
"image": "r3r57/montreal:latest-multiarch",
"device": ["/dev/ttyUSB0"],
"command": "",
"configuration": {
"device": "/dev/ttyUSB0",
"baudrate": "9600",
"timeout": <int>
}
}
"dht": {
"service": "temperature_humidity_sensor",
"type": "dht",
"image": "r3r57/montreal:latest-multiarch",
"devices": ["/dev/mem"],
"command": "",
"configuration": {
"id": <int>,
"gpio": <int>,
"short_type": <11 or 22>,
"interval": <int>
}
}
"open_weather_map": {
"service": "temperature_humidity_sensor",
"type": "openweathermap",
"image": "r3r57/montreal:latest-multiarch",
"devices": [],
"command": "",
"configuration": {
"id": <int>,
"key": <string>,
"city": <string>,
"country": <string>,
"interval": <int>
}
}