35
Technical Workshop OCTOBER 29-31, 2019 | TELIT HQ – TRIESTE, ITALY OE System Architecture Data flow and LWM2M modem data structure Omer Raviv, Tech Sales Manager and IoT Solution Architect

OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Technical WorkshopOCTOBER 29-31, 2019 | TELIT HQ – TRIESTE, ITALY

OE System ArchitectureData flow and LWM2M modem data structure

Omer Raviv, Tech Sales Manager and IoT Solution Architect

Page 2: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

OneEdge Main Components

Page 3: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 3

Telit Technical Workshop 2019

Optional: Connectivity Service & Management• Simplified connectivity management & dashboard• Integrated SIM with carrier switch options

Connectivity Service & Management

Enterprise Integration• Deliver data to the Enterprise• Integrate with 3rd party

business systems

Device Management• Zero-touch onboarding• Remote provisioning & configuration• Monitoring & troubleshooting • SW updates

Embedded Security• End to end security, includes device,

transport and platform• Secured, pre-provisioned &

personalized module (starting at manufacturing)

Telit OneEdge Components

EdgeLogic

EmbeddedSecurity

EnterpriseIntegration

Device Management

Edge Logic• Define and build your edge app• Speed deployment • Optimizing behavior & resource usage• Set control logic remotely• Simplified cellular connection lifecycle

management

Page 4: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

High Level Architecture

Page 5: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 5

Telit Technical Workshop 2019

Hosted Architecture (ext MCU)

Page 6: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 6

Telit Technical Workshop 2019

Hostless Architecture (Appzone)

Page 7: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Telit OE LWM2M Protocol

Page 8: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 8

Telit Technical Workshop 2019

LWM2M Comparisons to Other Protocols

OMA DM LWM2M TR50 TR-069

Transport HTTP, WSP, OBEX CoAP over UDP, SMS JSON over MQTT/HTTP over TCP

XML over XMPP

Data Model Complex Simple and expandable

N/A Complex

Message Overhead 100s of bytes 10s of bytes 100s of bytes 1000s of bytes

DeviceManagement

Yes Yes Yes Yes

ApplicationManagement

No Yes Yes No

Device Applicability Mobile phones, tablets, gateways

IoT constrained devices

Asset gateways, IoT devices with suitable resources

Settop boxes, cable modems

Page 9: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 9

Telit Technical Workshop 2019

LWM2M Security DTLS

• Datagram Transport Layer Security (DTLS) is the communications protocol between the LWM2M Client and the LWM2M Server

• The DTLS protocol is based on the Transport Layer Security (TLS) protocol and is using the User Datagram Protocol (UDP) instead of TCP

• Telit module have the DTLS keys and certificate from day1 (once the modem is manufactured).

Page 10: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 10

Telit Technical Workshop 2019

LWM2M Objects and Resources (inside the Telit modem)

• An Object is a list of resources which are mapped directly to a device (inside the Telit modem).

• A Resource can be READ, WRITTEN, R/W or EXECUTED.• Read/Write from cloud or from ext MCU AT commands (or appzone)

Page 11: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 11

Telit Technical Workshop 2019

Key LWM2M Device Management Objects (self populated) Name Object ID Description

LWM2M Security 0 Provides the keying material of a LwM2M Client appropriate to access a specified LwM2M Server.

LwM2M Server 1Provides the data related to a LwM2M Server. A Bootstrap-Server has no such an Object Instance associated to it.

LwM2M Access Control

2Access Control Object is used to check whether the LwM2M Server has access right for performing an operation.

Device 3Provides a range of device related information which can be queried by the LwM2M Server, and a device reboot and factory reset function.

Connectivity Monitoring

4 Enables monitoring of parameters related to network connectivity. RSSI, RSSQ, etc

Firmware Update

5 Enables management of firmware which is to be updated.

Location 6 Provides location information based on GNSS data.

Connectivity Statistics

7Enables client to collect statistical information and enables the LwM2M Server to retrieve these information, set the collection duration and reset the statistical parameters.

Cellular connectivity

10 This object specifies resources to enable a device to connect to a 3GPP bearer.

APN connection profile

11 Specifies resources to enable a device to connect to an APN.

Page 12: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 12

Telit Technical Workshop 2019

Custom LwM2M Objects Definition – Process Flow

•Go to OMA LwM2M object editor

•Define a new Object

•Register the new Object (optional)

•Export the XML defining the new Object and Resources

Edit object

• New Object Creation

• Import the XML defining the new Object and Resources

Import object into Portal •Import the new Object XML into

module file system

•Reboot the Module

Import object into the module

http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html

Page 13: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 13

