Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
OneEdge Main Components
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
High Level Architecture
Confidential & Proprietary© 2019 Telit. All Rights Reserved. 5
Telit Technical Workshop 2019
Hosted Architecture (ext MCU)
Confidential & Proprietary© 2019 Telit. All Rights Reserved. 6
Telit Technical Workshop 2019
Hostless Architecture (Appzone)
Telit OE LWM2M Protocol
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
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).
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)
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.
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
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
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
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
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
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
Confidential & Proprietary© 2019 Telit. All Rights Reserved. 18
Telit Technical Workshop 2019
Read RSRQ resource 3 in Object 4
Observe Edge Logic
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).
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
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
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“.
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>
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
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)
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
Boot Up Procedure and Main Settings
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.
Confidential & Proprietary© 2019 Telit. All Rights Reserved. 30
Telit Technical Workshop 2019
The Logical Interfaces Between the LWM2M Server and Client:
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
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.
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
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
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