31
Presto Cloud-enable any Internet of Things product with free hosting from concept through production 2016.04.20

People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

PrestoCloud-enable anyInternetofThings productwithfreehostingfromconceptthroughproduction

2016.04.20

Page 2: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Thefastestwaytocloud-enableanything.

Opensoftwaredeveloper kits,developerconsoles, andopenAPIsmeananyInternet-connectedproductcanjoinandcooperate.

OpenDeveloperConsoleCreatenewdevicesandparameters.http://presto.peoplepowerco.com

OpenDeviceAPIConnectdevicesandothercloudstoPresto.

http://docs.iotdevices.apiary.io

OpenApplication APIBuildmobileandwebuserexperiences.Extractdata.

http://docs.iotapps.apiary.io

OpenSourceSDKReferencesourcecodetoconnectdevicesandgateways.

https://github.com/peoplepower/presto-sdk-c

Page 3: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Bringyourgadgetstotheparty.

Withover154openAPIs,249totalAPIs, and84man-years ofarchitectureanddevelopment,theEnsemble softwaresuiteisarguablythemostopenandcomprehensive connectedhomeandbuilding cloudsoftwareavailabletoday.Itsconnectivity software,Presto,isavailablefree.

Nochargeperdevice.Nochargefordatathroughput.Fromconcepttofullproduction.

Connectivity

Page 4: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

DeviceAgnostic.ProtocolAgnostic.

WithPresto,devicesfromdifferentmanufacturersspeaking differentphysicalprotocolscanactuallyconnectandcooperatewitheachother.Wi-Fi. Bluetooth.ZigBee.Z-Wave.Powerline.Sub-1GHz.Proprietary.Itdoesn’tmatter.

Afterall,everythingendsupconvergingtooneprotocolanyway:theInternetProtocol.

Connectivity

Page 5: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Likeabankingwebsite.

Prestofeatures2048-bit SSLandoptional bi-directionaldeviceauthentication.SensitivecontentisencryptedwithAES-128andmanagedusingthesamesecuritypracticesasstoringcreditcardinformation.Passwordsarehashed,anduseraccountsareaccessedwithcryptographictokens.

Whoowns thedata?Theuserdoes.Asthedatacustodian,we’retheretoprotectit.

(Andifyouneed,youcanhaveyourownTermsofServiceandPrivacyPolicywithyouruserstocustomizeyourowndatamanagementpolicies.Contactussupport@peoplepowerco.com.)

Security

Page 6: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Naturallanguagerules.Automaticpeaceofmind.

Withamobile-friendly naturallanguagerulesenginewithselectableinstallationscenarios,productsbehaveexactlyhowusersexpect.Thingshappen almostmagically.Experiencethefeelingofpeaceofmind.

RulesEngine

40,000Rulesperminuteonasingleinstance

Page 7: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

TheAppStorefortheInternetofEverything.

Appsaren’tjustformobile.Withtheabilitytolearn,act,andcommunicate,theappsofthefuturewillruninthebackgroundofyourlife,24/7,asservices.

Addfeaturestogadgetsthatmanufacturersneverdreamed,createanalyticsthatmakessense ofvastandcomplexreal-timedata,anddifferentiateyourservices fromeveryoneelse.

[email protected] formoredetails.

AnalyticsEngine

Page 8: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Presto ConnectivityHighlights§ HTTP GETandPOSTtosendmeasurementsandreceivecommands.§ Both JSONandXMLsupport, it’sthedeveloper’schoice.§ Bi-directional datastreams,usuallylessthan50bytesperminute.§ NATandfirewall penetration§ Synchronization in0.25– 0.50secondlatency.§ Online&Offlinerecognitionofdevicesandpeople.§ Automaticdatacorrectionandfilters.§ Vectormeasurements formaximumdatabaseefficiency.§ 2048-bitSSLencryption andoptionalbi-directionalauthentication.§ Managedroppedconnections,reliablydelivermissedmessages.§ Marshalmessagedeliverytolowcapabilitydevices.§ Broadcastandunicastmessaging,sharingasinglepipe.§ RTMPSandRTSP videostreamingavailable,butisnotfree.

Page 9: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

2Definedevicetypesandparameters

1CreateanAccount

http://presto.peoplepowerco.com

3Connectdevicesandinteractremotely

GetStartedNow

Page 10: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Vocabulary

Page 11: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

DeviceTypesEverynewgadgetneedsitsowndevicetype.

