Skip to main content

RockBLOCK Gateway Commands

RockBLOCK-to-RockBLOCK Messaging

RockBLOCKs within the same Delivery Group can communicate directly, similar to how messages are exchanged with HQ. The only requirement is a specific prefix to indicate the message should be forwarded to another RockBLOCK.

Prefix and Destination Serial Number

When sending a message from one RockBLOCK device to another, you need to include a specific prefix in your message payload to ensure it is routed correctly. This prefix consists of:

  1. “RB” Prefix:
  • The literal characters RB (short for RockBLOCK) are used to indicate that the message should be routed to another RockBLOCK device.
  1. 7-Byte Serial Number of the Destination Device:
  • The unique serial number of the target RockBLOCK device, formatted as a 7-character string.
  • Leading zeros are added if necessary to ensure the serial number is exactly 7 characters long.

For example, if your target RockBLOCK had serial number 1234, your message prefix would be RB0001234.

Important

Ensure that the serial number always consists of 7 bytes (characters). Add leading zeros as needed (e.g., 0001234).

ASCII Mode Messaging

Below is an example of sending an ASCII message to a RockBLOCK with the serial number 1234.

/* Issue AT command */
AT\r

/* Receive response */
OK\r

/* Turn off Flow Control (Optional, if required by your setup) */
AT&K0\r

/* Receive response */
OK\r

/* Insert ASCII message into MO buffer */
AT+SBDWT=RB0001234Hello\r

/* Receive response */
OK\r

/* Initiate an Extended SBD Session */
AT+SBDIX\r

Binary Mode Messaging

  • Binary Message Composition:
    • Prefix: RB in ASCII, which is 5242 in hexadecimal.
    • Serial Number: 7-character serial number for the target unit, ascii encoded and padded with leading zeros if necessary (e.g., 0001234 is 30303031323334 in hexadecimal)
    • Message Content: Your message in ASCII, converted to hexadecimal (e.g., Hello is 48656C6C6F)
  • Full Binary Message (Hexadecimal Representaion): 52423030303132333448656C6C6F
  • Calculate Checksum: For this example, the checksum is 03E2.

For more information about sending binary messages and checksum calculation, please review the +SBDWB command docs.

Do not add the checksum length to the message length

Calculate the total length of your binary message, exculuding the 2-byte checksum.

Below is the procedure for sending a binary message Hello to a RockBLOCK device with the serial number 1234.

/* Verify Communication */
AT\r

/* Receive response */
OK\r\n

/* Turn off Flow Control (Optional, if required by your setup) */
AT&K0\r

/* Receive response */
OK\r\n

/* Prepare to Send Binary Message */
/* If your binary message (including prefix and serial number) is 14 bytes long, you would send: */
AT+SBDWB=14\r

/* Response */
READY\r\n

/* Stream Binary Message and Checksum */

[Binary Message Bytes][Checksum Bytes]

/* Response */
0\r\n
OK\r\n

/* Initiate SBD Session */
AT+SBDIX\r

/* Response */
+SBDIX: 0, 16, 0, 0, 0, 0\r\n
OK\r\n

Flush MT Queue

This command causes an MT message to be queued in reply, with a flag set to instruct the Iridium gateway to clear any MT messages queued, but not yet downloaded. This is very useful if you suspect that there may be hundreds of queued messages for your device, but you don’t wish to download them all.

This behaviour will be triggered if your MO payload is equal to FLUSH_MT (Hex: 46 4c 55 53 48 5f 4d 54).

The resultant MT reply will contain the same payload, indicating that the queue has been flushed. In this example, there were 10 MT messages queued. They were Hello1, Hello2, Hello3... etc.

AT&K0            (turns off flow control, as running in 3-wire mode) 
OK
AT+SBDIX
+SBDIX: 0, 4, 1, 2, 6, 9
OK
AT+SBDRT
+SBDRT:
Hello1
OK
AT+SBDWT=FLUSH_MT
OK
AT+SBDIX
+SBDIX: 0, 5, 1, 3, 6, 8
OK
AT+SBDRT
+SBDRT:
Hello2
OK
AT+SBDD0
0
OK
AT+SBDIX
+SBDIX: 0, 6, 1, 8, 8, 0
OK
AT+SBDRT
+SBDRT:
FLUSH_MT
OK

AT Commands used in this section