SARA-R42 - Application note
UBX-20050829 - R02
Application design and development
Page 9 of 58
C1-Public
3
Application design and development
When designing a host application interfacing with a u-blox cellular module, consider the following
points, as depicted in
•
Choose the module’s feature
s that the application needs, and the ones that can be disabled.
•
Split the application workflow into stages.
•
Design the application to work in several modes, reflecting the lifecycle steps of the product.
Persistent
configuration
(do it once)
Power-on
boot
Registration
Power-off
PSM
Core application
Functional
requirements
Monitor
Debug
IP
acquisition
Security /
LwM2M
APP design
Robustness
Before starting the design, make
some decisions about what
features are to be used.
The application shall be designed in
stages, to properly focus on each stage.
Consider design patterns to address
core features implementation.
The application shall implement
different modes, to cover the full
lifecycle of the final solution.
Certification
mode
Maintenance
(FW update)
mode
Debug / test
mode
Production
mode
Power cons.
optimization
Normal mode
Figure 1: Application design
3.1
Initial design decisions
If some features will never be used during the application lifetime, they should be disabled or properly
configured in order to minimize their impact on the overall performance. These decisions should be
carefully taken at design stage, because later changes can cause much effort to adapt and validate
the application.
These decisions concern:
•
Usage of an LwM2M client
•
Usage of security suite features
•
Usage of power saving
•
SIM card/MNO selection
•
SW/HW monitor and debug solutions
•
SW/HW recovery modes
An LwM2M client is necessary so that MNOs can contact the device and retrieve diagnostic
information; it also enables automatic periodic checking of FOTA update availability, on both MNO
and u-blox servers. Based on the target power consumption profile, the customer application can
periodically enable the client to control features, such as the periodic LwM2M registrations with the
server, or it can implement alternative or additional methods to implement FW updates when
triggered by prolonged out of service conditions or by specific events.