|
14 | 14 |
|
15 | 15 | ## Overview |
16 | 16 |
|
17 | | -The Asset Tracker Template is a modular framework for developing IoT applications on nRF91-based devices. Built on [nRF Connect SDK](https://www.nordicsemi.com/Products/Development-software/nRF-Connect-SDK) and [Zephyr RTOS](https://docs.zephyrproject.org/latest/), it provides an event-driven architecture for battery-powered IoT use cases with cloud connectivity, location tracking, and sensor data collection. |
| 17 | +The Asset Tracker Template is a modular framework for developing IoT applications on nRF91-based devices. It is built on the [nRF Connect SDK](https://www.nordicsemi.com/Products/Development-software/nRF-Connect-SDK) and [Zephyr RTOS](https://docs.zephyrproject.org/latest/), and provides a modular, event-driven architecture suitable for battery-powered IoT use cases. The framework supports features such as cloud connectivity, location tracking, and sensor data collection. |
18 | 18 |
|
19 | | -The system uses modules that communicate through [zbus](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/zbus/index.html) channels for loose coupling and maintainability. It's suitable for asset tracking, environmental monitoring, and other IoT applications requiring modularity and power efficiency. |
| 19 | +The system is organized into modules, each responsible for a specific functionality, such as managing network connectivity, handling cloud communication, or collecting environmental data. Modules communicate through [zbus](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/zbus/index.html) channels, ensuring loose coupling and maintainability. |
20 | 20 |
|
21 | | -**Supported hardware**: [Thingy:91 X](https://www.nordicsemi.com/Products/Development-hardware/Nordic-Thingy-91-X), [nRF9151 DK](https://www.nordicsemi.com/Products/Development-hardware/nRF9151-DK) |
| 21 | +## Getting started |
22 | 22 |
|
23 | | -> **Note**: If you're new to nRF91 series and cellular IoT, consider taking the [Nordic Developer Academy Cellular Fundamentals Course](https://academy.nordicsemi.com/courses/cellular-iot-fundamentals). |
24 | | -
|
25 | | -## Quick Start |
26 | | - |
27 | | -For detailed setup instructions using the [nRF Connect for VS Code extension](https://docs.nordicsemi.com/bundle/nrf-connect-vscode/page/index.html) and advanced configuration options, see the [Getting Started Guide](docs/common/getting_started.md). |
28 | | - |
29 | | -For pre-built binaries, refer to the latest tag and release artifacts documentaion; [release artifacts](docs/common/release.md). |
30 | | - |
31 | | -### Prerequisites |
32 | | - |
33 | | -* nRF Connect SDK development environment ([setup guide](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/installation.html)) |
34 | | - |
35 | | -### Build and Run |
36 | | - |
37 | | -<details> |
38 | | -<summary>1. <strong>Initialize workspace:</strong></summary> |
39 | | - |
40 | | -```shell |
41 | | -# Install nRF Util |
42 | | -pip install nrfutil |
43 | | - |
44 | | -# or follow install [documentation](https://docs.nordicsemi.com/bundle/nrfutil/page/guides/installing.html) |
45 | | - |
46 | | -# Install toolchain |
47 | | -nrfutil toolchain-manager install --ncs-version v3.1.0 |
48 | | - |
49 | | -# Launch toolchain |
50 | | -nrfutil toolchain-manager launch --ncs-version v3.1.0 --shell |
51 | | - |
52 | | -# Initialize workspace |
53 | | -west init -m https://github.com/nrfconnect/Asset-Tracker-Template.git --mr main asset-tracker-template |
54 | | -cd asset-tracker-template/project/app |
55 | | -west update |
56 | | -``` |
57 | | -</details> |
58 | | - |
59 | | -<details> |
60 | | -<summary>2. <strong>Build and flash:</strong></summary> |
61 | | - |
62 | | -**For Thingy:91 X:** |
63 | | -```shell |
64 | | -west build --pristine --board thingy91x/nrf9151/ns |
65 | | -west thingy91x-dfu # For Thingy:91 X serial bootloader |
66 | | -# Or with external debugger: |
67 | | -west flash --erase |
68 | | -``` |
69 | | - |
70 | | -**For nRF9151 DK:** |
71 | | -```shell |
72 | | -west build --pristine --board nrf9151dk/nrf9151/ns |
73 | | -west flash --erase |
74 | | -``` |
75 | | -</details> |
76 | | - |
77 | | -<details> |
78 | | -<summary>3. <strong>Provision device:</strong></summary> |
79 | | - |
80 | | -1. Get the device attestation token over terminal shell: |
81 | | - |
82 | | - ```bash |
83 | | - at at%attesttoken |
84 | | - ``` |
85 | | - |
86 | | - *Note: Token is printed automatically on first boot of unprovisioned devices.* |
87 | | - |
88 | | -2. In nRF Cloud: **Security Services** → **Claimed Devices** → **Claim Device** |
89 | | -3. Paste token, set rule to "nRF Cloud Onboarding", click **Claim Device** |
90 | | - |
91 | | - <details> |
92 | | - <summary><strong>If "nRF Cloud Onboarding" rule is not showing:</strong></summary> |
93 | | - |
94 | | - Create a new rule using the following configuration: |
95 | | - |
96 | | - <img src="docs/images/claim.png" alt="Claim Device" width="300" /> |
97 | | - </details> |
98 | | - |
99 | | -4. Wait for the device to provision credentials and connect to nRF Cloud over CoAP. |
100 | | - |
101 | | -See [Provisioning](docs/common/provisioning.md) for more details. |
102 | | -</details> |
103 | | - |
104 | | -## System Architecture |
105 | | - |
106 | | -Core modules include: |
107 | | - |
108 | | -* **[Main](docs/modules/main.md)**: Central coordinator implementing business logic |
109 | | -* **[Storage](docs/modules/storage.md)**: Data collection and buffering management |
110 | | -* **[Network](docs/modules/network.md)**: LTE connectivity management |
111 | | -* **[Cloud](docs/modules/cloud.md)**: nRF Cloud CoAP communication |
112 | | -* **[Location](docs/modules/location.md)**: GNSS, Wi-Fi, and cellular positioning |
113 | | -* **[LED](docs/modules/led.md)**: RGB LED control for Thingy:91 X |
114 | | -* **[Button](docs/modules/button.md)**: User input handling |
115 | | -* **[FOTA](docs/modules/fota.md)**: Firmware over-the-air updates |
116 | | -* **[Environmental](docs/modules/environmental.md)**: Sensor data collection |
117 | | -* **[Power](docs/modules/power.md)**: Battery monitoring and power management |
118 | | - |
119 | | - |
120 | | - |
121 | | -### Key Features |
122 | | - |
123 | | -* **State Machine Framework (SMF)**: Predictable behavior with run-to-completion model |
124 | | -* **Message-Based Communication**: Loose coupling via [zbus](https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/services/zbus/index.html) channels |
125 | | -* **Modular Architecture**: Separation of concerns with dedicated threads for blocking operations |
126 | | -* **Power Optimization**: LTE PSM enabled by default with configurable power-saving features |
127 | | - |
128 | | -The architecture is detailed in the [Architecture documentation](docs/common/architecture.md). |
129 | | - |
130 | | -## Table of Content |
131 | | - |
132 | | -* [Getting Started](docs/common/getting_started.md) |
133 | | -* [Architecture](docs/common/architecture.md) |
134 | | - * [System Overview](docs/common/architecture.md#system-overview) |
135 | | - * [Zbus](docs/common/architecture.md#zbus) |
136 | | - * [State Machine Framework](docs/common/architecture.md#state-machine-framework) |
137 | | -* [Configurability](docs/common/configuration.md) |
138 | | - * [Set sampling interval and logic from cloud](docs/common/configuration.md#set-sampling-interval-and-logic-from-cloud) |
139 | | - * [Set location method priorities](docs/common/configuration.md#set-location-method-priorities) |
140 | | - * [Network configuration](docs/common/configuration.md#network-configuration) |
141 | | - * [LED Status Indicators](docs/common/configuration.md#led-status-indicators) |
142 | | -* [Customization](docs/common/customization.md) |
143 | | - * [Add a new zbus event](docs/common/customization.md#add-a-new-zbus-event) |
144 | | - * [Add environmental sensor](docs/common/customization.md#add-environmental-sensor) |
145 | | - * [Add your own module](docs/common/customization.md#add-your-own-module) |
146 | | - * [Enable support for MQTT](docs/common/customization.md#enable-support-for-mqtt) |
147 | | -* [Location Services](docs/common/location_services.md) |
148 | | -* [Test and CI Setup](docs/common/test_and_ci_setup.md) |
149 | | -* [nRF Cloud FOTA](docs/common/nrfcloud_fota.md) |
150 | | -* [Tooling and Troubleshooting](docs/common/tooling_troubleshooting.md) |
151 | | - * [Shell Commands](docs/common/tooling_troubleshooting.md#shell-commands) |
152 | | - * [Debugging Tools](docs/common/tooling_troubleshooting.md#debugging-tools) |
153 | | - * [Memfault Remote Debugging](docs/common/tooling_troubleshooting.md#memfault-remote-debugging) |
154 | | - * [Modem Tracing](docs/common/tooling_troubleshooting.md#modem-tracing) |
155 | | - * [Common Issues and Solutions](docs/common/tooling_troubleshooting.md#common-issues-and-solutions) |
156 | | -* [Release artifacts](docs/common/release.md) |
157 | | - |
158 | | -### Module Documentation |
159 | | - |
160 | | -* [Button](docs/modules/button.md) |
161 | | -* [Cloud](docs/modules/cloud.md) |
162 | | -* [Storage](docs/modules/storage.md) |
163 | | -* [Environmental](docs/modules/environmental.md) |
164 | | -* [FOTA](docs/modules/fota.md) |
165 | | -* [LED](docs/modules/led.md) |
166 | | -* [Location](docs/modules/location.md) |
167 | | -* [Main](docs/modules/main.md) |
168 | | -* [Network](docs/modules/network.md) |
169 | | -* [Power](docs/modules/power.md) |
| 23 | +To get started with Asset tracker template for the nRF9151 and Thingy:91 X, follow [documentation](https://docs.nordicsemi.com/bundle/asset-tracker-template-latest/page/index.html). |
0 commit comments