Skip to main content

RockREMOTE Mini REST API — Command Response

The RockREMOTE Mini Command Response API is an HTTP REST API for querying device status and sending the commands described below.

note

Minimum version v0.12.1

Connection Status​

Local devices attached to the LAN may need to check when the RockREMOTE Mini is ready to receive data to for the WAN. For example, when using the sleep pin to wake up the RockREMOTE Mini from low-power mode, it can take around a minute to fully start and establish a WAN connection.

Devices can make a HTTP GET request on port 80 to the local IP address of the RockREMOTE Mini (default 192.168.250.1), as follows:

http://<rockremote ip>/api/public/connection

The response will be one of the following plain text strings:

  • disconnected
  • iridium

Any response code other than 200 should be treated as disconnected.

Signal Strength​

http://<rockremote ip>/api/public/signal-strength

Response will be the current Iridium signal level(negative integer representing dBm -126 to -100) and signal bars(integer 0 to 5).

example -113,4

Do not check signal strength before sending

The Iridium Certus 9704 and 9770 transceivers in RockBLOCK and RockREMOTE products are configured in firmware to transmit only when signal strength is at least 1 bar. Do not duplicate this check in your application. Do not delay, block or skip a transmission based on a signal reading; send the data and the transceiver will transmit it when conditions allow.

Signal readings remain useful for diagnostics, installation checks and monitoring.

PPP Status​

http://<rockremote ip>/api/public/ppp-status

Responses:

  • up
  • down

Iridium services​

http://<rockremote ip>/api/public/iridium-services

Response is a comma separated list of the services by name:

example Messaging, Packet Data

IMT topics​

Will return the list of IMT topics that are provisioned to the Iridium Modem.

http://<rockremote ip>/api/public/imt-topics

Still in development. Response:

  • Unknown

Trigger Reboot​

Local devices can make a HTTP reboot request on port 80 to the local IP address of the RockREMOTE Mini (default 192.168.250.1), as follows:

http://<rockremote ip>/api/public/reboot

Current Time​

Local devices attached to the LAN may need to synchronise their time with the RockREMOTE Mini. When the RockREMOTE Mini has synchronised its time with a GNSS fix or NTP Server it can report the Unix time, which is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970.

Devices can make a HTTP GET request on port 80 to the local IP address of the RockREMOTE Mini (default 192.168.250.1), as follows:

http://<rockremote ip>/api/public/current-time

The response to this request will either be an empty string or the Unix Epoch time. An empty string response indicates that the RockREMOTE Mini has not successfully synchronised with a valid time source.

Free Memory​

(Available from v0.18)

Returns the free heap memory.

192.168.250.1/api/public/free-memory

Device Temperature​

(Available from v0.18)

Returns the temperature from the surface of the main PCBA (Centre edge)

192.168.250.1/api/public/device-temperature

Microcontroller Temperature​

(Available from v0.18)

Returns the temperature reported by the MCU.

192.168.250.1/api/public/mcu-temperature

Location​

(Available from v0.28)

Returns the current GNSS location fix.

192.168.250.1/api/public/location

Response is a JSON object:

  • fix - true if a valid GNSS fix has been acquired, otherwise false
  • latitude - latitude in decimal degrees
  • longitude - longitude in decimal degrees
  • altitude - altitude in metres
  • time - Unix Epoch time of the fix
  • satellites - number of satellites used in the fix
  • quality - fix quality indicator
  • hdop - horizontal dilution of precision
  • speed - speed over ground
  • heading - heading/course over ground

example:

{
"fix": true,
"latitude": 50.123456,
"longitude": -4.123456,
"altitude": 12.3,
"time": 1700000000,
"satellites": 8,
"quality": 1,
"hdop": 0.9,
"speed": 0.0,
"heading": 0.0
}

Set Location​

(Available from v0.29)

Sets the current location and time on the RockREMOTE Mini from a device on the LAN. This is the REST equivalent of the AT+GNSS= serial command, and accepts the same arguments.

