QA Test Plan
- 1 1. Purpose
- 2 2. Device Preparations
- 3 3. Test Plan
- 3.1 3.1. Serial Console Test
- 3.2 3.2. Version Test
- 3.3 3.3. Memory Footprint Test
- 3.4 3.4. Thread Stack Utilization
- 3.5 3.5. Battery Charging Test
- 3.6 3.6. SPI Flash Test
- 3.7 3.7. RTC Test
- 3.8 3.8. User LEDs and Buttons Test
- 3.9 3.9. IoT Provisioning Test
- 3.10 3.10. GPS Sensor Test
- 3.11 3.11. LTE Modem Data Test
- 3.12 3.12. Battery Sensor Test
- 3.13 3.13. Ambient Temp Sensor Test
- 3.14 3.14. Air Pressure Sensor Test
- 3.15 3.15. Accelerometer Sensor Test
- 3.16 3.16. GPI Events Test
- 3.17 3.17. Cloud Log Backend Test
1. Purpose
This document provides a description of the QA tests used for validation of the SOM-NRF9151 application nightly engineering builds and release builds.
2. Device Preparations
Set up the hardware platform as described in https://voxelbotics.atlassian.net/wiki/x/BIBHKg.
Install the release build onto the hardware platform as described in Installing SOM-NRF9151 Images.
3. Test Plan
3.1. Serial Console Test
Validate the output of the SOM-NRF9151 application to the console device, as described in https://voxelbotics.atlassian.net/wiki/x/GwBCKg.
3.2. Version Test
From the nRF9151 serial console, verify that the nRF9151 displays firmware and hardware versions correctly:
uart:~$ version Firmware version: asset_tracker_v2 v1.0-45-release on nrf9151som (release build) Hardware revision: 0
3.3. Memory Footprint Test
Calculate the memory footprint of the nRF9151 as follows:
$ cd som-nrf9151-app $ git checkout <release_tag> $ cd asset_tracker_v2 $ rm -rf build && west build -b nrf9151som/nrf9151/ns 2>1 | grep -B 4 build/asset_tracker_v2/zephyr/zephyr.elf Memory region Used Size Region Size %age Used FLASH: 432228 B 736 KB 57.35% RAM: 181976 B 211608 B 86.00% IDT_LIST: 0 GB 32 KB 0.00% ...
Test passes if utilization of RAM and FLASH is below 95%.
3.4. Thread Stack Utilization
Reboot the board, and wait until nRF9151 connects to the cloud:
... *** Booting nRF Connect SDK v2.8.0-a1e9573f536a *** *** Using Zephyr OS v3.7.99-ef2877d1b5a7 *** ... [00:00:00.286,102] <inf> main: Start asset_tracker_v2 v1.0-45-release on nrf9151som (release build)
Issue the
kernel thread stacks
command in the nRF9151 Zephyr shell, and verify that no threads with stack utilization higher than 90% are reported:uart:~$ kernel thread stacks 0x200129b0 download_client (real size 4096): unused 3848 usage 248 / 4096 ( 6 %) 0x20010d50 location_api_workq (real size 4096): unused 2912 usage 1184 / 4096 (28 %) 0x2000f250 sensor_module_thread (real size 1280): unused 672 usage 608 / 1280 (47 %) 0x20011e60 nrfcloud_connection_poll_thread (real size 3072): unused 1404 usage 1668 / 3072 (54 %) 0x20013ae0 nrf_provisioning (real size 2048): unused 1840 usage 208 / 2048 (10 %) 0x2000f358 modem_module_thread (real size 2048): unused 968 usage 1080 / 2048 (52 %) 0x20010048 input (real size 1024): unused 808 usage 216 / 1024 (21 %) 0x2000f148 data_module_thread (real size 5632): unused 4060 usage 1572 / 5632 (27 %) 0x2000f460 cloud_module_thread (real size 4096): unused 2644 usage 1452 / 4096 (35 %) 0x20010c18 date_time_work_q (real size 1280): unused 896 usage 384 / 1280 (30 %) 0x2000f5d8 (real size 1024): unused 608 usage 416 / 1024 (40 %) 0x20010ab8 work_q (real size 1024): unused 816 usage 208 / 1024 (20 %) 0x2000fc58 shell_uart (real size 4096): unused 1792 usage 2304 / 4096 (56 %) 0x20010978 (real size 1024): unused 816 usage 208 / 1024 (20 %) 0x20010210 pcf85263a (real size 512): unused 312 usage 200 / 512 (39 %) 0x20013e00 sysworkq (real size 4096): unused 3008 usage 1088 / 4096 (26 %) 0x2000f710 logging (real size 2048): unused 1824 usage 224 / 2048 (10 %) 0x20013bf0 idle (real size 320): unused 240 usage 80 / 320 (25 %) 0x20013cf8 main (real size 2048): unused 1136 usage 912 / 2048 (44 %) 0x2002bc78 IRQ 00 (real size 2048): unused 1736 usage 312 / 2048 (15 %)
3.5. Battery Charging Test
Put Jumpers on the JP1 and JP2 headers on the SOM-NRF9151-BSB board.
Plug the battery into P3 on SOM-NRF9151 board.
Power up the board from the USB Type-C.
Verify that the board has successfully booted up, by checking that the boot-up messages appear on the SOM-NRF9151 console.
If the battery is not fully charged, it should be in the “Charging“ state for a while:
[00:00:00.282,745] <inf> pmic_irq: PMIC_EVT_START ... uart:~$ pmic_charger status Battery charging: enabled Battery voltage: 4.1740 V Battery current: 141.0000 mA Battery temp: 20.61 Battery SoC: 99% Constant voltage charge No error
When the battery gets fully charged, the PMIC IRQ should happen and send the corresponding “
Charging completed
“ event:[00:00:08.536,224] <inf> pmic_irq: PMIC_EVT_CHG_COMPLETED
3.6. SPI Flash Test
From the nRF9151 shell, verify the SPI Flash filesystem mount point is present:
uart:~$ fs ls lfs1/
Change the directory:
uart:~$ fs cd lfs1
Run the built-in erase-write test:
uart:~$ fs erase_write_test atest 300 2 Loop #1 done in 254ms. Loop #2 done in 256ms. Total: 510ms, Per loop: ~255ms, Speed: ~1.1KiBps
Run the built-in read test:
uart:~$ fs read_test atest 2 File size: 300.0B Loop #1 done in 3ms. Loop #2 done in 3ms. Total: 6ms, Per loop: ~3ms, Speed: ~97.7KiBps
Create or update a test file:
uart:~$ fs write test1 54 65 73 74
Truncate the test file:
uart:~$ fs trunc test1
Write new content to the test file:
uart:~$ fs write test1 54 65 73 74
Verify that the data can be read back:
uart:~$ fs read test1 File size: 4 00000000 54 65 73 74 Test uart:~$ fs cat test1 Test
Reboot the board.
Verify that the information in the SPI Flash filesystem persists:
uart:~$ fs ls lfs1/ atest test1 uart:~$ fs cat lfs1/test1 Test uart:~$ fs read lfs1/atest File size: 300 00000000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ................ 00000010 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................ 00000020 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./ 00000030 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0123456789:;<=>? 00000040 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ABCDEFGHIJKLMNO 00000050 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F PQRSTUVWXYZ[\]^_ 00000060 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F `abcdefghijklmno 00000070 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F pqrstuvwxyz{|}~ 00000080 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ................ 00000090 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ................ 000000A0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF ................ 000000B0 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF ................ 000000C0 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF ................ 000000D0 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF ................ 000000E0 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF ................ 000000F0 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE 00 ................ 00000100 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ................ 00000110 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................ 00000120 20 21 22 23 24 25 26 27 28 29 2A 2B !"#$%&'()*+
3.7. RTC Test
Put Jumpers on the JP1 and JP2 headers on the SOM-NRF9151-BSB board.
Plug the battery into P3 on the SOM-NRF9151-BSB board.
Power up the board from the USB Type-C.
From the serial console, set the RTC time and date to the current wall time:
uart:~$ rtc_app set 2025-02-27T17:27:43
Validate that the RTC returns correct wall time:
uart:~$ rtc_app get2025-02-27T17:28:02
From the serial console set the RTC alarm for 15 minutes from now:
uart:~$ rtc_app set_alarm -1:43:-1 Setting alarm time: 00:43:00 Alarm mask: hour: not set min: set sec: not set
Use negative values (-1) to ignore certain fields (hours, minutes, seconds) when setting the RTC alarm from Zephyr shell.
e.g. the rtc_app set_alarm -1:52:36
command doesn’t set hours for the RTC alarm, and the alarm will be triggered every hour at 52:36.
Remove JP2 jumper from SOM-NRF9151 board. Let the board sit unpowered for at least 15 minutes.
Wait for the RTC alarm to trigger the trigger the interrupt and verify that the alarm handler prints out correct time to the console:
[15:15:18.459,136] <inf> rtc_app: Alarm callback for dev: pcf85263a@51, alarm ID: 0 [15:15:18.459,167] <inf> rtc_app: Current time: 2025-02-27T17:43:00
Return the JP2 jumper to the SOM-NRF9151-BSB board.
Validate that the RTC time and date continue to match the current wall time:
uart:~$ rtc_app get 2025-02-27T17:43:25
3.8. User LEDs and Buttons Test
Press and hold the User 1 button and verify.
Verify that the following messages are printed to the console and the User LED 1 on the baseboard started blinking:
... [00:32:38.469,451] <inf> ui_module: BUTTON_EVT_USER1_PRESSED [00:32:38.469,543] <inf> led_module: BUTTON_EVT_USER1_PRESSED ...
Release the User 1 button.
Verify that the following messages are printed to the console and the User LED 1 on the baseboard stopped blinking:
... [00:33:10.949,310] <inf> ui_module: BUTTON_EVT_USER1_RELEASED [00:33:10.949,371] <inf> led_module: BUTTON_EVT_USER1_RELEASED ...
Press and release the User 2 button.
Verify that the following messages are printed to the console and the User LED 2 on the baseboard started blinking:
... [00:37:36.719,238] <inf> ui_module: BUTTON_EVT_USER2_PRESSED [00:37:36.719,299] <inf> led_module: BUTTON_EVT_USER2_PRESSED ... [00:37:40.889,739] <inf> ui_module: BUTTON_EVT_USER2_RELEASED [00:37:40.889,831] <inf> led_module: BUTTON_EVT_USER2_RELEASED ...
Press and release the User 2 button.
Verify that the following messages are printed to the console and the User LED 2 on the baseboard stopped blinking:
... [00:37:36.719,238] <inf> ui_module: BUTTON_EVT_USER2_PRESSED [00:37:36.719,299] <inf> led_module: BUTTON_EVT_USER2_PRESSED ... [00:37:40.889,739] <inf> ui_module: BUTTON_EVT_USER2_RELEASED [00:37:40.889,831] <inf> led_module: BUTTON_EVT_USER2_RELEASED ...
3.9. IoT Provisioning Test
Insert an activated nano SIM card to the SIM slot. Verify that the SIM has enough data on it.
From the nRF9151 serial console, reset the board:
kernel reboot cold
.Verify that the system has been reset, by checking that the boot-up messages appear on the nRF9151 serial console:
... *** Booting nRF Connect SDK v2.8.0-a1e9573f536a *** *** Using Zephyr OS v3.7.99-ef2877d1b5a7 *** ...
Verify that the device credentials used for nRF Cloud connection are not present in the modem non-volatile memory (default sec tag used by nRF Cloud is
16842753
):uart:~$ at at%cmng=1,16842753 OK
If the device credentials are present in the in the modem non-volatile memory:
Switch the modem to minimum functionality mode using
at at+cfun=0
command.Remove the device credentials from the default slot:
uart:~$ at at%cmng=3,16842753,2 OK uart:~$ at at%cmng=3,16842753,1 OK uart:~$ at at%cmng=3,16842753,0 OK
Verify that the device credentials had been successfully removed:
uart:~$ at at%cmng=1,16842753 OK
Issue the
nrf_provisioning uuid
command to read the device UUID:uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Log in to the nRF Cloud portal, select Security Services in the left sidebar and go to Claimed Devices page.
Verify that the device with appropriate UUID is not present on this page. Remove the device if necessary.
Go to Device Management → Devices page.
Verify that the device with appropriate UUID is not present on this page. Remove the device if necessary.
Claim the device on the nRF Clould portal as per Technical Documentation:
Issue the
nrf_provisioning token
command to read the device identity attestation token.Log in to the nRF Cloud portal and select Security Services in the left sidebar.
Select Claimed Devices.
Click the Claim Device button.
In the pop-up window, copy and paste the identity attestation token into the Claim token text box.
Create a new default onbording rule or select the existing “nRF Cloud Onboarding“ provisioning rule.
Click Claim Device.
Reset the board and verify that the application connects to LTE network:
... *** Booting nRF Connect SDK v2.8.0-a1e9573f536a *** *** Using Zephyr OS v3.7.99-ef2877d1b5a7 *** ... [00:00:00.286,102] <inf> main: Start asset_tracker_v2 v1.0-45-release on nrf9151som (release build) ... [00:00:08.771,759] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:08.774,383] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:08.815,704] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED
Issue the
nrf_provisioning init
command to initiate device provisioning:uart:~$ nrf_provisioning init [00:04:02.086,029] <inf> nrf_provisioning: Checking for provisioning commands in 1s seconds [00:04:03.185,852] <inf> nrf_provisioning_http: Requesting commands [00:04:10.463,836] <inf> nrf_provisioning_http: Connected [00:04:10.464,782] <inf> nrf_provisioning_http: Processing commands ...
Wait until the provisioning is completed. The device should print the following messages to the serial console and reboot:
[00:01:01.040,557] <inf> cloud_module: Provisioning done, rebooting [00:01:01.040,740] <inf> app_event_manager: CLOUD_EVT_REBOOT_REQUEST [00:01:01.041,381] <inf> app_event_manager: UTIL_EVT_SHUTDOWN_REQUEST [00:01:01.041,961] <inf> app_event_manager: UI_EVT_SHUTDOWN_READY [00:01:01.042,083] <wrn> modules_common: Module "ui" shutdown registered [00:01:01.042,144] <inf> app_event_manager: LOCATION_MODULE_EVT_SHUTDOWN_READY [00:01:01.042,388] <wrn> modules_common: Module "location" shutdown registered [00:01:01.043,060] <inf> app_event_manager: APP_EVT_SHUTDOWN_READY [00:01:01.043,212] <wrn> modules_common: Module "app" shutdown registered [00:01:01.044,036] <inf> app_event_manager: CLOUD_EVT_SHUTDOWN_READY [00:01:01.044,403] <wrn> modules_common: Module "cloud" shutdown registered [00:01:01.044,921] <inf> app_event_manager: DATA_EVT_SHUTDOWN_READY [00:01:01.045,043] <wrn> modules_common: Module "data" shutdown registered [00:01:01.045,898] <inf> app_event_manager: SENSOR_EVT_SHUTDOWN_READY [00:01:01.046,051] <wrn> modules_common: Module "sensor" shutdown registered [00:01:01.081,726] <inf> app_event_manager: MODEM_EVT_SHUTDOWN_READY [00:01:01.082,061] <wrn> modules_common: Module "modem" shutdown registered [00:01:06.082,183] <err> util_module: Rebooting!
Verify that the system has been reset, and the device successfully connects to nRF Cloud by checking that the following messages appear on the nRF9151 serial console:
... *** Booting nRF Connect SDK v2.8.0-a1e9573f536a *** *** Using Zephyr OS v3.7.99-ef2877d1b5a7 *** ... [00:00:00.286,102] <inf> main: Start asset_tracker_v2 v1.0-45-release on nrf9151som (release build) ... [00:00:12.544,982] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:12.685,607] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:12.686,157] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:12.686,676] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:16.213,531] <inf> net_mqtt: Connect completed [00:00:17.874,542] <inf> app_event_manager: CLOUD_EVT_CONFIG_RECEIVED [00:00:17.882,507] <inf> app_event_manager: DATA_EVT_CONFIG_SEND [00:00:17.883,544] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS [00:00:19.394,226] <inf> app_event_manager: CLOUD_EVT_CONNECTED
Issue the
nrf_provisioning uuid
command to read the device UUID:uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Go to nRF Cloud page and verify that the device with this UUID successfully connects to nRF Cloud.
3.10. GPS Sensor Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page:Click the Manage Cards button and check the Device Data checkbox so that the Device Data card is displayed on the board page.
In the Device Data card, check the Last connected attribute to make sure that the board has recently connected to the cloud:
From the nRF9151 console, confirm that the location module is active:
[00:00:16.094,635] <inf> app_event_manager: LOCATION_MODULE_EVT_ACTIVE [00:00:16.112,396] <inf> app_event_manager: LOCATION_MODULE_EVT_AGNSS_NEEDED
Wait up to 300 seconds for the application to receive GNSS data. The default timeout of 300 seconds can be reduced or increased if necessary: click the View Config button, then Edit Configuration. Location request timeout is no greater than locationTimeout.
From the nRF9151 console, confirm that the device have received GNSS data:
[00:03:19.068,115] <inf> app_event_manager: LOCATION_MODULE_EVT_GNSS_DATA_READY [00:03:19.068,847] <inf> app_event_manager: LOCATION_MODULE_EVT_INACTIVE
The following messages indicate that the device could not detect satellite signal during given timeout:
[00:05:16.504,577] <wrn> location: GNSS timed out possibly due to too short GNSS time windows
[00:05:16.505,187] <inf> app_event_manager: LOCATION_MODULE_EVT_TIMEOUT
[00:05:16.505,889] <inf> app_event_manager: LOCATION_MODULE_EVT_INACTIVE
This issue might be caused by various reasons, e.g.: the device is located inside a building, bad GNSS signal quality, antenna issues, etc.
It can be fixed by increasing location timeout in the application configuration, or moving the device to an open space (preferably without buildings or trees in close proximity).
Wait 110 seconds for the device data to be updated on the cloud. The default timeout of 110 seconds can be reduced for convenience: click the View Config button, then Edit Configuration. If activeMode is false then the timeout is no greater than movementResolution, otherwise, it is no greater than activeWaitTime.
From the nRF9151 console, confirm that the device data have been sent to the cloud:
[00:03:19.069,335] <inf> app_event_manager: DATA_EVT_DATA_READY [00:03:19.073,059] <inf> app_event_manager: DATA_EVT_DATA_SEND_BATCH [00:03:19.073,974] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
In the Device Data card on the nRF Cloud, verify that the Location attribute has been updated recently and has a proper value:
Click the Show Location card icon to see the graphical representation of the device location:
Click the View historical data icon and select appropriate time interval to see device location history:
The location points might be inaccurate if the device is located inside the building.
3.11. LTE Modem Data Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Click the Manage Cards button and check the Device Data checkbox so that the Device Data card is displayed on the board page.
In the Device Data card, check the Last connected attribute to make sure that the board has recently connected to the cloud.
From the nRF9151 console, confirm that the modem data have been read successfully:
[00:00:27.074,676] <inf> app_event_manager: MODEM_EVT_MODEM_STATIC_DATA_READY [00:00:27.110,748] <inf> app_event_manager: MODEM_EVT_MODEM_DYNAMIC_DATA_READY
Wait 110 seconds for the device data to be updated on the cloud. The default timeout of 110 seconds can be reduced for convenience: click the View Config button, then Edit Configuration. If activeMode is false then the timeout is no greater than movementResolution, otherwise, it is no greater than activeWaitTime.
From the nRF9151 console, confirm that the device data have been sent to the cloud:
[00:02:16.997,283] <inf> app_event_manager: DATA_EVT_DATA_READY [00:02:17.002,197] <inf> app_event_manager: DATA_EVT_DATA_SEND_BATCH [00:02:17.002,868] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
In the Device Data card on the nRF Cloud, verify that the Reference Signal Received Power attribute has just been updated and has a proper value:
Click the Show Reference Signal Received Power card icon to see the graphical representation of the Reference Signal Received Power values on the time scale:
Click the View historical data icon and select appropriate time interval to see the signal power history.
In the Device Information card, check the other modem static and dynamic data in the Device Info and Network Info tabs.
3.12. Battery Sensor Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Click the Manage Cards button and check the Device Data checkbox so that the Device Data card is displayed on the board page.
In the Device Data card, check the Last connected attribute to make sure that the board has recently connected to the cloud.
From the nRF9151 console, confirm that the Battery sensor has been read successfully:
[00:00:27.001,281] <inf> app_event_manager: SENSOR_EVT_FUEL_GAUGE_READY
Wait 110 seconds for the device data to be updated on the cloud. The default timeout of 110 seconds can be reduced for convenience: click the View Config button, then Edit Configuration. If activeMode is false then the timeout is no greater than movementResolution, otherwise, it is no greater than activeWaitTime.
From the nRF9151 console, confirm that the device data have been sent to the cloud:
[00:02:16.997,283] <inf> app_event_manager: DATA_EVT_DATA_READY [00:02:17.002,197] <inf> app_event_manager: DATA_EVT_DATA_SEND_BATCH [00:02:17.002,868] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
In the Device Data card on the nRF Cloud, verify that the Battery attribute has just been updated and has a proper value:
Click the Show Battery card icon to see the graphical representation of the battery values on the time scale:
Click the View historical data icon and select appropriate time interval to see the battery status history:
3.13. Ambient Temp Sensor Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Click the Manage Cards button and check the Device Data checkbox so that the Device Data card is displayed on the board page.
In the Device Data card, check the Last connected attribute to make sure that the board has recently connected to the cloud.
Wait 110 seconds for the device data to be updated on the cloud. The default timeout of 110 seconds can be reduced for convenience: click the View Config button, then Edit Configuration. If activeMode is false then the timeout is no greater than movementResolution, otherwise, it is no greater than activeWaitTime.
From the nRF9151 console, confirm that the device data have been sent to the cloud:
[00:02:16.997,283] <inf> app_event_manager: DATA_EVT_DATA_READY [00:02:17.002,197] <inf> app_event_manager: DATA_EVT_DATA_SEND_BATCH [00:02:17.002,868] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
In the Device Data card on the nRF Cloud, verify that the Temperature attribute has just been updated and has a proper value:
Click the Show Temperature card icon to see the graphical representation of the temperature values on the time scale:
Click the View historical data icon and select appropriate time interval to see the temperature history:
3.14. Air Pressure Sensor Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Click the Manage Cards button and check the Device Data checkbox so that the Device Data card is displayed on the board page.
In the Device Data card, check the Last connected attribute to make sure that the board has recently connected to the cloud.
Wait 110 seconds for the device data to be updated on the cloud. The default timeout of 110 seconds can be reduced for convenience: click the View Config button, then Edit Configuration. If activeMode is false then the timeout is no greater than movementResolution, otherwise, it is no greater than activeWaitTime.
From the nRF9151 console, confirm that the device data have been sent to the cloud:
[00:02:16.997,283] <inf> app_event_manager: DATA_EVT_DATA_READY [00:02:17.002,197] <inf> app_event_manager: DATA_EVT_DATA_SEND_BATCH [00:02:17.002,868] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
In the Device Data card on the nRF Cloud, verify that the Air Pressure attribute has just been updated and has a proper value:
Click the Show Air Pressure card icon to see the graphical representation of the air pressure values on the time scale:
Click the View historical data icon and select appropriate time interval to see the air pressure history:
3.15. Accelerometer Sensor Test
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Press the “View Config” button.
Press “Edit configuration” in “Device Configuration” window opened:
Change the "accThreshAct" and “accThreshInAct” parameters to 1:
Press the “Commit” button.
Wait for the board to connect to the cloud and download new configuration. Note that this process may take up to 5 minutes, since the Asset Tracker by default is configured to connect to the cloud once in 300 seconds. The “Reported” field will update when the board applies the new configuration.
Verify updated sensors data arrived on nRF9151 console:
[00:00:16.598,602] <inf> app_event_manager: CLOUD_EVT_CONFIG_RECEIVED ... [00:00:16.604,461] <inf> sensor_module: Received sensors configuration data
Shake the board.
Observe the activity detected message on nRF5340 console:
[00:02:36.250,457] <inf> ext_sensors: Activity detected
Observe the activity detected message on nRF9151 console:
[00:02:42.888,946] <inf> app_event_manager: SENSOR_EVT_MOVEMENT_ACTIVITY_DETECTED
3.16. GPI Events Test
Check the board
uuid
from the nRF9151 console (it is assumed that the nRF Device provisioning procedure has been performed earlier):uart:~$ nrf_provisioning uuid 50343959-3733-4c71-806b-202470cee0bf
Check that the board has successfully connected to the cloud over LTE:
[00:00:02.824,615] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTING [00:00:04.110,168] <inf> app_event_manager: MODEM_EVT_LTE_CELL_UPDATE [00:00:15.095,916] <inf> app_event_manager: MODEM_EVT_LTE_CONNECTED [00:00:15.234,283] <inf> cloud_module: DEVICE CERTIFICATE IS PRESENT [00:00:15.236,907] <inf> app_event_manager: CLOUD_EVT_CONNECTING [00:00:15.237,426] <inf> app_event_manager: MODEM_EVT_LTE_PSM_UPDATE [00:00:15.237,915] <inf> app_event_manager: DATA_EVT_DATE_TIME_OBTAINED [00:00:22.080,871] <inf> net_mqtt: Connect completed
Press and hold the User 1 button (the button emulation from the nrf9151 console can be used):
uart:~$ button usr1 pressed Button usr1 pressed [00:10:26.663,482] <inf> ui_module: BUTTON_EVT_USER1_PRESSED [00:10:26.663,543] <inf> led_module: BUTTON_EVT_USER1_PRESSED [00:10:26.663,635] <inf> app_event_manager: UI_EVT_BUTTON_DATA_READY [00:10:26.664,031] <inf> app_event_manager: DATA_EVT_UI_DATA_READY [00:10:26.665,405] <inf> app_event_manager: DATA_EVT_UI_DATA_SEND [00:10:26.666,198] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
Press and release the User 2 button (the button emulation from the nrf9151 console can be used):
uart:~$ button usr2 pressed Button usr2 pressed [00:10:32.105,346] <inf> ui_module: BUTTON_EVT_USER2_PRESSED [00:10:32.105,438] <inf> led_module: BUTTON_EVT_USER2_PRESSED [00:10:32.105,529] <inf> app_event_manager: UI_EVT_BUTTON_DATA_READY [00:10:32.106,018] <inf> app_event_manager: DATA_EVT_UI_DATA_READY [00:10:32.107,360] <inf> app_event_manager: DATA_EVT_UI_DATA_SEND [00:10:32.108,184] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS uart:~$ button usr2 released Button usr2 released [00:10:38.058,990] <inf> ui_module: BUTTON_EVT_USER2_RELEASED [00:10:38.059,051] <inf> led_module: BUTTON_EVT_USER2_RELEASED [00:10:38.059,143] <inf> app_event_manager: UI_EVT_BUTTON_DATA_READY [00:10:38.059,478] <inf> app_event_manager: DATA_EVT_UI_DATA_READY [00:10:38.060,852] <inf> app_event_manager: DATA_EVT_UI_DATA_SEND [00:10:38.061,645] <inf> app_event_manager: CLOUD_EVT_DATA_SEND_QOS
Release the User 1 button:
uart:~$ button usr1 released Button usr1 released [00:10:45.128,936] <inf> ui_module: BUTTON_EVT_USER1_RELEASED [00:10:45.128,997] <inf> led_module: BUTTON_EVT_USER1_RELEASED
Press and release the User 2 button again:
uart:~$ button usr2 pressed Button usr2 pressed [00:10:48.296,203] <inf> ui_module: BUTTON_EVT_USER2_PRESSED [00:10:48.296,264] <inf> led_module: BUTTON_EVT_USER2_PRESSED uart:~$ button usr2 released Button usr2 released [00:10:52.516,571] <inf> ui_module: BUTTON_EVT_USER2_RELEASED [00:10:52.516,632] <inf> led_module: BUTTON_EVT_USER2_RELEASED
Login to the nRF Cloud and go to the DEVICE MANAGEMENT / Devices page. Find the board by the
uuid
ID and open the board page.Scroll down to Custom App: BUTTON graph and observe that BUTTON value has changed:
The application sends a mask representation of the buttons state to the cloud:
0 if none of the buttons is pressed.
1 if only User 1 button is pressed.
2 if only User 2 button is pressed.
3 if both buttons are pressed.
3.17. Cloud Log Backend Test
Log into the NRF cloud account, go to the device page, and select the
"Info
” level on the Logs device card:Switch to the Log card on the NRF Cloud interface, then click the clock icon on the bottom right, then click the newly appeared
"Get Data"
button:Verify that the Log card was filled in with log data with
"3 - inf"
log level:Select the “
Disable"
log level in the Log card on the NRF cloud interface.