One of the key costs of deploying a device (e.g., a sensor) in a building is the configuration. The configuration process involves:
1. Assigning some identifier to the device on whichever bus it was connected to.
2. Defining the device in the building management system (BMS).
3. Configuring the BMS logic to use it.
With the introduction of IoT and a metadata schema like Brick, an alternative process can be proposed.


Brick is an RDF-based ontology for describing the equipment and relationships within a building. A Brick server is used to store a model of a building based on the Brick schema and offers services for updating and querying the model. The model describes the physical properties of a building containing sensors. Single-board computers like the Arduino Uno, Pycom and ESP32 are compatible with a variety of sensors, while capable of doing data processing.


In order to support automatically configurable new devices, I want to investigate:
1. What information needs to be stored on the device and how hardcoded this need to be?
2. How will the device know about the Brick server?
3. How much of the registration task can be automated, and what should the interface look like?
4. Is a Brick extension necessary to to support this use-case, and if so what should it look like?