§ ADeviceType isaclassofdevice.Eachonehasanumber.§ EachDeviceTypehasitsowncharacteristics,out-of-boxexperience,rules,instructions,anduserinterfaces.

§ WhenyoucreateaDeviceTypeinPresto,youprovideabasicdescriptionofhowthedevicewillwork.TheseattributeswilloptimizePrestotointeractwithyourdevice.

Page 12: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

ParametersPassdatabetweenthedevice,cloud,andapp.

§ Parameters arelikevariables.Key/valuepairs.§ Parametersarecommonlycalled:

§ Measurements - sentfromthedevicetothecloud.§ Commands - sentfromthecloud tothedevice.

§ Whenyoucreateaparameter,youdescribehowitwillbeused.ThiswilloptimizePrestotostoreandmanageyourparameterscorrectly.

§ AlltheparametersinPrestohaveacommonnamespace,sotheycantechnicallyseeeachother.Toavoidconflictswithanotherdeveloper,giveyourparametersauniqueprefix,like“ppc.power”insteadofjust“power”.

Page 13: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

LocationsDevicesandUsersconnectedthroughLocations

§ ALocation representsaphysicalplace:yourhome,building,floor,office,…Usersaregrantedpermissiontoaccesslocation.

§ Devicesareconnectedwithlocations.§ Userscanhavemultiplelocations.Locationscanhavemultipleusers.§ Useraccountsalwaysstartwithonelocation.

Location

Page 14: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

DeviceInstancesandDeviceIDsEveryconnecteddevicehasauniquedeviceID.

§ ADeviceInstance isanobjectthatgeneratesdataandreceivescommands.Usuallythisisarealgadget.

§ EachdeviceinstancehasaDeviceID.ThisisagloballyuniqueID,typicallyincludingthedevice’sMACaddress.

§ Seethe“PrestoQRCodeReadyDeviceIDs”documentonthePrestodeveloperconsoletolearnhowtocreateaQRcodethatwillregisteryourdeviceorgatewayquicklyinsideamobileapp.

Open Scan Use

Page 15: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

UXModelsUXModelsdefinewhichparameternamesandbehaviorsforyourproducts,

allowingyoutosnapintoready-madeUXsoftwarestacks.

ConnectivityandParameters

DeviceType

RulesOOBE DeviceUIScenarios

UXModel

Page 16: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

GettingConnected

Page 17: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Presto interactiveAPIdocumentation

CompletelyOpenAPIs§ Connectdevices:http://docs.iotdevices.apiary.io§ Connectapps:http://docs.iotapps.apiary.io

TheAPIdocumentationauto-generatescodeforcURL,Java,JavaScript,Node.js,Perl,Python,PHP,Ruby,Go,C#,VisualBasic,Groovy,Objective-C,andSwift

Page 18: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

ThreewaystoconnectdevicesConnectdirectly,throughaproxy,orcloud-to-cloud

EnsembleSoftwareSuitewithPresto

YourGateway

EnsembleSoftwareSuitewithPresto

YourPlatform

EnsembleSoftwareSuitewithPresto

Page 19: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

WhichphysicalprotocolshouldIuse?Itdoesn’tmatter.

1.EveryprotocolconvergestoEthernet+IP.2.Therewillnever beaunifiedIoTprotocol.3.Normalpeopledon’tcare.

Theonlythingthatmattersisdeliveringareliableproductwithasimpleout-of-boxexperience.

Sub-1GHz

PLCConvergencePoint#1

LocalRouterConvergencePoint#2

Cloud

Page 20: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

LinuxOpenWRTOperatingSystemOpenSource

EmbeddedPlatformZigBee,WiFi, Bluetooth,Ethernet,Z-Wave,HomeKitMFi,Cellular,etc.

HardwareFromanymanufacturer

Agents:WiFi, ZigBee,HomeKit, AllJoyn,UPnP, BluetoothLE,Z-Wave,etc.

Presto EmbeddedOpensource

Embedded intelligenceandserviceswithComposerapps

Symphony EmbeddedProprietary

OpenSourceGatewayStack

Page 21: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Architecture

PrestoSoftwareFramework

Agent#2Bluetooth

Cloud Server

Agent#1ZigBee

Agent#3AllJoyn

ComposerEmbeddedAnalytics

LocalApplication

APIs

ComposerEmbeddedProprietary.OrMonetized:Usershavetopurchaseapps

from PeoplePowerfirst,beforethoseappswillruninComposer Embedded

PrestoFreeCloudConnectivity

AgentsOpen Source

