Closed MLopezJ closed 1 year ago
As specified in readme, the expected input will be the result of this tutorial. But I have been having 2 blockers there:
I have been trying Monday 6 and Tuesday 7 of Feb to upgrade from Developer
plan to Pro
because to follow the tutorial I need a new Evaluation Token
and I had already created one some months ago, so in order to create a new one I have to upgrade the plan.
I tried with 2 different cards and I received 2 different errors messages:
Before create a ticket on Dev Zone I would like to check this case internally.
Right now I don't know the permissions of my Azure account but I am not able to create the IoT Hub
This is the error message I am receiving
Subscription and resource group were selected just because were the options available on custom drop downs.
To solve this would be needed to resolve the following questions:
Can not upgrade nRF Cloud Account
issueI still can not upgrade the nRF Cloud plan, however now I am able to generate new Evaluation Tokens who is actually what I need there. To be honest I dont know why now I'm able to do that.
But now I have a new issue and is that the Device Location
is not shown in the Coiote Dashboard
.
I'm planning to remove device from dashboard and make the integration again. If issue persist I will explore other alternatives.
Main question right now is How can I display the device location in Coiote Dashboard because in the Coiote documentation there is any link about how to do it, it is only mentioned. I tried searching on google but so far I didn't found any useful link.
Those are the result I'm receiving that I assume can be related to this feature:
I am using an Onomondo SIM Card. I'm assuming it should have same behavior than regular iBasis SIm Card.
Device never connected
Anjay Console:
[00:04:52.248,229] <inf> anjay: [anjay] servers reloaded
[00:05:21.605,468] <wrn> anjay: [anjay] transport required for protocol coaps is not supported or offline
[00:05:31.646,697] <err> nrf_lc_info: Can't search for neighbor cells, error: -119
[00:05:32.582,153] <inf> nrf_lc_info: Neighbor cells measurement received
[00:05:32.582,153] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:05:32.591,461] <inf> nrf_lc_info: Found 2 neighbor cells
[00:05:35.507,263] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:06:16.744,293] <inf> nrf_lc_info: Neighbor cells measurement received
[00:06:16.744,323] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:06:16.753,417] <inf> nrf_lc_info: Found 3 neighbor cells
[00:06:19.669,403] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:07:00.906,127] <inf> nrf_lc_info: Neighbor cells measurement received
[00:07:00.906,127] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:07:00.915,222] <inf> nrf_lc_info: Found 2 neighbor cells
[00:07:00.916,076] <inf> nrf_lc_info: LTE mode updated: 0
[00:07:00.916,687] <inf> nrf_lc_info: LTE mode updated: 7
[00:07:02.180,603] <inf> nrf_lc_info: Neighbor cells measurement received
[00:07:02.180,603] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:07:02.189,788] <inf> nrf_lc_info: Found 2 neighbor cells
[00:07:04.108,978] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:07:45.707,489] <inf> nrf_lc_info: Neighbor cells measurement received
[00:07:45.707,519] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:07:45.717,010] <inf> nrf_lc_info: Found 2 neighbor cells
[00:07:48.632,049] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:08:29.870,269] <inf> nrf_lc_info: Neighbor cells measurement received
[00:08:29.870,300] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:08:29.879,699] <inf> nrf_lc_info: Found 4 neighbor cells
[00:08:31.784,973] <inf> nrf_lc_info: Neighbor cells measurement received
[00:08:31.785,003] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:08:31.793,548] <inf> nrf_lc_info: Found 5 neighbor cells
[00:08:32.794,830] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:09:14.031,341] <inf> nrf_lc_info: Neighbor cells measurement received
[00:09:14.031,341] <inf> nrf_lc_info: Connected to cell E-UTRAN ID 34237196
[00:09:14.040,557] <inf> nrf_lc_info: Found 2 neighbor cells
[00:09:17.595,642] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
I will re start the tutorial from Part 1 - Connect the Thingy:91 to Coiote using the LwM2M Anjay client
Get Zephyr and Python dependencies
steps 1 and 2 works fine. Step 3 as well. Step 4 too.Clone the Anjay Zephyr repository
Step 2 the command should be executed into ~/zephyrproject
folderWrite the firmware to the Thingy:91
done Received following message when trying to Connect the Thingy:91 to Coiote IoT Device Management
.
Device is not connected to Coiote dashboard
[00:05:36.045,898] <inf> loc_assist: GPS ephemeris
[00:05:36.045,928] <inf> loc_assist: GPS almanac
[00:05:36.047,546] <wrn> loc_assist: Target SSID=1 is offline, attempting deferred send
[00:05:36.047,698] <inf> loc_assist: Sent the A-GPS request to SSID=1
[00:05:36.048,980] <inf> anjay: [anjay] servers reloaded
[00:05:36.049,804] <inf> anjay: [anjay] server /0/0: transport change: (none) -> U (uri: coaps://eu.iot.avsystem.cloud:5684)
[00:05:36.050,933] <inf> anjay: [anjay] Modem FW version: 1.3.2
[00:05:38.550,323] <wrn> anjay: [anjay] could not store bound local port
[00:05:38.550,476] <inf> anjay: [anjay] resumed connection
[00:05:38.551,696] <inf> anjay: [anjay] Attempting to register with LwM2M version 1.1
[00:05:38.552,185] <inf> anjay: [anjay] Register sent
[00:05:38.678,192] <wrn> anjay: [anjay] server responded with 4.00 Bad Request (expected 2.01 Created)
[00:05:38.678,222] <wrn> anjay: [anjay] could not register to server 1
[00:05:38.681,671] <inf> anjay: [anjay] Registration Retry 1/4
[00:05:57.273,925] <wrn> gps_nrf: GPS was interrupted multiple times by the LTE modem when producing a fix
[00:05:57.576,385] <inf> main_app: Anjay is now offline
current Anjay config
uart:~$ anjay config show
LwM2M Server URI: coaps://eu.iot.avsystem.cloud:5684
Device lifetime: 50
Endpoint name: azure-testing
PSK: ******
Bootstrap: n
GPS priority mode timeout: 300
GPS priority mode cooldown: 1800
I will try with Onomondo SIM Card.
It is not registry in nRF Cloud so far.
Same result than previous round.
It means than current status is even worst than in the beginning because connection to Coiote dashboard is not even possible.
Possible causes:
I can not confirm if onomondo
SIM card runs out of data because I can not registry it on nRF Cloud
.
I can not confirm if others iBasis
SIM cards that I have are out of data as well because I dont have their ICCID/EID
and PUNK
SIM Card status
Onomondo
status requested. Waiting for anwer.
New iBasis SIM card requested. EID
8949320005262245469 registered on nRF Cloud. It contains 10.49 Mb of data.
New iBasis SIM card requested.
EID
8949320005262245469 registered on nRF Cloud. It contains 10.49 Mb of data.
I can confirm now that issue is not related to SIM cards running out of data. Tested with new SIM card and same output received.
Current Anjay config:
LwM2M Server URI: coaps://eu.iot.avsystem.cloud:5684
Device lifetime: 50
Endpoint name: azure-testing
PSK: *****
Bootstrap: n
GPS priority mode timeout: 300
GPS priority mode cooldown: 1800
[00:00:37.549,621] <inf> anjay: [anjay_dm] successfully registered object /0
[00:00:37.549,743] <inf> anjay: [anjay_dm] successfully registered object /1
[00:00:37.549,835] <inf> anjay: [anjay_dm] successfully registered object /5
[00:00:37.551,177] <inf> anjay: [anjay_dm] successfully registered object /3
[00:00:37.551,300] <inf> anjay: [anjay_dm] successfully registered object /3303
[00:00:37.552,185] <inf> anjay: [anjay_dm] successfully registered object /3304
[00:00:37.553,039] <inf> anjay: [anjay_dm] successfully registered object /3315
[00:00:37.553,924] <inf> anjay: [anjay_dm] successfully registered object /3313
[00:00:37.554,260] <inf> anjay: [anjay_dm] successfully registered object /3347
[00:00:37.554,504] <inf> anjay: [anjay_dm] successfully registered object /3420
[00:00:37.554,595] <inf> anjay: [anjay_dm] successfully registered object /6
[00:00:37.554,779] <inf> anjay: [anjay_dm] successfully registered object /4
[00:00:37.554,901] <inf> anjay: [anjay_dm] successfully registered object /10256
[00:00:37.555,450] <inf> anjay: [anjay_dm] successfully registered object /50001
[00:00:37.619,049] <inf> nrf_lc_info: LTE mode updated: 0
[00:00:41.526,123] <inf> nrf_lc_info: LTE mode updated: 7
[00:00:47.454,986] <inf> nrf_lc_info: LTE mode updated: 0
[00:00:50.169,128] <inf> nrf_lc_info: LTE mode updated: 7
[00:00:51.306,152] <inf> anjay: [security] Added instance 0 (SSID: 1, URI: coaps://eu.iot.avsystem.cloud:5684)
[00:00:51.306,304] <inf> anjay: [server] Added instance 0 (SSID: 1)
[00:00:51.306,335] <inf> main_app: Successfully created thread
[00:00:51.306,365] <inf> main_app: Anjay is now online on bearer 0
[00:00:51.309,417] <inf> main_app: Modem requests A-GPS data
[00:00:51.309,448] <inf> loc_assist: Requesting following types of A-GPS data:
[00:00:51.309,448] <inf> loc_assist: UTC parameters
[00:00:51.309,478] <inf> loc_assist: Klobuchar ionospheric correction parameters
[00:00:51.309,509] <inf> loc_assist: SV time of week
[00:00:51.309,509] <inf> loc_assist: GPS system time
[00:00:51.309,539] <inf> loc_assist: Position assistance parameters
[00:00:51.309,570] <inf> loc_assist: Integrity assistance parameters
[00:00:51.309,600] <inf> loc_assist: GPS ephemeris
[00:00:51.309,631] <inf> loc_assist: GPS almanac
[00:00:51.311,218] <wrn> loc_assist: Target SSID=1 is offline, attempting deferred send
[00:00:51.311,370] <inf> loc_assist: Sent the A-GPS request to SSID=1
[00:00:51.312,713] <inf> anjay: [anjay] servers reloaded
[00:00:51.313,629] <inf> anjay: [anjay] server /0/0: transport change: (none) -> U (uri: coaps://eu.iot.avsystem.cloud:5684)
[00:00:51.314,697] <inf> anjay: [anjay] Modem FW version: 1.3.2
[00:00:53.720,672] <wrn> anjay: [anjay] could not store bound local port
[00:00:53.720,855] <inf> anjay: [anjay] resumed connection
[00:00:53.722,106] <inf> anjay: [anjay] Attempting to register with LwM2M version 1.1
[00:00:53.722,595] <inf> anjay: [anjay] Register sent
[00:00:53.839,019] <wrn> anjay: [anjay] server responded with 4.00 Bad Request (expected 2.01 Created)
[00:00:53.839,019] <wrn> anjay: [anjay] could not register to server 1
[00:00:53.842,224] <inf> anjay: [anjay] Registration Retry 1/4
[00:01:10.194,396] <wrn> at_monitor: No heap space for incoming notification: %NCELLMEAS: 0,"02024720","24202","0901",65535,6300,428,54,13,69716,6300,187,53,9,0,6300,188,49,1,0,1650,264,49,10,23,100,264,48,14,32,0
Evaluate different Anjay config options to see if this is the source of the issue.
After following the next steps I was able to connect device to Coiote Dashboard.
anjay config default
anjay config save
anjay config set endpoint <endpoint name>
anjay config set psk <key>
When using IBasis no IP address
was shown and Cell ID
value was 0.
This is not the case when using onomondo SIM Card.
After follow the instructions on the integration with nRF Cloud tutorial, Device Location
is not shown.
The SIM Card used is onomondo
and it is not registered on nRF Cloud
. The device used is not registered on nRF Cloud
neither.
Location
and Location Assistance
objects have the same values than here
Status right now is same as described here
~Are Location
and Location Assistance
objects part of Asset Tracker V2
?~
~Is the result the same when checking Device Location
with iBasis SIM card?~
Does the SIM card need to be added in nRF Cloud
in order to provide Location data?
Does the device need to be added in nRF Cloud
in order to provide Location data?
How can I check if location related objects are been generated in the Thingy?
How can I check if location related objects are been send to Coiote?
Are anjay logs telling me something about the issue?
Are
Location
andLocation Assistance
objects part ofAsset Tracker V2
?
Location object is part of Asset Tracker V2, but Location Assistance not.
I'm assuming Location Assistance
to be custom Av Systems
object because it is not registered on LwM2M documentation
Is the result the same when checking
Device Location
with iBasis SIM card?
Short answer: Yes.
Long answer:
After changing the SIM card seems like the device is not able to connect to the Coiote Dashboard.
Steps followed:
iBasis SIM Card contains 10.39 Mb of data remaining. And on nRF Cloud there is pointed out that it is not connected to any device. Would that affect the connection?
After around 7 minutes and without make any modification, the device was able to connect to Coiote Dashboard. This is telling me that SIM card being not connected to nRF Cloud is not a problem for device registration on Coiote Dashboard, but I dont know if it is an issue for display Device Locatioan on Coiote.
As shown in the picture and described here, the Location object is not mandatory. It means it is not a hard blocker. It is still needed with the propose of see all the case scenarios of the integration output but is something which can be seen letter with more detail.
Progress on this with be on hold until creation of IoT Hub in Azure is solved.
Discussion abut why Device Location can not be shown and how to fix it will continue here.
After doing the integration with Azure, this is the output I am receiving.
[
{
"lwm2m": { "3313": { "0": { "5704": { "value": -9.424189567565918 } } } },
"EventProcessedUtcTime": "2023-02-08T16:10:30.4016153Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2023-02-08T15:28:13.8200000Z",
"IoTHub": {
"MessageId": "6bc712e2-c261-4bb5-a8ab-1b1caa1158c0",
"CorrelationId": "818d0bf4-d0ec-41d5-ba8e-a0de7128b326",
"ConnectionDeviceId": "test-a",
"ConnectionDeviceGenerationId": "638114651765459563",
"EnqueuedTime": "2023-02-08T15:28:13.3830000Z"
}
},
{
"lwm2m": { "3303": { "0": { "5602": { "value": 24.690000534057617 } } } },
"EventProcessedUtcTime": "2023-02-08T16:10:30.4016153Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2023-02-08T15:28:13.8200000Z",
"IoTHub": {
"MessageId": "cb325b1d-d0c4-4bf9-9222-4af6694cde8d",
"CorrelationId": "ef468d6b-c7d3-4fc9-b22d-eb4ab03a5a2d",
"ConnectionDeviceId": "test-a",
"ConnectionDeviceGenerationId": "638114651765459563",
"EnqueuedTime": "2023-02-08T15:28:13.4920000Z"
}
},
{
"lwm2m": { "3304": { "0": { "5700": { "value": 18.482999801635742 } } } },
"EventProcessedUtcTime": "2023-02-08T16:10:30.4016153Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2023-02-08T15:28:13.8200000Z",
"IoTHub": {
"MessageId": "17cb1ad6-0bab-4e57-b779-d4a7e0c00cfe",
"CorrelationId": "e19a93a0-869a-4b66-ad88-163e3f77fbc9",
"ConnectionDeviceId": "test-a",
"ConnectionDeviceGenerationId": "638114651765459563",
"EnqueuedTime": "2023-02-08T15:28:13.4920000Z"
}
},
{
"lwm2m": { "3347": { "0": { "5501": { "value": 0 } } } },
"EventProcessedUtcTime": "2023-02-08T16:10:30.4016153Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2023-02-08T15:28:13.8200000Z",
"IoTHub": {
"MessageId": "e376e637-fa55-4dd5-9386-8e1c5bf84732",
"CorrelationId": "a1e7b796-375a-4544-b89e-5d9b23505093",
"ConnectionDeviceId": "test-a",
"ConnectionDeviceGenerationId": "638114651765459563",
"EnqueuedTime": "2023-02-08T15:28:13.4920000Z"
}
},
{
"lwm2m": { "3315": { "0": { "5602": { "value": 99566 } } } },
"EventProcessedUtcTime": "2023-02-08T16:10:30.4016153Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2023-02-08T15:28:13.8200000Z",
"IoTHub": {
"MessageId": "669c29fb-2d71-47a3-a243-21d01aecc6f0",
"CorrelationId": "30ab7848-7d6e-499e-98a2-2a737307f84e",
"ConnectionDeviceId": "test-a",
"ConnectionDeviceGenerationId": "638114651765459563",
"EnqueuedTime": "2023-02-08T15:28:13.4920000Z"
}
},
]
So far I am only receiving data from 4 objects and those objects only contains one prop each one.
I am assuming this could be related to this step described here, but this need to be confirmed or discarded.
From coiote
iot hub, the test-a
device, device twin object:
{
"deviceId": "test-a",
"etag": "AAAAAAAAAAE=",
"deviceEtag": "NTMzMDc5OTU1",
"status": "enabled",
"statusUpdateTime": "0001-01-01T00:00:00Z",
"connectionState": "Connected",
"lastActivityTime": "2023-02-08T17:05:03.1627187Z",
"cloudToDeviceMessageCount": 0,
"authenticationType": "sas",
"x509Thumbprint": {
"primaryThumbprint": null,
"secondaryThumbprint": null
},
"modelId": "",
"version": 32,
"properties": {
"desired": {
"$metadata": {
"$lastUpdated": "2023-02-08T14:59:36.5459563Z"
},
"$version": 1
},
"reported": {
"lwm2m": {
"1": {
"0": {
"0": {
"value": 1
},
"1": {
"value": 50
},
"6": {
"value": false
},
"7": {
"value": "U"
},
"16": {
"value": true
},
"23": {
"value": false
},
"attributes": {
"pmax": "600"
}
},
"attributes": {
"pmax": "600"
},
"observed": true
},
"3": {
"0": {
"0": {
"value": "Nordic Semiconductor"
},
"1": {
"value": "Thingy:91"
},
"2": {
"value": "351358815340515"
},
"3": {
"value": "22.8.1+0"
},
"11": {
"0": {
"value": 0
},
"attributes": {
"dim": "1"
}
},
"13": {
"value": 1675874731000
},
"16": {
"value": "UQ"
},
"19": {
"value": "3.2.1"
}
}
},
"4": {
"0": {
"0": {
"value": 6
},
"1": {
"0": {
"value": 6
},
"1": {
"value": 7
},
"attributes": {
"dim": "2"
}
},
"2": {
"value": -85
},
"3": {
"value": 23
},
"4": {
"0": {
"value": "10.160.120.155"
},
"attributes": {
"dim": "1"
}
},
"8": {
"value": 34237196
},
"9": {
"value": 2
},
"10": {
"value": 242
}
},
"attributes": {
"ver": "1.2"
}
},
"5": {
"0": {
"0": {},
"1": {
"value": ""
},
"3": {
"value": 0
},
"5": {
"value": 1
},
"8": {
"0": {
"value": 0
},
"1": {
"value": 1
},
"attributes": {
"dim": "2"
}
},
"9": {
"value": 2
}
}
},
"6": {
"0": {
"0": {
"attributes": {
"pmin": "600",
"pmax": "3600"
}
},
"1": {
"attributes": {
"pmin": "600",
"pmax": "3600"
}
},
"2": {},
"3": {},
"5": {},
"6": {}
}
},
"3303": {
"0": {
"5601": {},
"5602": {},
"5700": {
"attributes": {
"pmax": "3600",
"pmin": "600"
}
},
"5701": {
"value": "Cel"
},
"attributes": {
"pmin": "300",
"pmax": "600"
}
},
"attributes": {
"pmax": "600",
"pmin": "300"
},
"observed": true
},
"3304": {
"0": {
"5601": {},
"5602": {},
"5700": {
"attributes": {
"pmax": "3600",
"pmin": "600"
}
},
"5701": {
"value": "%RH"
}
}
},
"3313": {
"0": {
"5701": {
"value": "m/s2"
},
"5702": {},
"5703": {},
"5704": {}
}
},
"3315": {
"0": {
"5601": {},
"5602": {},
"5700": {
"attributes": {
"pmax": "3600",
"pmin": "600"
}
},
"5701": {
"value": "Pa"
}
}
},
"3347": {
"0": {
"5500": {},
"5501": {},
"5750": {
"value": "Button 0"
}
}
},
"3420": {
"0": {
"1": {
"value": "#000000"
}
}
},
"10256": {
"0": {
"0": {
"value": 428
},
"2": {
"value": 6300
},
"3": {
"value": 52
},
"4": {
"value": 14
},
"5": {
"value": 0
}
}
},
"50001": {
"0": {
"0": {
"value": 5
},
"1": {
"value": 128
},
"6": {},
"7": {},
"8": {},
"9": {},
"10": {},
"11": {}
}
}
},
"$metadata": {},
"$version": 31
}
},
"capabilities": {
"iotEdge": false
}
}
TL;DR
The expected input object is provided here
Issue Discussion
So far it is known that it will look more or less like this
however, the full object is required to see different case behaviors.