192.168.250.1/api/public/set-location=<epoch>,<latitude>,<longitude>,<altitude>

important

This endpoint is only accepted when the internal GNSS receiver is disabled ("GNSS": { "Enabled": false } in the User Configuration).

Arguments (all four are required):

  • epoch - Unix Epoch time of the fix, in seconds (must be non-zero)
  • latitude - latitude in decimal degrees, -90 to 90 (positive values are north)
  • longitude - longitude in decimal degrees, -180 to 180 (positive values are east)
  • altitude - altitude in metres, minimum -450

Setting the location also sets the RockREMOTE Mini's clock to the supplied epoch time. The new position is then reported by the Location endpoint and used for position reports.

example:

192.168.250.1/api/public/set-location=1713445252,51.8644,-2.48603,140.5

Response is a JSON object. On success:

{"status":"OK"}

On failure, status is ERROR and the response includes an error code and message:

CodeMessageCause
1GNSS must be disabled before setting a manual fixThe internal GNSS receiver is enabled
2Expected /set-location=<epoch>,<lat>,<long>,<alt>The = and arguments are missing
2Expected 4 comma-separated fields: epoch,lat,long,altFewer than four arguments were supplied
3Value out of rangeThe epoch is zero, or the latitude, longitude or altitude is out of range

example:

{"status":"ERROR","code":1,"message":"GNSS must be disabled before setting a manual fix"}

System Information​

(Available from v0.28)

Returns detailed system, firmware and Iridium modem information.

192.168.250.1/api/public/system-information

Response is a JSON object:

  • serial - device serial number
  • productType - device product type
  • appVersion - application firmware version
  • iridiumVersion - Iridium modem firmware version
  • bleVersion - Bluetooth module firmware version
  • bootloaderVersion - bootloader version
  • ubloxVersion - u-blox GNSS receiver firmware version
  • uptime - time in seconds since the device last started
  • time - current Unix Epoch time
  • pcbTemperature - temperature from the surface of the main PCBA
  • mcuTemperature - temperature reported by the MCU
  • supplyCurrent_mA - supply current in mA
  • powerConsumption_mW - power consumption in mW
  • freeHeap - free heap memory
  • lastResetCause - cause of the last device reset
  • imei - Iridium modem IMEI
  • modemSerial - Iridium modem serial number
  • iccid - SIM ICCID
  • model - Iridium modem model
  • signalBars - current Iridium signal bars (0 to 5)
  • signalStrength - current Iridium signal level in dBm
  • messagingProvisioned - true if Iridium messaging services are provisioned
  • dataProvisioned - true if Iridium packet data services are provisioned
  • pppUp - true if the PPP link is up
  • pppPacketsSent - number of PPP packets sent
  • pppPacketsReceived - number of PPP packets received
  • ethUp - true if the Ethernet link is up
  • ethPacketsSent - number of Ethernet packets sent
  • ethPacketsReceived - number of Ethernet packets received

example:

{
"serial": "word1.word2.word3",
"productType": "PRODUCT_TYPE_MINI",
"appVersion": "00.28.00",
"iridiumVersion": "1.2.3",
"bleVersion": "00.01.00",
"bootloaderVersion": "00.01.00",
"ubloxVersion": "EXT 02.01",
"uptime": 12345,
"time": "1700000000",
"pcbTemperature": 25,
"mcuTemperature": 27,
"supplyCurrent_mA": 120.5,
"powerConsumption_mW": 600,
"freeHeap": 102400,
"lastResetCause": "RESET_CAUSE_POWER_ON_POWER_DOWN_RESET",
"imei": "300434065234570",
"modemSerial": "MB12345",
"iccid": "89882280666000000000",
"model": "9770",
"signalBars": 4,
"signalStrength": -113,
"messagingProvisioned": true,
"dataProvisioned": true,
"pppUp": true,
"pppPacketsSent": 100,
"pppPacketsReceived": 98,
"ethUp": true,
"ethPacketsSent": 50,
"ethPacketsReceived": 45
}