= D5.3 - SENSEI Cookbook = This wiki serves as the SENSEI D5.3 deliverable "Instruction Manual for Installation and configuration of the SENSEI Test Platform", shortly titled the SENSEI Cookbook. The SENSEI Cookbook provides a set of guides for using the SENSEI Pan-European Testbed, deploying your own testbed or using the individual components available from SENSEI. The SENSEI architecture involves different roles, with three technical roles being particularly important for a testbed: Resource Provider, System Provider and Resource User. This Cookbook is organized by these three roles, with a guide for participating in a SENSEI system in each role. Before exploring into the technical details, it is best to start with the [wiki:TestbedOverview overview] of the Pan-European Testbed. This Cookbook is aimed at several different audiences. It can be used by consortium members to disseminate information about and exploit the components developed in the project internally. It is critical documentation for third parties to participate in the Pan-European Testbed or deploy their own testbed. Finally, this Cookbook serves as documentation for potential users of this SENSEI system implementation. The Cookbook is not meant to be a general tutorial of the SENSEI architecture or its components, nor is it meant to be a specification of the system design or implementations. After reading the testbed overview, it is best to start with the Resource Provider Guide. This gives a good way to get started by registering resources into the SENSEI system from a standard PC with the Java REP. The System Provider Guide is for more advanced users, and explains how to use the deployed Pan-European Testbed or how to deploy your own testbed server components. Finally, the Resource User Guide describes how to use the Management GUI of the testbed to access resources and management the system. This guide also includes information on how to create you own application acting as a Resource User. 1. '''Pan-European Testbed''' 1.1. [wiki:TestbedOverview Testbed Overview] [[BR]] 2. '''Resource Provider Guide''' Making resources available to the SENSEI system, i.e. being a Resource Provider, is both an important role to play in SENSEI and the easiest way to get started. This section introduces the data formats used by a Resource Provider, namely the [wiki:RpResDescription Resource Descriptions] that are registered with a Resource Directory and the [wiki:RpObservationMeasurement Observation & Measurement] format used in the payloads of the Resource Access Interface. Several different realizations of Resource End Point frameworks are included in the guide, including the [wiki:RpRepDeployment Java REP] for getting started on a standard PC, an [wiki:AndroidREP Android Java REP] for phones and more specialized 6LoWPAN and !ZigBee sensor network hardware implementations. Finally two realizations of advanced SENSEI functionality are described: for the creation of [wiki:RpDynamicCreation dynamic resources], and the manipulation of [wiki:RpactuationSpaceResource actuation resources]. 2.1. [wiki:RpOverview Overview] [[BR]] 2.2. [wiki:RpResDescription Resource Description] [[BR]] 2.3. [wiki:RpObservationMeasurement Observation & Measurement] [[BR]] 2.4. [wiki:RpRepDeployment Deploying the Java REP] [[BR]] 2.4.1. [wiki:RepQuickStart Quick Start] [[BR]] 2.4.2. [wiki:RepDeveloperGuide Developer Guide] [[BR]] 2.5. [wiki:AndroidREP Java REP for Android] [[BR]] 2.6. [wiki:RepAaa REP access control] [[BR]] 2.7. Deploying Sensor Network Islands [[BR]] 2.7.1. [wiki:NativeGateway Native Gateway] [[BR]] 2.7.2. [wiki:Fair FAIR - Resilient Data Aggregation] [[BR]] 2.7.2. [wiki:ZigbeeGateway ZigBee Gateway] [[BR]] 2.7.3. [wiki:node-tinyos TinyOS Node] [[BR]] 2.7.4. [wiki:SCU Secure Code Update] [[BR]] 2.7.5. [wiki:node-contiki Contiki Node] [[BR]] 2.7.6. [wiki:TITAN Tiny Task Networks (TITAN)] [[BR]] 2.7.7. [wiki:AmbientREP Ambient REP] [[BR]] 2.7.8. [wiki:Check Check Management Protocol Suite] [[BR]] 2.7.9. [wiki:ROME] [[BR]] 2.7.10.[wiki:EMR] [[BR]] 2.7.11.[wiki:Letibee LETIBEE Gateway] [[BR]] 2.8. [wiki:RpDynamicCreation Dynamic Resource Creation] [[BR]] 2.9. [wiki:RpactuationSpaceResource Actuation Space Resource] [[BR]] 3. '''System Provider Guide''' The framework and community management components play a central role in the SENSEI system, they match Resource Users with Resource Providers, add layers of context, provide security and automate advanced tasks. The default way to make use of a SENSEI System Provider is to use the already deployed Pan-European Testbed. Alternatively, this section explains how to deploy a private tested and act as a System Provider yourself. A [wiki:SpVirtualMachine virtual machine] image is provided for this purpose, containing all the components pre-configured and automatically run. Descriptions on configuring and using each individual component in the virtual machine are also inluded in the guide. {{{#!comment 3.1. [wiki:SpQuickStart Quick Start] [[BR]] }}} 3.1. [wiki:SpVirtualMachine The SENSEI Virtual Machine] [[BR]] 3.2. [wiki:SpUsingTestbed Virtual Machine Services] [[BR]] 3.3. System Framework Components [[BR]] 3.3.1. [wiki:ResourceDirectory Resource Directory] [[BR]] 3.3.2. [wiki:SQR SQR] [[BR]] 3.3.3. [wiki:ED ED] [[BR]] 3.3.4. [wiki:Aaa AAA] [[BR]] 3.3.5. [wiki:PrivacyAndBilling Privacy & Billing] [[BR]] 3.3.6. [wiki:ExecutionManager Execution Manager] [[BR]] 4. '''Resource User Guide''' Once a Service Provider is hosting the SENSEI framework and community management components, and Resource Providers have registered resources with the Resource Directory, the system is ready to be used by consumers of resources. The most intuitive way to make use of the SENSEI system and access resources is through the [wiki:RuManagementGui Management GUI] on the pan-european testbed server or on your own private server. When using the SENSEI system for an application, the Management GUI plays the role of a Resource User. This guide includes an overview of using the basic SENSEI interfaces from a Resource User including implementation examples. 4.1. [wiki:RuManagementGui SENSEI Management GUI][[BR]] 4.2. [wiki:RuConnecting Connecting a Resource User] [[BR]] 4.2.1. [wiki:RuAaa Access control] [[BR]] 4.2.2. [wiki:RuRli Resource Lookup Interface] [[BR]] 4.2.3. [wiki:RuRai Resource Access Interface] [[BR]] 4.2.4. [wiki:RuSqr Semantic Query Interface] [[BR]] 4.2.5. [wiki:RuEdi Entity Directory Interface] [[BR]]