This chapter introduces how OM2M integrate OSGi DAL devices by using DAL IPE Plug-in.
Introduction to OSGi DAL
OSGi DAL (Device Abstraction Layer) is a specification that provides a unified interface for application developers to interact with sensors, devices, etc. connected to a gateway. Application developers don't have to deal with protocol specific details which simplifies the development of their applications.
That dynamic behavior of devices is well mappable to the dynamic OSGi service registry. When a new device is available in the network, there is a registration of a Device service. It realizes basic set of management operations and provides a rich set of properties. The applications can track the device status, read descriptive information and follow the device relations.
For more details about OSGi DAL, please refer to the OSGi Residential specification.
Introduction to DAL Plug-in
OSGi alliance releases the code of service interfaces defined in OSGi specification. For some reasons, it is not allowed to directly use these packages as a bundle. DAL Plug-in is therefore created for exporting the OSGi DAL service packages to DAL IPE and DAL Driver plug-ins.
Introduction to DAL IPE Plug-in
DAL IPE Plug-in is an implementation of InterworkingService, developed by following the guide of Develop an IPE Plugin. It listens to the OSGi service registry, dynamically obtains the OSGi DAL device objects, and converts device objects into oneM2M resources, so that developers can interact with DAL devices through oneM2M interface.
Since DAL IPE needs to catch the function event generated by DAL device function, the Event Admin service plug-in is also required besides DAL plug-in.
OSGi alliance is developing the specification of OSGi interworking service for oneM2M networks. The main design principle of the interworking specification is similar to this plug-in. After the release of the specification, few changes need to be done to make this plug-in fully compliant with OSGi specification.
Introduction to DAL Driver Sample Plug-in
DAL Driver Sample plug-in is an implementation of OSGi DAL device service. It simulates an electronic fan device with 4 device functions. A GUI is showed after running this plug-in, and operating this GUI can generate the corresponding function events. This plug-in gives developers an example to illustrate the result of using DAL IPE plug-in.
11 ACTIVE org.eclipse.equinox.event_1.3.100.v20140115-1647 28 RESOLVED org.eclipse.om2m.dal_1.0.0.qualifier 29 ACTIVE org.eclipse.om2m.dal.driver.sample_1.0.0.qualifier 32 RESOLVED org.eclipse.om2m.interworking.service_1.0.0.qualifier 33 ACTIVE org.eclipse.om2m.ipe.dal_1.0.0.qualifier
After DAL IPE and DAL Driver Sample plug-ins are both successfully started, the fan device is automatically converted into an AE resource, its functions are converted into container resources, and function events are converted into container-instance resources, as shown in the following picture.