Upload
juan-hewitt
View
217
Download
1
Tags:
Embed Size (px)
Citation preview
Layersand
Alternative Application Layers
Malcolm Clarke
September 10, 2012
General Concepts of Layers
Object Approach
Handle
Type
Unit-Code
Simple-Nu-Observed-Value
Absolute-Time-Stamp
The object approach of 11073 is a general mechanism to update values of all attributes from the object in the Agent to its proxy object in the Manager This can be done asynchronously (Events) or by polling (Get) Can also act on the object to update attributes (Set) or interact (Actions)
Handle
Type
Unit-Code
Simple-Nu-Observed-Value
Absolute-Time-Stamp
Events
Actions
Get
Set
AgentObject
ManagerProxy Object
Layers - ACSEApplication Code
Object Layer
ROSE
(Service Layer)
ACSE
(Association layer)
Transport
Network
This is achieved using physical connection and exchanging APDU between peer entities in the ACSE (Association Control Service Element) ACSE is responsible for association and messages are exchanged for Associate, Release and Abort
APDU
Associate, Release, Abort
Layers - ROSEApplication Code
Object Layer
ROSE
(Service Layer)
ACSE
(Association layer)
Transport
Network
Once associated, PDU are exchanged between peer entities in ROSE (Remote Operation Service Element) ROSE is responsible for providing METHODS to access and manage Objects and messages are exchanged for Get, Set, Event and Action
APDU
Associate, Release, AbortPDU
Methods
Get, Set, Event, Action
Layers – Object LayerApplication Code
Object Layer
ROSE
(Service Layer)
ACSE
(Association layer)
Transport
Network
ROSE operates on peer objects in the Object Layer ACSE and ROSE constitute the Association Layer
APDU
Associate, Release, AbortPDU
Methods
Get, Set, Event, ActionPDU
Parameters
Attribute values
{Association
Layer
11073 Object LayerHandle
Type
Observed value
Units
Objects in 11073 are accessed indirectly Each object is referenced by its Handle and the type of the object is taken from the type attribute Each attribute is accessed by using its nomenclature code (32 bits – 16+16) The type of the attribute is defined by ASN.1 and structured types fully defined down to basic types This has the advantage of allowing multiple instances of the same object type
Parameters (Attribute:Value)
Methods (Get, Set, Event, Action)
Alternative Association Layers
Alternative Association Layers
Several “transport” technologies now define and support an object oriented approach and provide primitives to access and manage objects (methods) Zigbee defines the Zigbee Cluster Library (ZCL) BT LE defines ATT and GATT Could these alternative Association Layers support 11073 objects and methods?
Zigbee Cluster Library
Supports Discover Attributes Read Attributes Write Attributes Report Attributes Configure reporting
Min/Max time between reports Min change between reports
Read Reporting Configuration
Zigbee Cluster Library
Defines Attribute Clusters (eg General, Power configuration) The collection of clusters defined as a profile Attribute Sets in the cluster (eg Basic device information, basic device settings) Attributes in the set
Currently 12 bits used to identify the Attribute Set and 4 bits the attribute within the set
Up 1000 addressable Attribute Sets (objects) each with up to 16 addressable attributes
Zigbee Attribute ReportingVariable Variable Variable Variable
ZCL Header Attribute Report 1
Attribute Report 2
Attribute Report n
2 Octets 1 Octet Variable
Attribute Identifier Attribute Data Type
Attribute Value
ZCL Object Layer – exampleGeneral Attribute Set
Attribute Set Identifier Description
0x0000 Basic device information
0x0001 Basic device settings
0x0002-0xffff Defined in ZCL documentation
Identifier Name Type Range Access Default Mandatory/ Optional
0x0000 ZCLVersion Unsigned8-bit integer
0x00 – 0xff Read only 0x00 M
0x0001 ApplicationVersion
Unsigned8-bit integer
0x00 – 0xff Read only 0x00 O
Etc
Attributes of Basic Device Information Attribute Set
Zigbee Cluster Library
Can we map 11073 devices to ZCL?
ZCL Object Layer – take an exampleWeighing Scale Attribute Set
Attribute Set Identifier (Class) Description
0x0000 Basic device information
0x1000 MDS
0x1001 Metric
0x1002 RT-SA
0x1003 PM Store
Identifier Name Type Range Access Default Mandatory/ Optional
0x0000 Type TYPE 0x0000 – 0xffff Read only 0x0000 M
0x0001 Metric-Spec-Small
32 bit map 0x00000000 – 0xffffffff
Read only 0x00000000
M
Etc
Attributes of Basic Mass Attribute Set
Metric Object AttributesAttribute Name Attribute Type Identifier NotesHandle HANDLE Unused
Type/Supplemental-Types TYPE/SupplementalTypeList 0000 Only one, type distinguishes
Metric-Spec-Small MetricSpecSmall 0001
Metric-Structure-Small MetricStructureSmall 0002
Measurement-Status MeasurementStatus 0003
Metric-Id/Metric-Id-List OID-Type/MetricIdList 0004 Only one, type distinguishes
Metric-Id-Partition NomPartition 0005
Unit-Code OID-Type 0006
Attribute-Value-Map AttrValMap Unused
Source-Handle-Reference HANDLE 0007
Label-String OCTET STRING 0008
Unit-LabelString OCTET STRING 0009
Absolute-Time-stamp/Relative-Time-Stamp/HiRes-Time-Stamp
AbsoluteTime/RelativeTime/HighResRelativeTime
0010 Only one, type distinguishes
Measure-Active-Period FLOAT-Type 0011
Numeric Object Attributes
Attribute Name Attribute Type Number NotesSimple-Nu-Observed-Value SimpleNuObsValue 0012 Only one, type distinguishes
Compound-Simple-Nu-Observed-Value
SimpleNuObsValueCmp
Basic-Nu-Observed-Value BasicNuObsValue
Compound-Basic-Nu-Observed-Value
BasicNuObsValueCmp
Nu-Observed-Value NuObsValue
Compound-Nu-Observed-Value NuObsValueCmp
Accuracy FLOAT-Type 0013
Enumeration Object Attributes
Attribute Name Attribute Type Number NotesEnum-Observed-Value-Simple-OID OID-Type 0012 Only one, type distinguishes
Enum-Observed-Value-Simple-Bit-Str BITS-32
Enum-Observed-Value-Basic-Bit-Str BITS-16
Enum-Observed-Value-Simple-Str EnumPrintableString
Enum-Observed-Value EnumObsValue
Enum-Observed-Value-Partition NomPartition 0013
RT-SA Object Attributes
Attribute Name Attribute Type Number NotesSample-Period RelativeTime 12
Simple-Sa-Observed-Value OCTET STRING 13
Scale-and-Range-Specification ScaleRangeSpec8ScaleRangeSpec16ScaleRangeSpec32
14 Only one, type distinguishes
Sa-Specification SaSpec 15
MDS Object Attributes
Attribute Name Attribute Type Number NotesHandle HANDLE
System-Type TYPE 0
System-Model SystemModel 1 == Basic Device Information
System-Id OCTET STRING 2
Dev-Configuration-Id ConfigId 3
Attribute-Value-Map AttrValMap 4
Production-Specification ProductionSpec 5
Mds-Time-Info MdsTimeInfo 6
Date-and-Time AbsoluteTime 7
Relative-Time RelativeTime 8
HiRes-Relative-Time HighResRelativeTime 9
Date-and-Time-Adjustment AbsoluteTimeAdjust 10
MDS Object Attributes
Attribute Name Attribute Type Number NotesPower-Status PowerStatus == Basic Device Information
Battery-Level INT-U16 == Battery Information
Remaining-Battery-Time BatMeasure = = Derive from battery information
Reg-Cert-Data-List RegCertDataList 11
System-Type-Spec-List
TypeVerList 12
Confirm-Timeout RelativeTime 13
Limitations
Not instance based addressing
BT LE Attributes
BT LE also defines 16 bit attribute identifiers Provides Object Access Methods Object.Attribute could be defined for each device and correspond to specialization (ConfigId) as per ZCL Object.Attribute Sets in the cluster (MDS, Metric Objects) Attributes in the object set defined per MDS or Metric Object
Questions or Comments?