Tech pages/IoT XepsExplained

From XMPP WIKI
Revision as of 14:57, 29 July 2013 by Jocke (talk | contribs) (→‎Layout)
Jump to navigation Jump to search

Layout

 Main Main page
 IoT_XepsExplained Description of xeps and their interaction
 IoT_Examples Mashup some examples from different industries, help finding new ones
 IoT_Support Here we describe who support this and related work that can help you.
 IoT_Interoperability How we will keep everything truly interoperable
 IoT_XMPP_Process How is the process of the xep's and interoperability interfaces managed
 IoT_ConstrainedDevices Going in to the world of restricted devices we need special care.
 IoT_LocalEnvironment When dealing with home automation or a local network we need serverless or a local server configuration
 IoT_HttpOverXmpp This extension creates a view of webservices through the XMPP network


overview

At a first glance this can seem hard to grasp with many extensions but it is really simple.

We need to access and control nodes and this is basicly done through two xeps the IoT sensor-data and IoT-control

Other extensions just cover more complex structures and ways of abstracting lower level transport protocols and hardware.

and if nodes are behind a complex technology we need to find them behind a concentrator and then be able to put a device in use we need the provisioning. When creating more advanced systems discovery and pubsub and eventing will be needed but if you just started concentrate on xeps

Base Specifications

The core is 4 xeps that together describes more or less any interesting system solutions. The concentrator is large since it contains management of a whole network of connected devices

 Provides the underlying architecture, basic operations and 
 data structures for sensor data communication over XMPP networks. 
 It includes a hardware abstraction model, removing any technical 
 detail implemented in underlying technologies. 
 This XEP is used by all other sensor network XEPs.
 Defines how to control actuators and other devices in
 sensor networks.
 Defines how to handle architectures containing concentrators 
 or servers handling multiple sensors.
 This specification. Defines how provisioning, the management of
 access privileges, etc., can be efficiently and easily 
 implemented.

Enhancing Specifications

When you have realised that this is the way to go and would like to create more advanced network solutions and collaborative IoT systems you need do expand a bit further. The need for these xeps are that the normal PubSub, Eventing, etc are somewhat limited since they are meant to be used in people to people communication and therefore lacks some functionality. Instead of squeezing machine to machine into the existing xeps.

  • xep-0000-IoT-Discovery
 Defines the peculiars of sensor discovery in sensor networks. 
 Apart from discovering sensors by JID, it also defines how to 
 discover sensors based on location, etc.
  • xep-0000-IoT-Events
 Defines how sensors send events, how event subscription, 
 hysteresis levels, etc., are configured.
  • xep-0000-IoT-Multicast
 Defines how sensor data can be multicast in efficient ways.
  • xep-0000-IoT-PubSub
 Defines how efficient publication of sensor data can be made 
 in sensor networks.
  • xep-0000-IoT-BatteryPoweredSensors
 Defines how to handle the peculiars related to battery powered
 devices, and other devices intermittently available on the network.

Interoperability Specification

In all networks that combines information from different systems over business and technology borders the crucial thing is to get interoperability. And there is no other way to do this than creating specifications that adds the "common good practices" to make things speak the same language. The interoperability spec will be a moving target with constant elaboration to enable true interoperability between systems

  • xep-0000-IoT-Interoperability
 Defines guidelines for how to achieve interoperability in 
 sensor networks, publishing interoperability interfaces for 
 different types of devices.

Supporting Specifications

  • XEP-0000-ColorParameter
 Defines extensions for how color parameters can be handled, based on Data Forms [1]
  • XEP-0000-DynamicForms
 Defines extensions for how dynamic forms can be created, based on Data Forms [2], 
 Data Forms Validation [3], 
 Publishing Stream Initiation Requests [4] 
 and Data Forms Layout [5].
 Defines how to EXI can be used in XMPP to achieve efficient 
 compression of data. Albeit not a sensor network specific XEP, 
 this XEP should be considered in all sensor network 
 implementations where memory and packet size is an issue.