MQTT-SN with LARA-R6, SARA-R5 and SARA-R422

We are excited to make available support for MQTT Anywhere using a Thingstream SIM and the native MQTT-SN client on the u-blox LARA-R6, SARA-R5 and SARA-R422x modules.


For SARA-R5, "00B" module versions are not supported. "01B" or newer modules with at least firmware version 03.14,A00.01 are needed. For SARA-R422x, a SARA-R422S or SARA-R422M8S module with firmware version 00.12,A00.00 or newer is needed.


Please note the following:


  • MQTT-SN connection duration in seconds will be rounded up to the nearest minute on the broker

  • The maximum message size that can be sent is 1016 bytes


You can follow the instructions in the AT Commands Manual for how to use the MQTT-SN Client.:

Some simple examples to get you up and running quickly are listed below.

For the fastest network registration on your Thingstream SIM, we suggest to set AT+URAT=9,7. This speeds up the network scan time by disabling NBIoT where there are very few available networks.


Setup


  • Set ClientID

    This needs to be a unique value for your Thingstream domain. We suggest using the Identity value of your SN Thing which you can find on the Thing
    Details page of the management console.

    AT+UMQTTSN=0,"identity:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

  • Set server IP address and port

    AT+UMQTTSN=2,"10.7.0.55",2442

  • Set connection duration (seconds)

    AT+UMQTTSN=8,600

  • Save configuration

    AT+UMQTTSNNV=2

  • Load configuration

    AT+UMQTTSNNV=1

Using the MQTT-SN Client

Once you have completed the MQTT client configuration, you will need to set up the packet switched data configuration to use the TSUDP APN and you can proceed with the MQTT-SN commands.


  • Connect

    AT+UMQTTSNC=1
    Expect +UUMQTTSNC: 1,1 as a response to confirm you are connected. You should also see a green dot next to your Thing in the management console.



  • Register a topic

    Before you can publish to a normal topic, you need to register with with the broker and get back a topic ID.

    AT+UMQTTSNC=2,"my/publish/topic"
    Expect +UUMQTTSNC: 2,1,1 as a response to confirm the registration. The final argument in the response is the topic ID to use when you publish.

    Note that topic names must be longer than 2 characters. If you try to register a topic that is too short an ID of 0 will be returned indicating an error

    AT+UMQTTSNC=2,"my"
    Expect +UUMQTTSNC: 2,1,0 as a response to indicate the error in registration.


  • Publish

    AT+UMQTTSNC=4,1,0,0,0,"1","My message"

    Expect +UUMQTTSNC: 4,1 as a response to confirm the publish. You will also now see a new device originated message in the activity tab for your Thing in the management console.



To receive messages on your module, you need to subscribe to a topic.


  • Subscribe

    AT+UMQTTSNC=5,1,0,"my/subscribe/topic"
    Expect +UUMQTTSNC: 5,1,0,1 as a response to confirm you have subscribed. You will also now see a new subscription in the activity tab for your Thing in the management console.


Now if you publish a message to "my/subscribe/topic " you will see it arrive on the module. You can use the "Send Message" function in the management console to send a test message. Check out the guide here to see how.


  • Read a received message

    When the message arrives, you'll see
    +UUMQTTSNC: 9,1 in the terminal. You can read the message with the following command.

    AT+UMQTTSNC=9,1