Combining GNSS and CoAP client in nRF Connect SDK — GNSS fix not read, CoAP request not sent

Hi Nordic team,

I’m working on an nRF9151 DK with nRF Connect SDK v3.0.0.
My goal is to send GNSS latitude/longitude data to a CoAP server.

  • The GNSS sample works fine → I get correct coordinates.

  • The CoAP client sample works fine → I can send POST requests and get responses from my server.

  • But when I combine both in one project, I get no GNSS fix and no CoAP messages are sent.

I only see: 

<inf> coap_client_sample: Starting GNSS + CoAP client
<inf> coap_client_sample: Bringing network interface up
<inf> coap_client_sample: Waiting for network connectivity

  • Is there a specific order required for modem/LTE/GNSS init when used with CoAP?

  • Any debugging tips to see why GNSS events never trigger and CoAP never sends?

Additional info

  • Board: nRF9151 DK

  • SDK: nRF Connect SDK v3.0.0

  • Both examples work independently

  • Using IPv6 CoAP server

Any guidance or example on how to properly combine GNSS fix + CoAP POST would be greatly appreciated.

Regards 

Arun

Parents
  • Hi Arun,

    Can you describe your setup and provide complete application log?

    Best regards,
    Dejan

  • Hi, thanks for the quick response.

    Here’s my setup:

    • Board: nRF9151 DK

    • SDK: nRF Connect SDK v3.0.0

    • SIM/network: Jio NB-IoT (India)

    • Server: IPv6 CoAP server at dev-iot.imsafe.app:5683

    • Environment: Tested outdoors, GNSS works when I run the standalone GNSS sample.

    Here is the complete application log from boot:

    *** Booting nRF Connect SDK v3.0.0 ***
    *** Using Zephyr OS v4.0.99 ***
    [00:00:00.305] <inf> coap_client_sample: Starting GNSS + CoAP client
    [00:00:00.312] <inf> coap_client_sample: Bringing network interface up
    [00:00:00.320] <inf> coap_client_sample: Waiting for network connectivity
    +CEREG: 2,"C094","00482492",9
    +CSCON: 1
    +CEREG: 5,"C094","00482492",9,,,"11100000","11100000"
    +CEDRXP: 5,"1001","1001","0011"
    <no further GNSS or CoAP activity>

    When I run the GNSS sample alone → I get fixes.
    When I run the CoAP client alone → I get responses from the server.
    When I combine them → neither GNSS events nor CoAP requests happen.

    My goal is:
    To get latitude & longitude from the nRF9151’s GNSS and send that data via CoAP POST to my server.

    Regards

    Arun

  • Hi Arun,

    Have you tried to reset your dk board and wait longer time until you get a fix?

    In indoor environment, it is not expected that you can get GNSS fix reliably. You can look at cellular or wi-fi locationing (SSID Wi-Fi locationing) as an alternative. Additional information can be found in Location Services. Can you provide details about your outdoor environment? When moving, where and how have you kept the board? Can you provide more information about the type of movement? Did you test GNSS sample only when walking?

    Best regards,
    Dejan

  • Hi Dejan,

    Yes, I have reset the DK board and waited, but the behavior is the same. I can get a fix reliably only when the device is stationary outdoors.

    For outdoor testing, I was in an open area with minimal obstructions (no tall buildings or dense trees). When moving, I carried the board in my hand while walking at normal pace. I have tested only while walking so far.

    It seems that GNSS fix is lost or not acquired reliably when the device is in motion. Could this be due to the GNSS configuration? Is there a recommended mode or setting for continuous tracking while moving?

    Best regards,
    Arun

  • Hi Arun,

    Operation modes for GNSS sample mention this
    "By default, the sample runs in continuous tracking mode. In continuous mode, GNSS tries to acquire a fix once a second."

    Have you considered using A-GNSS / P-GPS? You can find configuration for A-GNSS and P-GPS in the documentation.

    Arun538 said:
    It seems that GNSS fix is lost or not acquired reliably when the device is in motion.

    Are you not getting fix at all or sometimes? Can you elaborate?

    Best regards,
    Dejan

  • Hi Dejan,

    Thank you for the clarification.

    I have not yet enabled A-GNSS or P-GPS. I am currently testing with standard GNSS mode. I will try enabling A-GNSS and P-GPS as you suggested.

    Regarding the fix issue — when the device is stationary outdoors, I get a fix successfully and it updates continuously.
    However, when I start walking or moving, the fix is sometimes lost, and occasionally it does not recover until the device stops moving again.

    It looks like GNSS is struggling to maintain continuous tracking while the board is in motion.

    Also, if you have any example code or reference project for A-GNSS or P-GPS integration, it would be very helpful.

    Best regards,
    Arun

  • Hi Arun,

    With regard to use of A-GNSS or P-GPS you can look at the following samples:
    nRF Cloud Multi Service 
    Modem Shell
    Location
    GNSS

    Best regards,
    Dejan

Reply Children
Related