Provisioning a nRF9160 on nRF Cloud in production scenery

Hi everyone,

Edit: Consider that I'm on ncs 2.6.1


What are the current methods for provisioning an nRF9160 on the nRF Cloud? I have an ongoing project with the nRF9160 and I need it to have FOTA. I have been following the FOTA tutorials on Dev Academy but it assumes that the device is already provisioned on the nRF Cloud. I can provision the nRF9160 on a DK board by IMEI and PIN, but considering a fast production pace of many product units, and considering that I would only receive the SiP on a tape and reel, without the PIN label, how would I do this? I've already searched for this on the forum and found this topic:

devzone.nordicsemi.com/.../how-to-fetch-hwid-from-nrf91-series-non-dk

In it, Hakon cites the link below:

docs.nordicsemi.com/.../GettingStarted.html

This link describes the process of "Claiming and auto-onboarding the device" but from what I read, this does not apply to the 9160. I also tried adding the 9160 by HWID, as the topic owner (zachary_z) said he did successfully in his case. For this, I created a function like this:

static void get_hwid(void)
{
char buf[HW_ID_LEN] = "unsupported";
int err = hw_id_get(buf, ARRAY_SIZE(buf));
if (err)
{
printk("hw_id_get failed (err %d)\n", err);
return 0;
}

printk("hw_id: %s\n", buf);
}

And I got the following output:

hw_id: 36B41A844CDE1605<CR><LF>

(consider that this hwid is from a test DK, so I have no concern in posting this information here, especially because it doesn't make sense without the IMEI)

Using this HWID I was unable to add the device.

I also tried using the "Claim Device" method in nRF Cloud. I obtained the token through the following function:

static void get_attesttoken(void)
{
char command[] = "AT%%ATTESTTOKEN";
int err = nrf_modem_at_cmd(response, sizeof(response), command);
printk("Device attestation token: %s.\r\n", response);
}

And I received the following response:

%ATTESTTOKEN: "2dn3hQFQUE5XNzI1SdCAYiUNfHisSANQ56HFSrB8RRKcPo7Lv-JkHVDpBEnYidpJIRiLx7DSV644.0oRDoQEmoQRBIfZYQPDn3_XWq1AainQE8yal4gUvW6BeQn-yGAAoZVkVxevuQxVWWx7NopQTsV5xzoxDeG1MOZV574GvRxxxxxxxxxxx"

(Please note that this is not the real data)

When I try to enter it in nRF Cloud I receive the message that the device is not supported.

That's all I have so far regarding this issue. (Remembering that my main goal is to understand how to provision devices in the nRF Cloud in a production scenario).

Related