26
CARRIOTS TECHNICAL PRESENTATION BUILDING AN INTERNET OF THINGS PROJECT Oct 2013 Alvaro Everlet, CTO [email protected] @aeverlet

CARRIOTS TECHNICAL PRESENTATION - Altair SmartWorks€¦ · CARRIOTS TECHNICAL PRESENTATION BUILDING AN INTERNET OF THINGS PROJECT Oct 2013 Alvaro Everlet, ... Carriots can integrate

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

CARRIOTS TECHNICAL PRESENTATION BUILDING AN INTERNET OF THINGS PROJECT

Oct 2013

Alvaro Everlet, CTO [email protected]

@aeverlet

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

WHAT IS CARRIOTS

Platform as a Service (Paas) designed for Internet of Things (IoT) and Machine to Machine (M2M) projects

What you can do with Carriots

Collect and store any kind of data from your devices Build powerful solutions with our application engine

Deploy and scale from tiny prototypes to thousands of devices

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

BUILDING AN IOT PROJECT

PROJECT STACK

FRONTEND

PLATFORM

CUSTOM IT SYSTEMS

PRESENTATION(MONITOR & REPORT)

APPLICATION(DB & MIDDLEWARE

& RULE ENGINE)

SENSORS & ACTUATORS(THINGS)HARDWARE

Connectivity

InternetInternet

BUILDING AN INTERNET OF THINGS PROJECT

BUILDING AN IOT PROJECT

HTTPSREST

Webservices

Zigbee / Radio

HTTP3G / Ethernet

HTTP3G / Ethernet

HTTP3G / Ethernet

HTTP3G / Ethernet

Zigbee / Radio

Zigbee / Radio

REST API

GatewayRS 485 Gateway

RS 485 Gateway

RS 485 Gateway

BIG DATA STORAGE

BUSINESS RULES

REST API

PROJECT & DEVICE

MANAGEMENT

EVENT PROCESSING

HTTPSPUSH/PULLWebservicesCustom

ITServers

Custom Dashboard & control panel

Custom Reporting &

data download

UsersUsers

CONTROL PANEL

SECURITY

CONNECTED DEVICES & PRODUCTS

INTEGRATION

HTTPSWeb interface

Custom interface

FRONTEND

LOGS & DEBUG

EXTERNAL COMMUNICATION

MODULE

Other APIs

HTTPAPI

HTTPAPI

HTTPAPI

EXTERNALAPIS

BUILDING AN INTERNET OF THINGS PROJECT

COMPLEX OR POWERFUL?

LET’S DO A QUICK TOUR OF IOT PROJECT ELEMENTS FOLLOWING AN EXAMPLE:

SMART PARKING (SMART CITY USE CASE)

BUILDING AN IOT PROJECT

BUILDING AN INTERNET OF THINGS PROJECT

DEVICES They have sensors collecting raw data, e.g.: Magnetic car detection in a parking place. They have actuators to control things, e.g.: LED display panel in the streets They need Internet connectivity, e.g.: a gateway or embedded 3G modem

PLATFORM Store all the raw data: Big data DB that can be queried to perform analysis and BI Contains and execute all the application logic: rules, alarms, etc. Provides device and its software management, e.g.: device provisioning, enabling and disabling devices, change its firmware, etc.

FRONTEND To make an application usable the frontend provides the interface with final users, e.g.: custom control panel, dashboard, reporting, etc. INTEGRATION Carriots can integrate with other systems and PUSH or PULL data to/from CRMs, ERPs or any available HTTP API, e.g.: IBM’s IOC, Dropbox, Zoho, Twitter, etc.

BUILDING AN IOT PROJECT

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

SENSORS & ACTUATORS Sensors collect raw data that must be read by a device. Sensors can measure temperature, presence, wind, magnetic fields, energy, liquid flow, air quality, liquid properties, vibrations, geographical position, altitude, pressure, etc. Actuators can interact with the physical world. They can open or close doors, show messages, switch lights, send signals, control liquid flow, manage HVAC machines, switch on/off engines, etc. CONNECTIVITY To be part of an IoT project, the devices must be connected to the Internet to interact. Standalone connectivity Embedded 3G / GPRS modems in device

