Open / Free Cloud platforms and Open Hardware Systems

5,445 views
5,241 views

Published on

Short presentation (<30min) given at the IEEE UCG Student Branch for open cloud platforms and interaction with open hardware

Published in: Technology

Open / Free Cloud platforms and Open Hardware Systems

  1. 1. Open/Free Cloud Platforms andOpen Hardware SystemsCharalampos DoukasInformation & Communication SystemsEngineerch.doukas@gmail.comwww.buildinginternetofthings.com
  2. 2. Overview• Cloud Computing – Some basic concepts you should know• Free / Open Platforms• Open Hardware• Communication Protocols M2M – M2Web• Examples
  3. 3. Cloud Computing – The Basics• The Cloud – The uses
  4. 4. Cloud Computing – The Basics• 3 basic service types SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
  5. 5. Cloud Computing – The Basics• 3 basic service types
  6. 6. Cloud Computing – The Basics SaaS
  7. 7. Cloud Computing – The Basics• Examples: PaaS – Google App Engine – Jelastic – AWS: S3 – Windows Azure – Phpfog – Phpcloud –…
  8. 8. Cloud Computing – The Basics• Examples: IaaS – Flexiscale – AWS: EC2 – Rackspacecloud – Windows Azure – ....
  9. 9. Cloud Computing – The Basics• Open Hardware communication• What for? – Applications (need Web interfaces) – DB Communication - Data management – Interfaces (REST APIs, …)
  10. 10. Cloud Computing – The Basics• Open Hardware communication – An example: – I have an innovative idea for an application – Devices– Sensors can become “friends” and exchange data – Based on common features – form groups
  11. 11. Cloud Computing – The Basics• Open Hardware communication – An example:• Pro – Cloud era: – Internet connection – Server (CPU, RAM, HDD, Ethernet..)
  12. 12. Cloud Computing – The Basics• Open Hardware communication – An example:• Pro – Cloud era: – Apache (Web Interface) – MySQL, NoSQL, …. – Application server
  13. 13. Cloud Computing – The Basics• Open Hardware communication – An example:• Pro – Cloud era: – Backup – UPS – 2+… Servers (Failure node, Test node)
  14. 14. Cloud Computing – The Basics• Open Hardware communication – An example:• Pro – Cloud era: – One instance: 100-1000 sensors (?) – Scalability? – $$$$$$
  15. 15. Cloud Computing – The Basics• Open Hardware communication – An example:• Cloud era: – PaaS / IaaS Provider – Focus on the Application / Data collection – $$ .... ->$$$$$
  16. 16. Platforms for managing sensor data• Software As A Service (SaaS) Free Open
  17. 17. Platforms for managing sensor data• Software As A Service (SaaS) + +
  18. 18. Platforms for managing sensor data nimbits.co m
  19. 19. Platforms for managing sensor data• Pachube – Free usage – Store, manage, visualize – REST API Free – Tools • Triggers / Alert management
  20. 20. Platforms for managing sensor data www.pachube.com
  21. 21. Platforms for managing sensor data Free
  22. 22. Platforms for managing sensor data Free
  23. 23. Platforms for managing sensor data My Android client: http://tinyurl.com/PachubeViewer Free
  24. 24. Platforms for managing sensor data• ThingSpeak Open https://www.thingspeak.com https://github.com/iobridge/Thi ngSpeak
  25. 25. Platforms for managing sensor data• ThingSpeak – Open Source API – Real-time data collection – Data processing Open – Data visualizations – Location-awareness – Status context – Application infrastructure – Twitter proxy – Apps, Plugins
  26. 26. Platforms for managing sensor data• Sen.Se Free http://open.sen.se/
  27. 27. Platforms for managing sensor data• Sen.Se• Specs: – REST API Free – Visualization http://open.sen.se/ – Triggers
  28. 28. Platforms for managing sensor data• Sen.Se
  29. 29. Platforms for managing sensor data• EVRYTHNG• Specs: – REST API Free – Visualization http://evrythng.net/ – Triggers
  30. 30. Platforms for managing sensor data• Nimbits Public Cloud Server nimbits.co m• Specs: Open – REST API – Visualization http://nimbits.com – Triggers / Alarms
  31. 31. Platforms for managing sensor data• Nimbits Public Cloud Server nimbits.co m• Specs: Open – Social Networks – M2M Επικοινωνία http://nimbits.com – Google App Engine
  32. 32. Platforms for managing sensor data• Nimbits Public Cloud Server nimbits.co m• Specs: Open – Intelligence! • WolframAlpha http://nimbits.com
  33. 33. Platforms for managing sensor data• Nimbits Public Cloud Server nimbits.co m• Specs: Open http://nimbits.com
  34. 34. Open Hardware• What is Open Hardware
  35. 35. Open Hardware• What is Open Hardware? – Free – Open Source Software (not free hardware!) – Open schematics – build instructions – Mostly found as : • Microcontrollers • Linux boards
  36. 36. Open Hardware• Arduino – No special introduction needed! – Microcontroller platforms – Great community support – A lot of apps + extensions
  37. 37. Open Hardware• Arduino – Communication – Ethernet – WiFi – GPRS – Through Android - Computer
  38. 38. Open Hardware• Arduino – Communication – Integrated solution • The Nanode
  39. 39. Open Hardware• RaspberryPi – Linux board – Ethernet – USB in, HDMI output – 700MHz ARM, 256 RAM, GPU – 35 £
  40. 40. Open Hardware• RaspberryPi• Sensors communication – GPIO• Internet communication – Ethernet – C/C++, Java, Python, QT, …
  41. 41. Communication Protocols– HTTP– WebSockets– CoAP– MQTT– ….
  42. 42. Communication Protocols– HTTP • REST Web Services • Simply just HTTP POST/GET Request: • Nimbits:http://nimbits1.appspot.com/service/currentvalue? value=23&point=Temperature&email=arduino.sensors.cloud@g mail.com&format=double&secret=0a6f15d6-bc57-4de7- be41-77263f4b3f6d
  43. 43. Communication Protocols– HTTP • REST Web Services • Arduino code:client.println("GET /service/currentvalue?value=" + s + "&point=test&email=&format=double&secret=xxx HTTP/1.1");client.println("Host:nimbits1.appspot.com");client.println();client.stop();
  44. 44. Communication Protocols– HTTP • Is it suitable for Cloud and devices interaction?
  45. 45. Communication Protocols – HTTP • Is it suitable for Cloud and devices interaction?• Overhead• Delays• Server overhead
  46. 46. Communication Protocols– WebSockets– New concept for real time message exchange over the Web– Open Server Session
  47. 47. Communication Protocols – WebSockets• API for Browsers (JavaScript)• Libraries for Java, PHP, Ruby …
  48. 48. Communication Protocols– WebSockets– Arduino library exists already!– Services that use WebSockets • Pusher • http://websocket.org/echo.html
  49. 49. Communication Protocols– Constrained Application Protocol (CoAP)– Based on HTTP principles • RESTful communication • BUT: UDP protocol– Supports multicast(-) Needs special ports open (5683 not 80/8080)Still Draft protocol
  50. 50. Communication Protocols– Message Queue Telemetry Transport (MQTT)– Machine 2 Machine– Publish / Subscribe Model– Already used by applications • Facebook messenger (iPhone/Android)– Open protocol– You need special software server– There is an Arduino library available!
  51. 51. Examples• Anything that can be connected to the Arduino – Sensors – Control (relay) switches• Cloud -> – Manage / Visualize data – Remote Control
  52. 52. Examples• Ideas for some Projects … – Read barcodes + Send information on the Cloud (Cloud-based shopping list) – Control power consumption (openenergymonitor.org) – Web home automation (smart home)
  53. 53. Thank you!–More info...–ch.doukas@gmail.com–http://www.buildinginternetofthings.com

×