Telit Technical Workshop 2019

Custom Objects Definition (add in Telit Module)

Object Creation Flow

• Telit Modules are providing a set of AT commands specific to LWM2M functionality

• The AT#LWM2MW command is capable to import an XML defining the new object in the module.

• A reboot is needed to activate the new Object/Resources

1. Connect to module through serial interface

2. Upload XML file with AT Command

New OBJXML

3. Enable the New Object with a Module Reboot

Page 14: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 14

Telit Technical Workshop 2019

Option 1 (the common case): Customer (ME910 user) has Existing App Server. Adding Telit OE to Ensure Customer App Data Link

Existing Customer Application Data Channel

New OneEdge Device Management LWM2M

Telit Platform

App center

Easy-to-use Cloudconnectors

Customer Application Server

Page 15: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 15

Telit Technical Workshop 2019

Option 2: Customer Send APP+DM to Telit

New Device Management & App Data Delivery

LWM2M

Telit OE Platform

App center

Easy-to-use Cloudconnectors

Customer Application Server

Page 16: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 16

Telit Technical Workshop 2019

LWM2M Data Structure (Option 1: separate APP and DM paths)

Telit Platform

Customer server, AWS, Azure, etc

App data: SD, MQTT, HTTP, etc

ME910 OneEdge Module

DM: Object 4 Connectivity Monitoring(self populated by modem)

Resource 2: RSSI-55

DM Data: LWM2M

IP 10.1.1.1 Cell ID 423

Page 17: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 17

Telit Technical Workshop 2019

LWM2M Data structure (Option2: All Data via OE)

Telit Platform

Customer server, AWS, Azure, etc

ME910 OneEdge ModuleDM Objects (self populated by modem)

DM +App Data: LWM2M

Customer App Objects (E.G Temp object 3303) (populated by sensor/MCU)

25

App resource 5700: Temperature

DEMO

Page 18: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 18

Telit Technical Workshop 2019

Read RSRQ resource 3 in Object 4

Page 19: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Observe Edge Logic

Page 20: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 20

Telit Technical Workshop 2019

LWM2M Observe (Edge Logic/Monitoring)

• Set from cloud, active on modem side (edge logic)

• The “Observe” operation is associated to a specific Resource and allows to monitorthe value of that Resource sending a notification to the Telit OE cloud whenever that value changes (after meeting the value condition).

Page 21: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 21

Telit Technical Workshop 2019

LWM2M Observe (temp 25 example, see device profile + Dashboard)

• Set from cloud, active on modem side (edge logic) – for all deployed devices (‘Device profile’) or for a specific device

DEMO

Page 22: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 22

Telit Technical Workshop 2019

LWM2M Observe• Minimum period and Maximum period: values in seconds and define a time range in which it

is allowed to receive a notification in case the Resource value changes. The time count starts since the last change of the Resource value

• In case the Resource value changes before the minimum period the notification will be sent exactly at Minimum periodWhen the elapsed time reaches the Maximum period, a notification will be sent even if the value is not changed

• Step: send a notification if the difference between old and new value correspond is bigger than the step value

• Greater than: send a notification to cloud only if the new value is greater than X• Less than: send a notification to cloud only if the new value is less than Y

Page 23: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 23

Telit Technical Workshop 2019

LWM2M Request – Queue Mode

When perform a request from the Portal but the module doesn't answer (i.e. LWM2M client is not enabled), the server puts your request in the Queue list.As this picture reports:

As soon as the client is available and connected the server will send the queued requests turning the "queued" status in "transmitted“.

Page 24: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 24

Telit Technical Workshop 2019

AT#LWM2MSET - Set LWM2M Whitelisted Resource

This command can be used to set a user defined value to a "whitelisted" resource.

AT#LWM2MSET=1,3303,0,5700,0,11

AT#LWM2MSET=<type>,<objectNumber>,<objectInstance>,<resourceNumber>,<resourceInstance>,<value>

Page 25: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 25

Telit Technical Workshop 2019

AT#LWM2MR - Read a Resource (MCU/Server)

To read an Object Resource from the External MCU/Appzone: • Run AT#LWM2MR with the specific object/resource values.

• For example, to read the resource /3/0/0 (Device Manufacturer) use:

AT#LWM2MR=0,3,0,0,0 #LWM2MR: Telit

Page 26: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 26

Telit Technical Workshop 2019

Edge logic + Device Management → Tasks Automation

• Users can define a set of predefined actions on a large set of

devices.

Good example is setting new modem PSM timer (to report less

frequently and save energy) in devices that have low battery level.

Telit Platform

Setting the edge logic

Telit Platform

<20% batt update