Asset + Gateway connectivity Serial (e.g. RS232 or RS485) or radio (e.g. 868MHz) device-gateway communication Sensor network + Gateway WIFI or ethernet devices-gateway local communication COMMUNICATION PROTOCOL Devices interact with Carriots with standard protocol HTTP / HTTPS for the Internet layer and JSON or XML format in app layer (REST API)

DEVICES

Zigbee

HTTP3G / Ethernet

HTTP3G / Ethernet

Gateway

RS 485 Gateway

BUILDING AN INTERNET OF THINGS PROJECT

EXAMPLE: sending parking place data from a device HTTP request POST /streams HTTP/1.1!Host: api.carriots.com!Accept: application/json!User-Agent: place_524@smartparking!Content-Type: application/json!carriots.apikey:98346673a637...5a0d83045425407ab4!Content-Length: 182!Connection: close!!Data (PAYLOAD) {! "protocol":"v2",! "at":"now",! "device":"place_524@smartparking",! "data":{"parking":"on"},! "checksum":"2c0766329b4d4b3beb08...97ae7b7de2160be"!}

DEVICES

REST APIDEVICE

1: HTTP request

2: REST API response

REST API URL (POST request)

JSON FORMAT

SECURITY (APIKEY)

Carriots automatic data timestamping

Checksum (HMAC) validation

Device (Apikey must allow it)

Custom information to be sent

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

REST API Following an Internet standard, Carriots implements a REST API over HTPPS to: •  Receive massive amount of data from the

devices. •  Fully interact with Carriots entities to

build custom control panels, dashboards and reporting tools.

E.g.: Parking sensors send parking status (free or taken) to Carriots REST API with a simple HTTP query. Custom control panel uses the REST API for full management. BIG DATA STORAGE Massive amount of data is stored in big data architecture in a schemaless structure. It

provides IoT projects the flexibility to manage heterogeneous data from different devices. E.g.: Temperature, geographical position, parking place status, etc. PROJECT & DEVICE MANAGEMENT IoT projects can be organized to fulfill any requirement. Carriots starts with a simple ready to use hierarchy and offers the power to set custom complexity level. Firmware update and remote device configuration are also available. E.g.: adjust parking sensor sampling frequency or led display default message.

PLATFORM

REST API

BIG DATA STORAGE

BUSINESS RULES

REST API

PROJECT & DEVICE

MANAGEMENT

EVENT PROCESSING

CONTROL PANEL

SECURITY

LOGS & DEBUG

EXTERNAL COMMUNICATION

MODULE

BUILDING AN INTERNET OF THINGS PROJECT

BUSINESS RULES & EVENT PROCESSING IoT project logic is held and run at the platform. Groovy scripts executed in the SDK engine are launched (and isolated) on a event based if-then-else approach. From simple scripts to full complex business rules. E.g.: If parking_sensor=“occupied” then parking_area.places -1. If parking_area.places=0 then display.message=“Parking full” SECURITY IoT projects must consider security issues from its design phase. Carriots approach: •  Apikeys to define privileges and visibility. •  HTTPS to encrypt REST API requests &

responses. •  HMAC hash and pre-shared password to

re-authenticate and content verification. •  Custom encryption or additional security

measures (custom script code). LOGS & DEBUG Log messages (accessible from the control panel) and debug console are tools to ease IoT projects development. CONTROL PANEL Carriots’ control panel grants all IoT project management from a web interface, even if custom control panels are developed to final users. EXTERNAL COMMUNICATION MODULE Send emails, send SMS, interact with external systems integration, etc. Carriots platform offers this features with a powerful dedicated module.

PLATFORM

REST API

BIG DATA STORAGE

BUSINESS RULES

REST API

PROJECT & DEVICE

MANAGEMENT

EVENT PROCESSING

CONTROL PANEL

SECURITY

LOGS & DEBUG

EXTERNAL COMMUNICATION

MODULE

BUILDING AN INTERNET OF THINGS PROJECT

EXAMPLE: Groovy logic that reacts when a parking place data is received // Libraries!import com.carriots.sdk.Device;!import com.carriots.sdk.utils.BasicHttp;!!// Free places counter update!def device = Device.find('ParkingControl@smartparking');!def places = new Integer(device.device_properties.FreePlaces);!device.device_properties.FreePlaces=places-1;!device.update();!

