Skip to main content

Command Response API

note

Minimum version v0.12.1

Connection Status​

Local devices attached to the LAN may need to check when the RockREMOTE 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 (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

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 (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. When the RockREMOTE 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 (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 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
}

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
}