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 Children
  • 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