!!// Place update!def place = Device.find(context.device);!place.device_properties['free']='no';!place.update();!!// Display location !def led = Device.find('LedDisplay-12@smartparking');!def address = led.device_properties.address; !def token = led.device_properties.token;!!// Display update!def basicHttp = new BasicHttp();!basicHttp.url = "http://"+address+"/message";!basicHttp.params=["text":"Free places: "+device.device_properties.FreePlaces, "token":token];!basicHttp.send();!

PLATFORM

SDK LIBRARIES IMPORT

DATA BASE ACCESS

CUSTOM PROPERTIES MANAGEMENT

CARRIOTS -> DEVICE COMMUNICATION IP address stored as device property

BUILDING AN INTERNET OF THINGS PROJECT

PLATFORM

IF-THEN-ELSE APPROACH

GROOVY SCRIPTS

CARRIOTS CONTROL PANEL SCREENSHOT LISTENER CREATION EXAMPLE

EVENT TO WATCH

PRE-WRITTEN SCRIPTS

ENTITY SURVEILLANCE

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

FRONTEND CARRIOTS CONTROL PANEL Built-in control Carriots control panel is the first tool needed to build an IoT project. Create project hierarchy to arrange its particular configurations, manage apikeys to define fine grained privileges and visibility, manage all project’s data, use debug tools, etc. E.g.: Define parking areas, set display message, etc. DASHBOARD & CONTROL PANEL Custom dashboards and control panels built upon Carriots REST API are the final user interfaces, what customers really see and use. Web based or mobile apps. E.g.: Custom maps showing parking places, custom availability charts, visual led display management, etc.

MONITORING Monitoring techniques & tools: •  REST API pooling for data exploitation. •  Data file download •  Custom Carriots’ generated charts •  Event based data PUSH

HTTPSREST

Webservices

REST API

Custom Dashboard & control panel

Custom Reporting &

data download

UsersFRONTEND

CONTROL PANEL

HTTPSWeb interface

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

EXTERNAL IT SYSTEMS Carriots REST API (data PULL), full customizable PUSH approach and full customizable HTTP/s requests (RESTful) grants the true IoT projects potential. E.g.: Custom ERP, Zoho CRM, ArcGIS, custom data warehouses, IBM’s Intelligent Operation center, Weather forecasts, External environmental APIs, etc.

BUILT-IN Carriots SDK engine has built-in libraries to make easier and faster integration: •  Dropbox •  Twitter •  Massive mailing •  International SMS •  Sockets

INTEGRATION

REST API

HTTPSPUSH/PULLWebservices

Custom IT

Servers

Users INTEGRATION

Custom interface

EXTERNAL COMMUNICATION

MODULE

Other APIs

HTTPAPI

HTTPAPI

HTTPAPI

EXTERNALAPIS

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

LESSONS LEARNED FROM DEVELOPING IOT SOLUTIONS The main benefits of using Carriots as a M2M App Platform are:

CARRIOTS KEY BENEFITS

TIME •  Development time can be reduced by 10X. MONEY •  Lower cost of development (10X) •  Lower cost of operation (10X) RELIABILITY •  Follow best practices in IoT project development

proven to work •  Security Features specially designed for IoT •  Single Framework for IoT project development

BUILDING AN INTERNET OF THINGS PROJECT

CARRIOTS TECHNICAL PRESENTATION

1.  WHAT IS CARRIOTS 2.  BUILDING AN IOT PROJECT 3.  DEVICES 4.  PLATFORM 5.  FRONTEND 6.  INTEGRATION 7.  CARRIOTS KEY BENEFITS 8.  WHERE TO GO NEXT

BUILDING AN INTERNET OF THINGS PROJECT

FREE ACCOUNT •  Free account, up to 10 devices: carriots.com/joinus

•  Documentation, tutorials, first steps and much more: carriots.com/developers CONSULTANCY SERVICES •  Product definition, architecture, specification, design and integration requirements (connectivity,

electronics, etc.) •  Product development (custom web front-ends, mobile apps or back-end development on

Carriots platform)

•  Technical assessments on Carriots development platform. Hire consultants. CORPORATE AND PRIVATE CLOUD •  Use Carriots PaaS on a Public Cloud. Pay as you grow model based on used devices.

•  Run Carriots software on a Private Cloud, remotely installed and maintained.

WHERE TO GO NEXT

carriots.com/pricing

CARRIOTS TECHNICAL PRESENTATION BUILDING AN INTERNET OF THINGS PROJECT

Oct 2013

Alvaro Everlet, CTO [email protected]

@aeverlet