SemBeacon helps to describe environments and the Physical Things within. Once a list is created of all Things that should be described, grouping can be performed.
Physical things, environments and beacons should be grouped on a spatial level. However, as all grouped instances will be fetched at the same time, developers are free to decide to split up the spatial grouping when needed. In general, spatial grouping should be performed on floors or buildings. If users are expected to navigate over multiple floors (e.g. in a hospital) then the spatial grouping can be performed on the whole building.
In addition to the Physical Things that need to be described, multiple beacons need to cover the spatial area so nearby SemBeacon scanners can pick up the advertisements.
After analyzing the environment and performing spatial grouping, a semantic description of the environment(s) should be created. We will make use of the SemBeacon vocabulary along with POSO and M3 Lite.
The beacon implementation is similar to existing Eddystone, iBeacon or AltBeacon implementations. On our GitHub page we offer an ESP32 library for creating a beacon.
namespacesit encounters and the associated
resource URIs. Each
namespacekeeps track of the beacons and physical things located within those namespaces.
instanceidentifier. The application checks if it has knowledge about the
namespaceidentifier in its local state. If the
namespacewas not previously discovered, an active scan is performed. If the
namespacewas previously discovered and no cache timeout occurs, the passive scanning is continued.