PrestoSoftwareFrameworkOpen Source

LocalApplicationAPIsOpen source.NormalizeAPIstoconnected devicesforlocalnetworkconnectivityandcreateimmediatevalueforcommunity developers.

Page 22: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

SocialCoding

GitHubGatewaysourcecodeismanagedthrough

aGit repository.

https://github.com/peoplepower/presto-sdk-c

Page 23: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Howtoregisteradevicetoauser’saccount

1. First,loginusingtheLoginAPI.Gettheuser’sAPIkey.2. Next,usetheGetUserInformationAPItoobtaintheuser’s

LocationID.Mostusersonlyhaveonelocation.3. Finally,usetheRegisterDeviceAPItoregisterthedeviceto

theuser’slocation.

ThePrestoDeveloperConsolewillallowyoutoregisternewdevicesdirectly.ThePresenceappwillletyouscanQRcodestoregisterdevices.

Devicesthatconnecttotheserverbutarenotassociatedwithalocationareignored.

Page 24: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Yourdevicemustconnecttothebestserver§ Loadbalancersareineffectivefordevices,becausedevicesarealwaysconnected.§ UsetheGetEnsembleServerAPI toconnectyourdevicewiththerightdeviceserver

whenitboots.Repeatevery~24hours.§ Thishelpsscaletheentiresystem.

Page 25: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

SendMeasurements(XML)

curl --request POST \-H "Content-Type: application/xml" \--data '<?xml version="1.0" encoding="utf-8" ?>

<h2s ver="2" proxyId="myplug-001" seq="1"><measure deviceId="myplug-001"><param name="ppc.power">0</param><param name="ppc.energy">0</param><param name="ppc.outletStatus">1</param>

</measure></h2s>' \

--verbose \https://esp.peoplepowerco.com:8443/deviceio/mlxml

Page 26: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

SendMeasurements(JSON)curl --request POST \-H "Content-Type: application/json" \--data '{

"version": "2", "proxyId": "myplug-001", "sequenceNumber": "1","measures": [

{ "deviceId": "myplug-001", "params": [

{ "name": "ppc.power","value": "0"

}, {

"name": "ppc.energy","value": "0"

},{

"name": "ppc.outletStatus","value": "1"

} ]

}]

}' \

--verbose \https://esp.peoplepowerco.com:8443/deviceio/mljson

Page 27: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

ReceiveCommands§ CommandscanbereceivedasrepliestobothPOSTandGETrequests.§ Ifyoureceiveacommand,alwaysrespond totheserverwithanacknowledgment.§ Ifyoudon’tacknowledge thecommand, theservermaytrytokeepsending the

commandforaperiodoftimetoensure reliabledelivery.§ Theexactserverbehaviorisconfigurable inyourdevicetype’sdefinition.

Page 28: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

ReceiveInstantaneousCommands

§ OpenanHTTPGETconnectionwiththeserver,andsetthetimeoutto~2minutes.§ Iftheservergetsacommand, italreadyhasanopenchanneltosendthat

commandtoyourdeviceinstantly.§ WhentheGETconnection timesout, refreshitimmediately.§ NeverdoanHTTPGETandPOSTsimultaneously, itdoesn’t scalewell.

curl --include \--header "Content-Type: application/xml" \

'https://app.peoplepowerco.com:8443/deviceio/mlxml?id=myplug-001&timeout=120'

curl --include \--header "Content-Type: application/json" \

'https://esp.peoplepowerco.com:8443/deviceio/mljson?id=myplug-001&timeout=120'

XML

JSON

Page 29: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

InstantaneousCommandsDetails

Listenforcommands Usersendsa

commandfromasmartphonethrough

theAppAPICommandcomesthroughtheopenGETconnection

Sendameasurementtoupdatethestatus

Keeplisteningforcommands

ThesmartphoneAppperiodicallypollsfornewdatausingtheAppAPI

Page 30: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Humanizing theInternetofThings

Presto isfree**Freeserviceincludes2048-bitSSL connectivitywith

optionalbi-directional authentication, supportingupto12measurementsandstatusupdates perhour onaverage,

andnear-instantaneouscommanddelivery.

PleasereviewtheTermsofServiceforcompletedetails.Needmore?Just ask.

[email protected]

Page 31: People Power - Presto Introduction - 2016.04...Power line. Sub -1GHz. Proprietary. It doesn’t matter. After all, everything ends up converging to one protocol anyway: the Internet

Whatwillyoucreate?http://presto.peoplepowerco.com