-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smart Buildings Technical Primer #199
Changes from 11 commits
331dd84
f08d94d
d89391a
16cfc28
880a150
0c2abc8
d93039c
f031c75
b1dc761
9424fd4
9710da5
f5408c0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# Smart-Ready Building Technical Primer | ||
|
||
This document provides primer for smart-ready building assembly, to essentially | ||
answer the question *"What does Smart Ready mean?"* and *"How do we know it to be | ||
true?"* Specifically, it addresses the delta between a traditional site and | ||
smart-ready sites: places where new bleeding edge building technology is being | ||
used. | ||
|
||
# Key Terms & Definitions | ||
|
||
## Building Models | ||
|
||
There are different levels of "digital maturity" for different buildings. Each | ||
one has a slightly different scope in terms of what it means to be "complete." | ||
For the most part, this document addresses the scope of a Smart Ready building: | ||
- **Legacy**: It works, but does not meet requirements or guidelines. | ||
- **Compliant**: Meets basic security and networking requirements. | ||
- **Smart Ready**: On-prem integrated with the cloud using UDMI & DBO. | ||
- **Digital Building**: Completely integrated with back-end services. | ||
|
||
## Device | ||
|
||
Hardware that exists in the building that can change state in a way that can be | ||
machine communicated. A potentiometer or a flow switch is a device if it is | ||
monitored by a digital system. A commissioning valve or damper with no | ||
communication is not a device. | ||
|
||
## Devices Classification | ||
|
||
Various adjectives qualify the different flavors of a "device" found in a | ||
building. More than one can apply, and each has a specific technical | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "found in a building" ==> "present in the system" |
||
meaning/definition (i.e. they are not subjective). | ||
|
||
### Connectivity | ||
|
||
How data is moved around on-prem | ||
|
||
- **Serial**: The device does not have an IP address, rather uses a wired | ||
serial connection. | ||
- **Networked**: The device has its own IP address and presence on the wired | ||
or wireless IP network. | ||
- **Bridged**: The device is on an isolated wired or wireless network behind a | ||
gateway device that is networked. | ||
|
||
### Ingestion | ||
|
||
How data gets up into the cloud | ||
|
||
- **Direct**: Maintains an authenticated connection directly to Cloud IoT Core. | ||
- Must be networked | ||
- Has a unique private auth key | ||
- **Gateway**: A direct device that manages data for other proxied devices. | ||
- Bind & attach of proxied devices | ||
- Encapsulation anti-pattern | ||
- **Proxied**: A device that is not direct and is managed through a gateway. | ||
- **External**: A device (on-prem or off-prem) consumes data from an external | ||
source and publishes it to Cloud IoT core | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. take out the "and publishes it to Cloud IoT core" part -- once you're doing external stuff there are other paths of ingress. But, I thikn the "External" moniker still still apples. |
||
|
||
### Representation | ||
|
||
Device relationships and how they are modeled | ||
|
||
- **Reporting**: Has an entry in Cloud IoT Core and reports telemetry data. | ||
- Reporting connected devices | ||
- Reporting proxied devices | ||
- **Logical**: Has a semantic representation in the site building config. | ||
- **Virtual**: Logical-but-not-reporting. | ||
|
||
## Information Sources | ||
|
||
- **Qualification Summary** - One for each type of networked device | ||
- **Digital Building Device Register** - Comprehensive list of all devices on a project | ||
- **Site Model** - Any ingestion device (direct, gateway, or proxy) | ||
- **Building Config** - Does omit networked devices that don't report | ||
|
||
## Cloud IoT Core Definitions | ||
|
||
- Project | ||
- Administrative domain (user auth and billing) | ||
- Can contain multiple registries (buildings) | ||
- Registry | ||
- Not the same as the Digital Building Device Register | ||
- One Registry per building site (one site_model, one building config) | ||
- Device | ||
- May be direct or proxied | ||
- Maps to a reporting device | ||
- Gateway | ||
- Proxies for non-authenticating devices | ||
- Represented in Site Model, but maybe not Building Config | ||
|
||
|
||
# Base Tools & Capabilities | ||
|
||
## Device Qualification | ||
|
||
[Device qualification](https://github.com/faucetsdn/daq/blob/master/docs/qualification.md) | ||
qualifies device types as meeting a baseline connectivity and security | ||
requirement by performing a series of predefined tests against a device. | ||
|
||
### Prerequisites | ||
|
||
* Devices are available for qualification | ||
* [DAQ tool](https://github.com/faucetsdn/daq/) set up for use | ||
|
||
### Verification | ||
|
||
grafnu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* Device qualification configuration and reports for the device available. | ||
|
||
## Managed Network | ||
|
||
### Prerequisites | ||
* Digital building registry is provided | ||
|
||
### Verification | ||
* ATA validates on-network configuration | ||
|
||
## Device Management | ||
|
||
All devices which are _smart ready_ are required to support | ||
[UDMI](../../README.md). For guidance on what compliance with the UDMI schema | ||
means, refer to [compliance documentation](compliance.md) | ||
|
||
### Prerequisites | ||
|
||
* [site model](site_model.md) provided and all devices registered into GCP | ||
* devices are setup in a qualified configuration | ||
|
||
### Verification | ||
|
||
* [registrar](registrar.md) and [device telemetry validations](validator.md) are clean | ||
|
||
## Digital Buildings Ontology | ||
|
||
Points and device naming is required to abide by | ||
[Digital Buildings Ontology (DBO)](https://github.com/google/digitalbuildings) | ||
|
||
### Prerequisites | ||
|
||
* [Building Config](https://github.com/google/digitalbuildings/blob/master/ontology/docs/building_config.md) file provided for site | ||
|
||
### Verification | ||
|
||
* building config passes | ||
[DBO validation tools](https://github.com/google/digitalbuildings/tree/master/tools/validators) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't quite accurate. A "device" is a logical entity that encapsulates a coordinated set of functionality. The problem is it's a very over-loaded term and so you can't say much in the way of definitions. Not all devices are hardware. Not all devices an be machine communicated (although it would be kinda pointless otherwise).
I'm not sure trying to define "device" will actually get you very far... which is why I jumped strait to the descriptive adjectives.