Setting PSM or lifetime timer at edge (less freq reporting)

Remember: many parameters you can monitor at the edge (batt), many you can set from remote (PSM)

Page 27: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 27

Telit Technical Workshop 2019

AT#LWM2MMON – Activate/Deactivate the LWM2M Resource Changes Monitoring

activate/deactivate the resource changes monitoring. Resource change could be performed by the server’s write and by the #LWM2MW or #LWM2MSET command (MCU).

The use case is once you wish to send parameter or a string from cloud to MCU (via the modem) or to set a specific modem behavior.

First Send this AT to monitor

AT#LWM2MMON=1,7

BATT value changed to sub 20%, The

cloud trigger update a resource:

at#lwm2mset=0,3,0,9,0,55

OK

at#lwm2mset=0,3,0,9,0,5

OK

#LWM2MMON: UPD,"/7/0/8/0“

AT#LWM2MR=0,7,0,8,0

#LWM2MR: 100 DEMO

Page 28: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Boot Up Procedure and Main Settings

Page 29: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 29

Telit Technical Workshop 2019

The Logical Interfaces Between the LWM2M Server and Client:

1. Bootstrap: provides the LWM2M Bootstrap Server the ability to provision the LWM2M Client with keying, access control, and configuration of a device, which allows the LWM2M client to register later with an LWM2M Server.

2. Device Discovery and Registration: allows an LWM2M Client to register with the LWM2M Server and report on the capabilities of the device to the LWM2M Server.

3. Device Management and Service Enablement: allows the LWM2M Server to access the LWM2M client’s O/R and perform the following actions on the device’s O/R: Read, Write, Execute, Create, Delete, Write Attribute, Discover.

4. Information Reporting: allows the LWM2M Client to report on periodical or event-based changes of object/resource to the LWM2M Server.

Page 30: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 30

Telit Technical Workshop 2019

The Logical Interfaces Between the LWM2M Server and Client:

Page 31: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 31

Telit Technical Workshop 2019

Bootstrap

By default, the module is already provisioned with the required setup for the Bootstrap step (Telit ID, Credentials, Telit BS URL).

In case of specific needs (change the BS server, skip the bootstrap step, etc.), the user can change the BS server that will be used at the next module's reboot running AT#LWM2MSTS command:

AT#LWM2MSTS= 0,999,"coaps://api.devicewise.com:5684",1

Page 32: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 32

Telit Technical Workshop 2019

Lifetime Parameter

The lifetime depends on the specific type of network and application, this means the value must be set-up by the user according to his needs.

Lifetime defines the time range in which the Server must receive at least one “Registration Update” packet from the Client.

If the lifetime of a registration expires without receiving an update from the Client, the Server removes the registration information.

Page 33: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 33

Telit Technical Workshop 2019

Lifetime REG update (‘keep alive’)

The “Registration Update” packets are sent according to the chosen Lifetime and with the following rules: • Every Lifetime/2 sec. If Lifetime < 30 sec. • Every Lifetime/5 sec. If Lifetime < 150 sec. • Every Lifetime/10 sec. If Lifetime > 150 sec.

The Lifetime parameter can be set-up either as Bootstrap parameter or on-the-fly when a session is already running.

The Lifetime is a mandatory parameter among the Bootstrap configuration. This value can be set by defining a “Device Profile” in the IoT Portal

Page 34: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Confidential & Proprietary© 2019 Telit. All Rights Reserved. 34

Telit Technical Workshop 2019

Lifetime as LWM2M Resource in the LWM2M server objectWhen a device is already connected, so the Bootstrap phase has been already done (with a default Lifetime value), the user can change the Lifetime parameter without doing again the BS step. To update the Lifetime on-the-fly there is a dedicate object “LWM2M Server” with the Resource “Lifetime” (1/0/1). The user can simply write the new value in that Resource. The new value will be automatically updated, but this will be used for the current connection. Also can be set by smart trigger as we showed.

DEMO

Page 35: OE System Architecture - Telit Roadshow...module. • A reboot is needed to activate the new Object/Resources 1. Connect to module through serial interface 2. Upload XML file with

Thank You!

Telit reserves all rights to this document and the information contained herein. Products, names, logos and designs described herein may in whole or in part be subject to intellectual property rights. The information contained herein is provided “as is.” No warranty of any kind, either express or implied, is made in relation to the accuracy, reliability, fitness for a particular purpose or content of this document. This document may be revised by Telit at any time. For most recent documents, please visit www.telit.com © 2019 Telit. All Rights Reserved.

Telit Technical Workshop 2019

Omer Raviv, Tech Sales Manager and IoT Solution Architect

[email protected]