NB-IoT post data using AT Commands and MQTT to ThingSpeak

I would like to evaluate the use of NB-IoT in the UK which Wireless Logic SIM included with nrf9151DK provides. Using the following sequence of AT commands I can send data over LTE-M to thingspeak but if I try the same sequence with NB-IoT as the mode and preference (i.e. AT%XSYSTEMMODE=0,1,0,2) i get ERROR response when i try to connect using AT#XMQTTCON instead of OK when using LTE-M. Can you advise where I may be going wrong please? I am using the Serial LTE Modem application in nrfConnect. 

  • AT#XRESET
  • AT%XSYSTEMMODE=1,1,0,1
  • AT+CFUN=1
  • AT+CEREG=5
  • AT+CSCON=1
  • AT+CGDCONT=1,"IP","APN HERE"
  • AT+CESQ=0
  • AT#XMQTTCFG="CLIENT ID HERE",300,1
  • AT#XMQTTCON=1,"USER NAME HERE","PASSWORD HERE","mqtt3.thingspeak.com",1883
  • AT#XMQTTPUB="TOPIC HERE","DATA HERE"
Parents Reply
  • Hi Hakon,

    I have tried your AT commands and similar to your second attempt it wont connect and produces ERROR. It would be good if it said something more than just ERROR.

    Does the latest firmware mfw_nrf91x1_2.0.2 support MQTT for NB-IoT using AT Commands?

    After trying for some time I have still been unable to send a single message via NB-IoT using MQTT yet LTE-M works perfect.

    Do you have any further advice to get this working?

    Thanks again,

    Gavin

Children
  • gav_ncl said:
    I have tried your AT commands and similar to your second attempt it wont connect and produces ERROR. It would be good if it said something more than just ERROR.

    Does it time out, or is it an instant error? If it times out, then you should try a different broker.

    gav_ncl said:
    Does the latest firmware mfw_nrf91x1_2.0.2 support MQTT for NB-IoT using AT Commands?

    It should be supported as far as I know.

  • Hi Hakon,

    It is an instant error. I have tried multiple brokers including the one in your example. LTE-M works on every broker but I have not been able to connect to a broker using NB-IoT.

    Do you have any idea what I may be doing wrong? I can see that the unit is connected via NB-IoT no problem but for whatever reason it will not connect to an MQTT broker.

    Thanks

    Gavin

  • You can request the following notification Set command (AT%XPCO=1) and if received Notification is empty → NB-IoT ePCO is not supported in the SIM provider Packet Gateway element.

    Set command AT%XEPCO=0 should fix this situation with Serial Modem application.

  • Hi Hakon,

    Thanks for your response. Setting AT%XPCO=1 now enable me to send data via MQTT using NB-IoT.

    I will make the above as accepted answer to my query.

    One other question, I notice occasional long periods when I am querying AT+CEREG? and I get +CEREG: 5,0. Why would the modem be "Not registered. User Equipment (UE) is not currently searching for an operator to register to."? How can I command the modem to search when it is already active with CFUN=1 and the other settings I have used above? In my use case I want to power up the unit, find a connection, send the data and then power down so periods where it isnt searching uses power and wastes time.

    Thanks,

    Gavin

Related