A project to collect data about the space including doors open, lights on, occupancy.
Provide sensors to collect various chunks of data, collating them via MQTT and displaying them with dedicated indicators and/or exporting to other systems such as SpaceAPI.
Sensors will be primarily reed switch and current or voltage sensors, but anything is permitted with an appropriate interface.
Most hard-wired contact closure inputs may be routed over the cat5 network to a central input device located at the patch panel (assuming this is OK with the network guys). Additional inputs may be taken by pre-existing devices such as doorbot with direct reporting to MQTT, and some inputs may be produced by dedicated network-connected sensor nodes. It may be convenient to repurpose or piggyback the existing alarm system sensors.
Sensors will be a minimum of :
- Back door
- Front door
- Roller shutter
- Basement fire exit
- Major lighting circuits
For discussion :
- Cards left in ACNode controllers
- External lift door
- Etch tank heater
- restricted areas (lift machinery, boiler room, electrical intake room)
- [please add your suggestion]
Much data will be available only for logging or display purposes, but certain elements will be reported on status indicators at the exits, with the intention of reminding the last person to leave of open doors, windows, lighting etc. This is the primary purpose of the project and only the sensors and indicators required for it are expected to be connected initially. Other sensors can be added as time and enthusiasm permits.
Indicators will be placed at front and back doors. Lift, roller shutter and fire exits not included.
Suggested indicator panel is a number of LEDs for major items with a small LCD for extra details, e.g. LEDs for ROLLER SHUTTER OPEN and LIGHTS ON with the lighting details on the LCD.
The MQTT server will run on an always-on machine, possibly dedicated but a doorbot would also be suitable. It will run Mosquitto and have entries for all sensors with separate entries for indicators. A separate script will analyse the sensor inputs and report appropriate results to the indicators. There may be additional indicator functionality maintained which will be polled by separate processes and provide reports to email, twitter etc. Logging or display clients may choose any sensor or indicator data items.
Critical functions such as door open detection and indicator outputs will be protected by MQTT's authorisation functions. Non-critical functions (eg temperatures) may be unsecured, but the naming convention for data will indicate trustworthiness. The server will not be exposed outside the internal network except by explicit export of certain data items by another process, or via tunnels etc. maintained elsewhere on the internal network. All data items are expected to be readable.
Data will, as far as possible, have a data quality indication supporting features such as loss of a sensor node, loss of a hardwired connection, out-of-range data etc.