Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 3.46 KB

README.md

File metadata and controls

51 lines (40 loc) · 3.46 KB

Asset Tracker Template

Oncommit:

Target tests

Nightly:

Target_tests Power Consumption Badge

Overview

The Asset Tracker Template implements a modular application framework for nRF91-based IoT devices. The application is built on nRF Connect SDK and uses a combination of state machines and message-based inter-module communication. It is intended to be a framework for developing asset tracking applications, but can be customized for other use cases as well. We have not targeted a specific use-case with this template, but rather a set of features that are common in asset tracking applications, and left it up to the user to decide how to use, modify, or extend the template to fit their needs. The main.c file contains the main module of the application, where the business logic and control over the other modules is implemented, and is a good starting point for understanding how the application works. This is also the natural place to start when customizing the application for a specific use-case.

The template is open-source for a reason, and we encourage users to contribute back to the project with improvements, bug fixes, or new features.

Key concepts

  • Modular design: The application is divided into modules, each responsible for a specific feature or functionality.
  • State machines: Each module, where applicable, has its own state machine, which defines the behavior of the module. The state machines are implemented using Zephyr's State Machine Framework.
  • Message-based communication: Modules communicate with each other by sending messages using zbus, a message bus library for Zephyr.
  • Configuration options: The application can be configured using Kconfig options to enable or disable features, set parameters, and more.
  • Designed for low-power operation: The application is designed to be power-efficient, with features like LTE Power Saving Mode (PSM) enabled by default.

Table of Contents

Common

Modules