6
As seen, secure LWM2M device management is possible in two ways: over
connection-oriented TCP by TLS cryptographic protocol and over
connectionless UDP with
DTLS cryptographic protocol. A number of cellular IoT (CIoT) technologies are supported.
The use of LoRa stack, which defines its own physical layer (e.g. modulation) and LoRaWAN
medium access control (MAC) layer is supported. The messaging could be a REST-style CoAP
messaging, with optional application level security provided by Object Security for Constrained
RESTful Environments (OSCORE) method [5].
LWM2M is designed for client-server topology and supports basic functionalities of
enrollment,
provisioning, monitoring, updating, bootstrapping of the devices, throughout the
device lifecycle [4]. Client-Server architecture of LWM2M has been shown in Figure 1.3.2
(Refer section 2.6 for the explanation in detail)
Figure 1.3.2 LWM2M Client-Server Architecture
[6]
1.4
The Problem
Eclipse Wakaama is a LWM2M implementation designed with POSIX portability in
mind [7]. Which means, Wakaama requires the support of Linux libraries on the devices that
will act as client and server. Wakaama is written in C, which opens the possibility to make it
compatible even with the microcontroller-based development boards that don’t
have Linux
kernel.
Microcontroller board SARA by SODAQ supports cellular LPWAN connectivity by
means of an NB-IoT modem, whereas Arduinos can be interfaced with
independent modem
over serial communication link to have cellular LPWAN support.
7
SODAQ or Arduino do not provide any LWM2M libraries that can be used out-of-the-
box to enable device management on their microcontrollers. That is, there is no abstraction from
low-level details of LWM2M stack to the developers, if they decide to run a LWM2M client
on these microcontrollers. Thus, in order to build an NB-IoT
powered application with
LWM2M device management on such a development board, the developers must have expert
knowledge of all the technologies involved in the protocol stack and the development board.
Thus, being able have a software development kit (SDK) with libraries, to add LWM2M
support to such microcontroller development boards will make application development less
tedious, without the developers having to possess expertise in each and every technology
involved. It will also
make many use-cases feasible, especially in bandwidth and power-
constrained geographies.
With
this as a motivation, for duration of my thesis,
I worked on making Wakaama
LWM2M client implementation completely compatible on microcontroller boards with
Arduino
form factor, to enable device management over NB-IoT network. The structure,
objectives and short description of the tasks has been explained in subsequent sub-chapters.
To summarize, during the thesis I worked on studying and implementing technologies
present at different layers of LWM2M protocol stack.
Do'stlaringiz bilan baham: