Nordic platform with multiple interfaces (WiFi, Bluetooth, Ethernet, Cellular)

I am trying to replace such a platform and was hoping to use nRF9151 as a starting point.

Is such a platform possible at all with Nordic/Zephyr ?

I have an old 9160 dev kit which has cellular + Bluetooth, and which looks like it can support Ethernet if I add the necessary hardware (eg W5500).

So presumably I could also do something similar with the newer nRF9151.

So far so good. But how would I add WiFi, does Nordic have a solution for that ?  I've read somewhere that the 9151 has insufficient code space for the WiFi stack.

A related but very important question would be how would FOTA work if there were multiple programmable chips on the same device ?  I'm fairly new to Nordic / Zephyr and thus far its been very daunting.

Apologies, I know its a lot to ask,

John

Parents Reply
  • Hi,

     

    Soupdragon said:
    OK the nRF91-series can't do the job on its own. But maybe I could switch the architecture around and have a nRF5340 chip (for example) as my primary controller and use the nRF91-series device as a standalone 4G modem. The nRF5340 would give me Bluetooth and also have capacity to support both WiFi (using nRF7002) and Ethernet (using ENC424J600 or similar) connections. Might that work ?

    Yes, the nRF5340 shall have enough RAM to run a full wifi stack.

    Soupdragon said:
    I'd also be looking to use Zephyrs Network 'Connection Manager', which looks like it might be perfect for the job

    Yes, this is a good place to start.

     

    Kind regards,

    Håkon

Children
  • Thanks Håkon,


    I'm trying to get this scenario working by using the 'Cellular modem' sample on my nRF9160 dev kit. Builds OK but I've not much further than that.  Looks like AT commands are timing out.


    (1) The overlay file has the line "compatible = "nordic,nrf91-slm"", which is promising, suggesting I can use the sample in this way on my nRF9160DK.


    (2) I'm not sure what 'test-endpoint.com' is. Do I have to run the te.py on my machine to create an endpoint ? If so how would I find out its name ? Presumably its something specific to my setup, and not 'test-endpoint.com'.


    (3) How do I set CONFIG_MODEM_CELLULAR_APN="" ?  I've spent many days going through all of the Dev Academy training materials (which are excellent), I've had all of the samples working (eg MQTT transfers), but never come across CONFIG_MODEM_CELLULAR_APN or how to set it. Is it something to do with the SIM provider ?


    Apologies, I'm fairly new to this.

  • Hi,

     

    Soupdragon said:

    I'm trying to get this scenario working by using the 'Cellular modem' sample on my nRF9160 dev kit. Builds OK but I've not much further than that.  Looks like AT commands are timing out.

    This is the sample in zephyr/samples/net/cellular_modem, correct?

    This is a sample that is maintained by zephyr, and not us. While it may run, we recommend that you look into using the serial lte modem:

    https://docs.nordicsemi.com/bundle/ncs-3.1.1/page/nrf/applications/serial_lte_modem/README.html

     

    Or enable the AT client in one of our cellular samples that matches your application the closest:

    https://docs.nordicsemi.com/bundle/ncs-3.1.1/page/nrf/samples/cellular.html

    Soupdragon said:
    (2) I'm not sure what 'test-endpoint.com' is. Do I have to run the te.py on my machine to create an endpoint ? If so how would I find out its name ? Presumably its something specific to my setup, and not 'test-endpoint.com'.

    this is a kconfig specific to the cellular_modem sample in zephyr, and a placeholder for the application to set.

    Soupdragon said:
    (3) How do I set CONFIG_MODEM_CELLULAR_APN="" ?  I've spent many days going through all of the Dev Academy training materials (which are excellent), I've had all of the samples working (eg MQTT transfers), but never come across CONFIG_MODEM_CELLULAR_APN or how to set it. Is it something to do with the SIM provider ?

     You can use the pdn library to override your apn:

    CONFIG_PDN=y
    CONFIG_PDN_DEFAULTS_OVERRIDE=y
    CONFIG_PDN_DEFAULT_APN="your-wanted-apn"

    Or use the AT command:

    https://docs.nordicsemi.com/bundle/ref_at_commands/page/REF/at_commands/packet_domain/cgdcont_set.html

     

    Kind regards,

    Håkon

Related