Internet of things basics


Published on

A slightly updated version of the Internet of Things presentation previously uploaded.

Published in: Internet, Technology, Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Preps:
    VendMe Verbindung, etwas durchgebrowsert
    Device Cloud Verbindung, etwas durchgebrowsert
    Raspberry Pi Verbindung und Button-Funktionalität/emu ran, ip address?
    VM started, Windows Eclipse
    Mac Eclipse
    Quicktime gestartet, new movie recording
    Oracle PDF geöffnet
  • Why does it make good sense to make coffee machines talk to the Internet?
    Reference to Java history as originally embedded?
    Focus: cellular connected devices and WAN, not LAN/ZigBee/Gateways.
    Disclaimer: We show examples, devices and services for illustration, not for advertisement.
    If you are interested in details of concrete product, come downstairs after talk. Also more demos available.
  • Why?
    Conclusion: It makes sense.
  • Stefan: Was ist der Hype, und warum ist das jetzt ein besonderer Hype?
  • Die Hauptbegriffe sind M2M (machine to machine) und IoT.
    Was bedeuten diese? Bezeichnen beide das gleiche? Wo liegen die Unterschiede?

    Zuerst muss ich sagen, das die folgende Sicht unsere Sicht ist.
    Manche Marketing Abteilung benuzten IoT fuer alles was mit zB mit mobiler Komminkation von Machinen zu tun hat.
    Wir glauben aber, das es ein wirkliches “Internet” (!!!) der Dinge kaum gibt und erst in ein paar Jahren realiisert wird.

    Aber zu den details:

    M2M gibt es schone lange…

    Was wir heute sehen, ist eine verstarkete einfuhrung von ,,,,

  • Price drop with MCU’s:
    32-Bit-Mikrocontrollern vorgestellt. RX62N und RX621 gebieten über bis zu 512 KByte Flash-Speicher, 96 KByte SRAM sowie 32 KByte Flash für veränderliche Daten. Sie takten mit 100 MHz und bieten Peripherie-Schnittstellen wie Ethernet, CAN und USB.

    Wir haben anfragen fuer .45 cent fuer eine Loesung bekommen (ohne Geraet)
  • Today: Do your Enterprise IT systems “know” what is really happening or do they only know what we tell theM?
    Ex: Do they “know” the warehouse stock level?

    Creating a virtual image of the real world’ with real-time or near real time data feed using Sensors, Actuators’, ‘You can only manage what you can measure’

    Besipiel: Chasless Payment device: Der Eigentuemer kauft es, und weiss nicht ob es uberhaupt funktioniert.

  • Collaborative Consumption: TED talk from Rachel Botsman
  • M2M Market ist in einer Hype phase, viele Artikel in FAZ, c’t, und anderen Zeitungen.
    Ein Zahl, die haufig genannt wird, ist 50 Millarden connected devices in 2020.

    Das ist natuerlich alles Kaffesatzlesen und keiner Weiss es wirklich genau.
    Was fuer technicer interessanter ist, ist WIE alle diese devices verbunden sind.
    Hier mal eine Statistik fuer 2015, die so ungefahre auch heute gilt.

  • Steckkonzept: Many ready-made components (“shields”), PiFace/Gertboard, … no soldering required.
    Show PiFace in camera

  • JavaME Embedded: > 130 KB memory, JaveSE Embedded: > 32 MB
    Example for niche: Leak measurement may require guaranteed millisecond precision.
    Example for extremely cost-sensitive: €10 GPS device.
  • Show Cinterion, Kontron, mention Keil as reference implementation of Java ME Embedded
  • Standard Architecture to solve the tehcnical issues (and also to unify the value chain):

    Explain what comes next: Smart Agent / M2M application Platform
  • Current state of the art: Bespoke from device to application
  • Trend towards device independent platforms. Trend towards cloud, but many not there yet.
    Definition of cloud: Subscriptions as business model  Xively brand new, but minimum $1000/Jahr
  • Expect more to come
  • Demo Device Cloud!
  • “M2M for everyone” is closer than ever.
  • Reduced Java SE for ARM, Freescale, Embedded x86 > 32MB
  • IMP-NG: 2005.
    - Lcdui package
  • Order from Adafruit, Farnell, Konrad, Amazon, …
    Java ME Embedded 3.3 currently developer preview but coming out soon, bit shaky yet, PiFace not yet supported
    _policy.txt: allow: device_access, add permission and
    Run sudo ./  runs me and opens remote management port
    Eclipse ME plugins (= Nokia) less maintained than NetBeans (Oracle) …
    Start Eclipse, open Device Manager
    Again a few bugs, NPE, looses connection
    Don’t forget permissions to device access
    Run first on emulator
    Add to device manager -> shows up
    Conclusion: Very fast turnaround times, simulator is good
  • Or Gertboard or others …
  • Device-neutral APIs  doesn’t mean that they are actually existing, no package manager/driver concept existing

  • Slide 3, 10, 19
  • “Back to the future”
  • Show dialup?
  • Internet of things basics

    1. 1. © Cumulocity GmbH 2014 Internet of Things An introduction
    2. 2. © Cumulocity GmbH 2014 We would like you to … • Understand Machine-to-Machine (M2M) and Internet of Things (IoT) in business environments. • Learn about – How to build IoT devices. – How to connect IoT devices. – How to build IoT applications. • Be inspired to invent!
    3. 3. © Cumulocity GmbH 2014 Agenda Application Mobile network What? Why? Why now? 2 4 5 Embedded Device 3 Demo 1
    4. 4. © Cumulocity GmbH 2014 Demo
    5. 5. © Cumulocity GmbH 2014 Why do you connect coffee machines? • Operational improvements. – Optimized workforce (pre-kitting, spare parts, route optimization). – Machines filled according to customer demand. – Timely repair of broken or unavailable machines. – Reduced fraud. • New business models. – Revenue share. – Service-level agreements. • New service offerings, new revenue streams. – Cashless payment and vouchers. – Advertising on the machine. – Re-sell data to food vendors. Regulation:Accountability.
    6. 6. © Cumulocity GmbH 2014 Agenda Application Mobile network What? Why? Why now? 2 4 5 Embedded Device 3 Demo 1
    7. 7. © Cumulocity GmbH 2014 Time Bespoke HW solutions + HW device centric (customized) + large Enterprises centric + per device type offerings Generic Software solutions + Software Products, incl. SaaS become mainstream + Enterprises but increasingly SME driven market + seldom used standards + first eco-systems evolving The ‘Internet of Things’ + Data monetization, incl. ‘Big Data’ + More consumer driven market + Devices and Server decoupled + Easy Mashups What is M2M and Internet of Things (IoT)? TODAY ~2016 Millions of M2M Devices Billions of Sensors 100s of Million of M2M Devices M2M Internet of Things
    8. 8. © Cumulocity GmbH 2014 Why is M2M and IoT happening now? Device Costs Software as a Service Application Communication Unit (Modem) Communication network Processing Unit (MCU) Communication Costs M2M 1 x >50k€ >10€/month 300-1000€ 20€ Closed IT Today 5-20€/month >1€/month 100-500€ >10€  Cloud IoT 1-15€/month << 1€/month < 100€ >2€ TCO/month for 2 years Enterprise Mindset
    9. 9. © Cumulocity GmbH 2014 Why to use M2M in a business? #1 Business Process optimization #2 Introducing new Business Model #3 New Service Offering / New Revenue Streams Why M2M?
    10. 10. © Cumulocity GmbH 2014 Examples: remote maintenance, logistical process improvements, smart city use cases Bring assets online, connect IT with the real world Enterprise IT e.g. ERP DevicesAssets Middlewarelayer e.g.CloudPlatform Wide Area Network Operations Why? #1 Business process optimization
    11. 11. © Cumulocity GmbH 2014 Examples: cars, insurance (UBI), printing, coffee machine, machines, … DevicesAssets Middlewarelayer e.g.CloudPlatform Wide Area Network Operations Billing, CRM Invoice Usage- & event-based pricing Why? #2 Introducing new business model
    12. 12. © Cumulocity GmbH 2014 DevicesSensors Middlewarelayer e.g.CloudPlatform Wide Area Network Data Monetization Example: • Telematics Traffic Data • Voucher Redemption Data New Services Example: • eCall • Advertising billboard Why? #3 New service offering/revenue streams
    13. 13. © Cumulocity GmbH 2014 How are the billion devices connected? Focus 120 Millions Connections (Wide area fixed, MAN) 2,400 Millions Connections (Bluetooth, ZigBee, RFID, etc) 820 Millions Connections (2G, 3G, 4G, Satellite) Short range Mobile Fixed 2G 3G 4G M2M opportunity 2015: around 3.3 billion connections Source: Machina, M2M Global Forecast & Analysis 2010-20, October 2011
    14. 14. © Cumulocity GmbH 2014 Agenda Application Mobile network What? Why? Why now? 2 4 5 Embedded Device 3 Demo 1
    15. 15. © Cumulocity GmbH 2014 Demo
    16. 16. © Cumulocity GmbH 2014 How do you build connected assets? What do you need? • Asset to equip (room, car, machine, …). • Sensors and controls (temperature, accelerometer, switch, …). • Sensor network (cable, serial, ZigBee, WiFi, …). • Embedded/local processing (microcontroller, embedded PC). • (Mobile) internet connectivity (GPRS modem & SIM, DSL, …).
    17. 17. © Cumulocity GmbH 2014 Sensor network architecture Example: • Home automation sensors (temperature, power, switches, …). • Short range radio: Z-Wave/ITU, ZigBee/IEEE, Enocean, … • M2M gateway.
    18. 18. © Cumulocity GmbH 2014 Sensor network architecture Example: • ECG, blood sugar. • Bluetooth. • Mobile phone as gateway.
    19. 19. © Cumulocity GmbH 2014 Sensor network architecture Examples: • Pressure sensor. • RS232 connection. • M2M modem.
    20. 20. © Cumulocity GmbH 2014 Sensor network architecture Example: Hobbyist kits • Light sensor. • GPIO. • GBoard (Arduino with on-board modem) & shields, Raspberry Pi & PiFace, Tessel.
    21. 21. © Cumulocity GmbH 2014 Programming at sensor network level • “Barebone” (e.g., Arduino, C/C++, assembly). • Embedded OS (QNX, RTX, OpenAT, AppZone). • Java ME, Android. • Standard OS plus Java SE Embedded (OSGi, Python, Lua, …). • Convenient, portable and widely known environments like Java ME or SE run today on devices < €30. • Barebone microcontrollers mainly for – Hard real-time. – Cost-sensitive. – Battery-sensitive.
    22. 22. © Cumulocity GmbH 2014 From development to production • Development and small numbers: Development boards. – Multiple sensor network connectivity options. – Good processing power, memory, … – Larger, more expensive (~ 100-700 Euro). • Production use: Custom production hardware. – Only required sensor network option, processing, memory, … – Housing, adaptation to environmental conditions (temperature, outdoors/indoors). – Size and cost optimization.
    23. 23. © Cumulocity GmbH 2014 Agenda Application Mobile network What? Why? Why now? 2 4 5 Embedded Device 3 Demo 1
    24. 24. © Cumulocity GmbH 2014 Connectivity Device Server Application Embedded Software Communication network How to do it over a mobile network? Common Myths Standards
    25. 25. © Cumulocity GmbH 2014 Why is IoT different from your personal phone? Mobile Phone M2M User Person Machine Sale B2C, B2B B2B Payment Pre-pay, Post-pay Diverse Activation At point of sale Varied Support User calls helpdesk Transparent self-help ARPU 10-20 EUR >1 EUR Operators provide a M2M specific Service Portal! !
    26. 26. © Cumulocity GmbH 2014 Device Middleware Layer Cloud Platform Your Device Software M2M Service Portal Smart Agent Communication network Your Device Software How do typical mobile M2M Solutions look like?
    27. 27. © Cumulocity GmbH 2014 M2M Service Portal Reduce your provisioning and support effort. Based on our experience, you might want to check for:  Are APIs is available?  Is mass subscription provisioning efficient?  Are lifecycle events available?  How easily can problems be identified to be on operator side?
    28. 28. © Cumulocity GmbH 2014 Example: M2M Service Portal features
    29. 29. © Cumulocity GmbH 2014 Other selections to make: • SIM card • IP Connectivity/VPN/IPSec • Roaming / Countries What else needs to be considered?
    30. 30. © Cumulocity GmbH 2014 IPSO Power Control c’t 09/13, p.98 Myths #1: The “thing” must be a server
    31. 31. © Cumulocity GmbH 2014 Device is Server Device is Client Security Very High Risk No open port => lower Optimal for Actuators Sensors Data sharing By device (not in mobile!) By server Data Access & Scaling Difficult to impossible Easy and cheap Addressing Static IP Dynamic & Private IP Consequenc e Requires VPN Requires Device Push Myths #1: The “thing” must be a server
    32. 32. © Cumulocity GmbH 2014 RFID und IPv6 als Wegbereiter Die Grundlage dafür [vernetzte Geräte] hat unter anderem IPv6 geschaffen. c’t 09/13 Our view IPv6 neither needed nor really speeding up projects. Assuming that devices are clients (and not server) Myths #2: IoT requires IPv6
    33. 33. © Cumulocity GmbH 2014 Long polling (LP) counter arguments Reality Why? LP drains battery Limited Check 2G/3G Idle State LP is expensive to keep alive Very Limited And provides availability 4464 bytes / month (blank every 10 mins) LP is slow No, its faster No TCP connection setup Problem: How to control actuators if devices have private/dynamic IP addresses? Answer: Long Polling, open TCP connection and keep it open using keep-alive ping. Server sends control commands when these are available. Myths #3: Long polling will not work
    34. 34. © Cumulocity GmbH 2014 The nice thing about standards is that you have so many to choose from. Andrew Tanenbaum, Computer Networks, 2nd ed., p. 254 Layer ETSI IPSO/CoAP M3DA MQTT Payload Defined, XML Defined, Text Partially, Binary n/a Style RESTful RESTful ? Messaging Application Layer HTTP/SSL, CoAP HTTP/SSL, CoAP M3DA MQTT, SSL optional Transport Layer TCP UDP TCP, UDP, HTTP TCP Internet Layer IP IP IP IP Standards, here: device to server
    35. 35. © Cumulocity GmbH 2014 Agenda Application Mobile network What? Why? Why now? 2 4 5 Embedded Device 3 Demo 1
    36. 36. © Cumulocity GmbH 2014 Developing M2M applications today Bespoke development from device to application. • Custom hardware. • Proprietary protocol. • Own server-side and web application. Main issues • Cost, competence, complexity, risk: Building an M2M solution touches about all aspects of IT. • No scale, no ecosystem: Application only for device, device only for the application.
    37. 37. © Cumulocity GmbH 2014 The case for a generic M2M cloud platform • Most companies want to focus: – Business processes and services (enterprises). – Hardware and embedded software (device manufacturers). – Web apps and server-side (application developers). • A cloud platform helps companies – to make M2M affordable – to excel in their domain.
    38. 38. © Cumulocity GmbH 2014 Examples of generic M2M platforms Device vendors • Eurotech Everyware Device Cloud. • Sierra Wireless AirVantage M2M Cloud. • Etherios Device Cloud (was Digi iDigi). Pure software vendors • LogMeIn Xively (was Cosm, was Pachube). • Axeda M2M Platform. • ThingWorx. • Cumulocity. • And many many new players …
    39. 39. © Cumulocity GmbH 2014 Examples of generic M2M platforms Full bundles: Deutsche Telekom M2M Developer Platform.
    40. 40. © Cumulocity GmbH 2014 What do you get? Mileage varies, but typical functionality is: • Agent concept for connecting device to server. • Device management (SW/FW, configuration, faults, availability). • Storage for sensor data. • Rules resp. complex event processing. • APIs for development. • Hosting (some). • Device independence (few!!). Check what you need.
    41. 41. © Cumulocity GmbH 2014 Example: Cumulocity • Cloud scaling. • Full multi-tenancy. • Mobile enabled. • REST & HTTPS everywhere, open APIs. • Assets vs devices. • Decoupling of devices and applications, sensor library.
    42. 42. © Cumulocity GmbH 2014 Summary • Building M2M solutions will get simpler and simpler. – Pluggable device platforms like Raspberry Pi, Odroid, … (hobbyists) and CloudGate, NTC-6200, … (industrial). – Cheap connectivity. – Transparent cloud software platforms. – Bundles of all. • Thousands of use cases haven’t been thought of yet: Get a kit and invent!
    43. 43. © Cumulocity GmbH 2014 Backup
    44. 44. © Cumulocity GmbH 2014 Java Embedded variants Java versions for embedded/headless devices: • Java ME Embedded: CLDC, > 120 KB. • Java ME Embedded Client: CDC, > 1 MB. • Java SE Embedded: Java SE, > 32 MB.
    45. 45. © Cumulocity GmbH 2014 Java ME Embedded stack • CLDC (“Connected Limited Device Configuration”). – Barebone Java, selected java.lang, java.util and limited IO. • IMP-NG (“Information Module Profile – Next Generation”). – “MIDP – UI”. – “IMlets” == Midlet. • Optional APIs depending on device implementation.
    46. 46. © Cumulocity GmbH 2014 Useful optional Java ME APIs • JSR120 (Wireless Messaging): SMS/MMS. • JSR179 (Location): Coordinates and locations. • JSR256 (Mobile Sensor): Generic sensor access. • Oracle Device Access: GPIO, I2C, UART, AD/DA, AT commands, … • Oracle Application Management Software: Install/remove IMlets.
    47. 47. © Cumulocity GmbH 2014 Java ME Embedded for the Raspberry Pi Device: • Raspberry Pi + SD card + USB power. • Check jumpers (JP1 & JP2 = 0). • Install Raspbian image (hard float), Java ME Embedded 3.3 EA. • Edit permissions for development and run. PC: • IDE + ME Plugins + (Windows-only) SDK, discover SDK in IDE. • Eclipse Manifest bug: IMP-NG-2.0 => IMP-NG, restart. Develop …
    48. 48. © Cumulocity GmbH 2014 Java SE Embedded for the Raspberry Pi Device: • Add PiFace, activate SPI kernel module. • Install Java SE Embedded 8 EA. • Install pi4j (Java & WiringPi native libraries). PC: • Your standard installation on all OS. Develop …
    49. 49. © Cumulocity GmbH 2014 ME vs SE Benefits of Java ME Embedded: • Small footprint. • Design for embedded/remote development, decouple hardware and software development (simulator). • Device-neutral APIs (JCP or Oracle). Benefits of Java SE Embedded: • State-of-the-art language features. • Huge user base of Java SE (tooling, libs).
    50. 50. © Cumulocity GmbH 2014 Outlook • Closer convergence of Java ME Embedded and Java SE Embedded with Java 8.
    51. 51. © Cumulocity GmbH 2014 Sending data to the cloud • Modem controlled usually through AT commands over serial line. • ~200 commands standardized in ETSI & 3GPP (ref. here). • Usual dialog (e.g., Kontron M2MSSDK, followed by PPP): ATZ OK AT+CPIN? +CPIN: SIM PIN AT+CPIN="<pin>" OK AT+CGDCONT=1,"IP","<apn>" ATDT*99# Reset modem to default parameters Check if SIM is locked (READY, SIM PUK, SIM PIN2, …) Unlock SIM (Cannot be unlocked multiple times) Set APN to be used Dialup to the network
    52. 52. © Cumulocity GmbH 2014 AT+CMGS="+4915155153908",145 Hi JUG! [Ctrl=z] OK Sending SMS Or JSR205 (Wireless Messaging API): MessageConnection conn = (MessageConnection)"sms://+4915155153908"); TextMessage msg = (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE); msg.setPayloadText("Hi JUG!"); conn.send(msg); Send SMS (145 = MSISDN) Text on the next line End of text (Java = (char)26
    53. 53. © Cumulocity GmbH 2014 Shortcuts Or proprietary extensions and convenience libraries, e.g., dialup from J2ME on a Cinterion EGS5/5x: new send("AT^SJNET="gprs","<apn>","",""rn");
    54. 54. © Cumulocity GmbH 2014 Practicalities • Most M2M SIMs have no PIN, most M2M APNs have no username or password (because there’s no one to type it in). • Use an M2M APN with your M2M SIM card.
    55. 55. © Cumulocity GmbH 2014 Practicalities with SMS SMS could be used for sending data to devices. However, • May be optional or restricted in M2M SIMs. • Too expensive for regular communication. • Security: Don’t send data to devices, just send them a wakeup. Vodafone GDSP example: • M2M SIMs have no MSISDN. • WebServices API for sending SMS to device.