130 likes | 134 Views
Learn how to integrate sensors and actuators into your application with Atlas, a plug and play service-oriented platform. Discover, access, and control devices through high-level software mechanisms. No hardware knowledge or embedded systems programming required.
E N D
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of Florida Gainesville, FL, U.S.A.
Introduction Homes Logistics sensors Actuators Structural monitoring Homeland Security
Motivation How do I integrate sensors and actuators into my application??
Atlas – In a Nutshell • A Plug and Play Service Oriented Sensor and Actuator Platform • Represents each of the devices (sensors and actuators) connected to it as software services • New devices automatically appear as services inside service framework upon power-up. • Application Developers do not require hardware knowledge or need to learn embedded systems programming to integrate sensors and actuators into their applications. • Sensors and actuators can be discovered, accessed and controlled through high-level software mechanisms • Provides homogeneous interface to heterogeneous devices
OSGi • Open Services Gateway initiative. Founded by Sun Microsystems, IBM, Ericsson and others in March 1999. Java based open standard. • A standard, service oriented software component framework for manufacturers, service providers, and developers. • Allows applications to dynamically discover and use services running inside the OSGi Service framework. • OSGi provides life cycle management for services and applications running inside framework. • Services/Applications (called Bundles) are installed with a standardized deployment format and can be started, stopped, updated, and uninstalled without requiring the JVM to be restarted.
Atlas Components • Hardware nodes • Software • Firmware running on hardware nodes • Components running inside OSGi framework • Service Bundles • Tools
Atlas Node Hardware • Modular Hardware Design • Processing Layer • Device Connection Layer • Communication Layer Device Connection Layer Communication Layer Processing Layer
Firmware • Runs on the Processing Layer of each Atlas node • Controls communications and processing on the node including low level interaction with the sensors and actuators • Written in C / compiled using AVR-GCC
Firmware Components • Device Controller • Communications Module • Command Handler • Onboard Processing Engine
OSGi based components • Runs inside an OSGi (Open Services Gateway initiative) framework such as Knopflerfish, Equinox or Felix. • OSGi is a Java based open standard • Provides mechanisms for service discovery and delivery • Runs on a single JVM and provides a sandbox execution environment • Core Components • Atlas Manager • Service Bundle Repository • Web based Configuration & Admin Tool • Eclipse Plug-in for creating smart space applications
OSGi Components • Network Communicator • Bundle Repository • Device Service Bundles • Configuration Manager • Network Manager • Desktop Viewer • Web based Configuration & Admin Interface
Bundles • Service Bundle Repository allows users to manage various sensor & actuator service bundles such as Pressure Sensor Bundle, Servo Bundle etc. • Bundles are Java applications packaged in a standard JAR file along with a manifest file containing certain OSGi specific headers • A Bundle can export its functionality as services to other bundles and can import other services for its own use • Bundle can be installed, started, stopped, uninstalled and updated inside the framework
Typical Atlas deployment External Application OSGi Service Framework Client Application Temperature Service Glucose Monitor Service Bundle Repository Web based Config Tool Atlas Manager Atlas Nodes Glucose Monitoring Device Temperature Sensor