julien vermillard - sierra wireless eclipsecon france … engineer at sierra wireless, ... oil pump...
TRANSCRIPT
SoftwareEngineeratSierraWireless,implementingvariousprotocolsforAirVantagecloudservice
ApacheSoftwareFoundationmemberEclipsecommitteronCaliforniumandWakaama
Mydefinition:
Largefleetofcloudconnecteddevicessolvingabusinessproblem
(Ex:oilpumpmonitoring,truckfleettracking)
VerysimpleandlightprotocolontopofTCP
Goodfitforwirelessapplications
Publish/Subscribeparadigm
Websocketsupport
Centralized
Asensorpushestelemetryvaluesonsometopics:greenhouse/42/temperaturegreenhouse/42/humiditygreenhouse/42/luminosity
Actionsareonanothertopic:greenhouse/42/open-the-roof
Payloadformatisfree(json,binary,whatever..)
ConstrainedApplicationProtocol
InternetEng.TaskForcestandardforInternetofthings
Startedin2010!
RFC7252
Simpletoencode/decode:targets8bitMCU
UDPbased,targetslowpowerIPnetworks:6LowPAN
TwolevelofQoS:confirmablemessagesornot
RESTparadigmforthings:
coap://myhouse.local/lamps/7/status
HTTPlikeverbs: , , ,
Contentnegotiation
Webgoodies:butinacompactbinaryformat!
.0123
.01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver|T|TKL|Code|MessageID|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Token(ifany,TKLbytes)...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Options(ifany)...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|11111111|Payload(ifany)...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
GETcoap://hostname/.well-know/core
Providesalistofallsupportedresources
</config/groups>;rt="core.gp";ct=39,rt="ucum.Cel";ct="04150";obs,
rt="block";sz=1280;title="Largeresource"
Observeforstreamingchangingvalues
Localgroupcommunication(multicast)
HTTP<=>CoAPproxy
WeblikeCaching
Resourcedirectory
AlltheWebmodelforIoT:WebofThings
youdon'tknowyetwhathardwarewillpoweryourIoTprojectsonthefield,
butyouMUSTbeabletododevicemanagementinaconsistentway
AnOpenMobileAlliancestandardforDeviceManagement
TargetsmobilephoneterminalsbutcanbeusedforM2M
Meanttobeusedbymobilenetworkoperators
Read,writeconfigurationormonitoringnodes
Triggerremotecommands(Exec)
FUMO:FirmwareUpdateManagementObject
SCOMO:SoftwareComponentManagementObject
HTTP/XMLbased,withabinaryXML(WBXML)encoding
Weirdphonefeaturesgetsintheway:everycommunicationthedevicegivesitslanguage(ex:EN_en)
BinarySMSforwakeupandbootstraping
Firmwareupgrades(inbandorthruhttp)
Devicemonitoringandconfiguration
Serverprovisioning(bootstraping)
SMScanbeusedforwaking-upthedevice.
OranyGET/POST/PUT/DELETE.
ThedevicecanreplybySMSorUDP(return-path).
DeviceServer
ConnectivitymonitoringConnectivitystatistics
LocationFirmware
Theobjectshaveanumericalidentifier.
/{object}/{instance}/{resource}
Examples:
"/6/0"thewholepositionobject(binaryrecord).
"/6/0/2"onlythealtitude.
Devicemanagementisnotanoption:Everyprocessorandeveryapplicationneedtobeconfigured,upgradedand
monitored.
Eachprotocolmustbesecured.
Andsynchronized:Youcan’ttriggeranupdatewithaprotocol,whileyouare
rebootingthedeviceusinganother.
M2M/IoTisnotasimpleproblem.
Securityandprovisioningarereallythehardestones.
Tryhardtoreducethenumberofprotocolstomakeyourlifeeasier!
CoAPwithLWM2Mprovidesefficientdevicemanagementandapplicationprotocol.
Itcanbetheonlyprotocolofyourdevice torulethemall!