The Android Platform in the “era” of Internet of Things - Droidcon Italy 2014


Published on

The widespread availability of mobile devices, significantly changed the market making them attractive to an endless number of always connected applications and services. At the same time, academia and companies focused and invested significantly on the Internet of Things (IoT) and the Machine- to-Machine (M2M) paradigm. IoT and M2M are inherently ready to be integrated with the World Wide Web and many approaches and techniques have been shared and extended. In this scenario many actors start talking and defining the concept of Web of Thing (WoT) envisioning a world where devices are exposed using WWW languages. In this session, you will be briefly introduced to the main concepts that characterize and define the Internet of Things and how mobile devices will play a fundamental role in the upcoming global scenario. The session will introduce and present the characteristics of the main approaches and protocols adopted in M2M and IoT applications (in particular CoAP, CoSIP, MQTT, and HTTP) and how they could be used on the Android platform through some key libraries and examples. Main challenges that will be faces during the talk are related to the communication among heterogeneous devices, the protocols management and the dynamic service discovery.

Published in: Technology

The Android Platform in the “era” of Internet of Things - Droidcon Italy 2014

  1. 1. The Android Platform in the “era” of Internet of Things Marco Picone, Ph.D. Università degli Studi di Parma @marcopk Droidcon Torino - 2014
  2. 2. @me I am a Postdoctoral Research Associate at the University of Parma. I have received from the same University the Dr. Ing. degree (Master) in Computer Engineering "cum laude" in 2008 and the Ph.D. degree in Information Technologies in 2012. My research activity focuses mainly on: - Distributed and Peer-to-Peer Systems - Vehicle-to-Vehicle and Vehicle-to-Infrastructure communications - Mobile & Pervasive Computing - Internet of Things, Wireless Sensor Networks and Mobile based Sensing @marcopk
  3. 3. Keynote Objectives Internet of Things Overview Mobile World & IoT - History, Forecast, and IoT Motivations
  4. 4. Where we started ? Since from the beginning of the Internet, there was the desire to connect more “things” to it. Source: ARPANET Completion Report: January 4, 1978. v=vuiBTJZfeo8
  5. 5. Where are we today ? The internet now connects billions devices anywhere!
  6. 6. The Internet Growth We are living the “Mobile-Centric” age !
  7. 7. The mobile-centric world WiFi WiFi Direct 3G/4G Bluetooth NFC Social Accounts Address Book Phone Calls Location (GPS, 3G, WiFi) Shared Data Phone / Tablet NFC Payment Remote Services Browsing Data Photos / Videos ........... Smart TV/Display
  8. 8. The mobile-centric world “What a difference 8 years makes: St. Peter’s Square in 2005 and yesterday” Mobile Devices changed almost the entire ICT world in terms of new and already existing software, hardware and services !
  9. 9. What’s next ? Wearable Computing Revolution in 2014 ? Glasses Motion Sensors Smart Watches SDK “Mobile handsets & tablets are attraction points for surrounding personal smart devices”
  10. 10. Where we will be in the next years ? The internet will connect from 10 billion to 15 billion devices ! 50 billion in 2020 ? Internet of Things Age whitepapers/wp-50-billions.pdf internet-of-things-billions-ofconnected-devices-2014-1
  11. 11. The Internet of Things (IoT) “A network of networks with billions of uniquely identified physical smart objects organized in an Internet-like structure” “Smart Objects are items such as sensors, consumer devices, and enterprise assets that are connected to both the Internet and each other”
  12. 12. The Internet of Things (IoT) The vision of IoT is to integrate at the same time new and existing approaches and technologies (such as Mobile & Pervasive Computing, Machine-to-Machine,Ambient Intelligence, Wearable technology, Cloud Computing etc ...) to: • Properly use existing protocols and define new standards • Manage Heterogeneity and dynamism at different levels (Physical, Data Link, Network, Transport, Session, Presentation and Application) • Open the networks to new services and technologies • Open the data to create new aggregated and enriched services
  13. 13. IoT Application Scenarios Parking Building Lighting Grid Mobility Health Agriculture .... Several of these sub-systems have been already studied as isolated networks. The vision of IoT is, starting from the existing experience, to design new approaches and technologies to connect all these subsystems in a smart Internet-like structure where the keyconcepts are Integration & interoperability among services and data analysis.
  14. 14. The Information Flow Machine-to-Machine Sensor Stream Human-to-Machine Crowdsourcing Improve Efficiency “Big Data” Analytics Offer New Services Information-to-Machine Internet Power Application Feedbacks & Updates
  15. 15. Multiple Applications (Integration) Application 2 Lighting Efficiency Parking “Big Data” Analytics Application 1 New Services Power Applications Mobility Application 3 Feedbacks & Updates
  16. 16. Services (Mobility, Energy Efficiency, Monitoring, Security, etc ..) Data Collection & Processing (Business Intelligence, Data Mining, Data Aggregation, etc ...) Smart Objects (Data producers and Data Consumers) Integrated, Shared & Seamless Connectivity (WiFi, ZigBee/802.15.4, 3G/LTE, ...) Security and Authorization for multiple accesses IoT Building Blocks
  17. 17. Involved Actors Cloud Services Access Networks Users Mobile Devices Smart Objects
  18. 18. IoT Open Challenges The main challenges that have to be faced in the IoT world are: - Allow the connectivity of thousands of different devices in the same area using different access technologies and protocols - Manage heterogeneity and dynamism through Service Discovery and Protocol Translation - Efficiently collect data from different sources - Process collected data - Adapt and improve the deployed systems - Provide new services
  19. 19. IoT and Sensor Network HW & SW - Sensing and actuation capabilities - Contiki OS - 8, 16 or 32-bit MCU - Tiny OS • • More and more 32-bit, - Arduino-like i.e. ARM Cortex M3 - Linux-like - Small memory (tens or hundreds of kB) - Power source: battery or mains Low-power radio (e.g. sub-GHz, 2.4 GHz) Sometimes with energy harvesting Mainly for constrained nodes
  20. 20. IoT Protocols HTTP XMPP MQTT ... CoAP TCP ... UDP IP [ IPv6 (6LoWPAN + RPL) or IPv4] WiFi ZigBee/802.15.4 Sensor Stream Traditional IP stack ! Many IETF Standards PLC Bluetooth IP connects a variety of link layers Wired or wireless ...
  21. 21. IoT Transport Layer Like in the traditional Internet: TCP and UDP HTTP XMPP MQTT ... CoAP TCP No specific adaptation (other than 6LoWPAN compression) ... UDP IP [ IPv6 (6LoWPAN + RPL) or IPv4] WiFi ZigBee/802.15.4 Sensor Stream PLC Bluetooth ...
  22. 22. IoT Application Layer A variety of application layers HTTP XMPP MQTT Borrowed from the Internet (HTTP, XMPP) or not (CoAP, MQTT) ... CoAP TCP Most common goal: enable RESTful interaction ... UDP IP [ IPv6 (6LoWPAN + RPL) or IPv4] WiFi ZigBee/802.15.4 Sensor Stream PLC Bluetooth ...
  23. 23. IoT Application Protocols - CoAP [UDP]: is used for resource constrained, low-power sensors and devices connected via lossy networks, especially when there is a high number of sensors and devices within the network. - HTTP (with a RESTful approach) [TCP]: is particularly attractive for connecting consumer devices, given the near universal availability of HTTP stacks for various platforms. - MQTT [TCP]: is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.
  24. 24. IoT Real Scenario The Internet REST API Smart Object (SO) IoT Network Client IoT Hub Internet Server Client HTTP Data Cache S Server HTTP Data Storage CoAP IoT Hub S CoAP S CoAP Server Data Storage Data Storage, Processing, Aggregation and Distribution S CoAP S CoAP Data Source/Stream, manage Incoming and Outgoing requests/responses SO
  25. 25. IoT Real Scenario The Internet IoT Network Client HTTP Smart Objects cooperate among them and with the IoT Hub Data Cache S Server HTTP Data Storage CoAP IoT Hub S CoAP S CoAP Server Data Storage S CoAP S CoAP
  26. 26. IoT Real Scenario The Internet IoT Network Client HTTP Smart Objects cooperate among them and with the IoT Hub Data Cache S Server HTTP Data Storage CoAP IoT Hub S CoAP S CoAP Server Data Storage S CoAP Smart Objects that go directly to Internet S CoAP
  27. 27. IoT Real Scenario The Internet Client HTTP IoT Network IoT Hub is the bridge between the Internet and the IoT. Translates protocols and cache data. Smart Objects cooperate among them and with the IoT Hub Data Cache S Server HTTP Data Storage CoAP IoT Hub S CoAP S CoAP Server Data Storage S CoAP Smart Objects that go directly to Internet S CoAP
  28. 28. Real Scenario with Mobile Devices The Internet IoT Network The Internet Data Cache IoT Network S Server HTTP Data Storage CoAP IoT Hub HTTP HTTP HTTP S CoAP S CoAP CoAP S
  29. 29. REpresentational State Transfer (REST) - REST is an architectural model based on clients and servers, based on the HTTP protocol All requests are related to resources (identified by a URI) and are represented by a document containing the details of its state, e.g. a JSON- or XML-formatted document - It is possible to perform 4 operations on a resource, each mapped to a HTTP request method: • GET: retrieve the state of the resource identified by the given URI • POST: create a new resource with the supplied state • PUT: update an existing resource identified by the given URI with the supplied state • DELETE: delete the resource identified by the given URI - Advantages of the REST paradigm are: standard, uniform interfaces, semantics of HTTP methods, stateless.
  30. 30. REST vs. Web Services REST Resource SOAP Service WSDL/ WADL JSON-WSP WSDL/ WADL application/xml application/json application/soap+xml <?xml?> <temp unit=“C”>50 </temp> GET /sensor/temp { “temp”=50, “unit”=”C” } GET /sensor/temp HTTP Header Body RequestSensor(temp) POST /sensor/service
  31. 31. CoAP Protocol - Application-layer protocol designed to be used by constrained devices in terms of computational capabilities, which may feature limited battery and operate in constrained (low-power and lossy) networks - Designed by the IETF CoRE Working Group - draft 18 now in RFC queue - Support for multicast communication - REST communication paradigm Lightweight, binary protocol that can be translated to HTTP easily in order to guarantee the integration with the WWW CoAP runs on top of a lightweight transport, i.e. UDP Request/response communication model, support for asynchronous message exchange
  32. 32. CoAP and REST - CoAP uses the four methods GET, POST, PUT, and DELETE in the same way as HTTP to operate on resources - GET: instructs the CoAP server to retrieve the representation of the targeted resource; responses are 2.05 Content or 2.03 Valid in case of success, 4.04 Not Found - POST: instructs the server to create the resource; response is 2.01 Created PUT: instructs the server to update the targeted resource; response is 2.04 Changed DELETE: instructs the server to delete the targeted resource; response is 2.02 Deleted both in case the resource was deleted or did not exist
  33. 33. Service Discovery - Service Discovery is a fundamental component in dynamic environments to allow consumer devices and applications to find and interact with available services. - Other Networks SD could be performed: • In the local network [e.g. automatically accessing a building and connecting to the available WiFi Network] Internet • Through different networks [e.g. Inside a target geographic region, “which services are available around me now ?”] - Different Technologies could be used • Central infrastructure or repository • Distributed or peer-to-peer architecture • Multicast-based protocols S S S S Local Network
  34. 34. Voilà Project - The Voilà Project allows to build IoT Networks where involved Actors & Smart Objects automatically and without any configuration discover, connect to or disconnect from the network using the service discovery protocol and standard protocols such as HTTP & CoAP. - Voilà involves - CoAP implementation to the last IETF Draft (Java, Android, and Arduino) (Contiki soon ? ) - Service discovery procedures in local networks and distributed overlays - IoT Hub implementation with: • Protocol Translation (HTTP <-> CoAP) • Resource Directory • Proxy functionalities
  35. 35. Voilà Demo HTTP JSON SD controller JSON Data Fetcher HTTP Discovery of IoT nodes JSON IoT HUB Continuous requests of cached data Update Smart Display (SD) Presented @ SPS IPC Drives Italia - Parma, May 2013 Fiera dell’automazione 2013 CoAP JSON
  36. 36. Voilà Demo (Sensor Join)
  37. 37. Voilà Demo (Sensor Disconnection and Re-Join)
  38. 38. Voilà Demo (Interaction with a Mobile Device)
  39. 39. Internet of Things & Smart Cities Event The aim of the Ph.D. School has been to address young researchers to the forefront of research activity on Smart Cities & Internet of Things, by presenting state-of-the-art research together with the current and future challenges. International speakers from academia and industry gave lectures tailoring their research field for an interdisciplinary audience. A dedicated discussion panel focused on the interaction and the collaboration between academia and industry in order to depict the future vision of Smart Cities and IoT. 2014 Call - Join the Community ! sponsored by
  40. 40. References - Acknowledgments Daniele Sportillo [BsC] Daniele Gilli [MsC] Mirko Mancin [BsC, MsC] Mattia Antonini [BsC] Gabriele Ferrari [BsC, MsC] Giacomo Brambilla [Ph.D. Student in the DSG Group]
  41. 41. @marcopk Thank you ! Marco Picone, Ph.D. Università degli Studi di Parma Droidcon Torino - 2014