System overview

Asset Tracker Template

tags
Asset Tracker Template

The template consists of the following core modules:

  • Main module: Implements the business logic and controls the overall application behavior. Uniquely, it is not in the modules folder.
  • Storage module: Stores data from enabled modules.
  • Network module: Manages LTE connectivity and tracks network status.
  • Cloud module: Handles communication with nRF Cloud using CoAP.
  • Location module: Provides location services using GNSS, Wi-Fi, and cellular positioning.
  • Button module: Reports button press events for user input.
  • FOTA module: Manages firmware over-the-air updates.

Thingy:91 X specific modules:

The following diagram shows the system architecture and how the modules interact with each other. The modules communicate through zbus channels.

System overview

The following steps show the simplified flow of a typical operation:

  1. The Main module schedules periodic triggers or responds to a short button press reported on the button_chan channel.
  2. When triggered by timeout or button press, it requests sampling from the Power, Environmental, and Location modules in parallel by publishing on power_chan, environmental_chan, and location_chan.
  3. Sampled data is stored by the Storage module and sent to the cloud when the number of buffered records reaches storage_threshold (configured at build time via CONFIG_APP_STORAGE_INITIAL_THRESHOLD, or at runtime through the device shadow). See Configuration.
  4. Throughout the operation, the Main module controls the LED module over the led_chan channel to provide visual feedback about the system state.