Skip to content

Glossary ​

A quick lookup for terms used in the device API. Follow the links for wire formats, supported operations and message-specific behavior.

Messages and fields ​

TermDescription
Message / frameOne unit of communication encoded using the Lightbug protocol. “Frame” refers to its encoded form on the wire.
Message type (MT)The number identifying a message's purpose and payload format, such as MT35 for Device IDs. It is not an individual Message ID.
PrefixOptional bytes before a message to help identify it in a byte stream: 0x4c, 0x42 (LB in ASCII).
HeaderShared metadata fields such as Message ID, Method and Status. The outer version, length and message type are separate from header data in the message structure.
PayloadThe message-specific data fields. A field named “Payload” may itself contain application bytes; its meaning is defined on the relevant message page.
Header field IDA uint8 identifier selecting a shared header field, not the data type of its value. Also called a header field type.
Payload field IDA uint8 identifier selecting a field within a message's payload. Its meaning and value type depend on the message type. Also called a payload field type.
bBytesA byte array that represents a length and that amount of data in bytes.
The length prefix is a uint8 (1 byte) for data type IDs 0–127, or a little-endian uint16 (2 bytes) for data type IDs 128–255.
A bByte entry for a sub-128 field might be 3 9 9 9, where 3 is the length, and 9 9 9 is the data.
A bByte entry for a field with ID 128 or greater might be 3 0 9 9 9, where 3 is the length, and 9 9 9 is the data.
See structure.
Little-endianByte order with the least-significant byte first, used for protocol integers.

Identifiers and versions ​

TermDescription
Message IDIdentifies an individual message for tracking or correlating a reply; distinct from Message Type and Device ID.
Response toIdentifies the request or subscription a message responds to. See reply correlation.
Client IDIdentifies the client sending a message. Its interpretation depends on the context; Lightbug cloud services associate it with a Device ID.
Device IDThe Lightbug device identifier used by the cloud API, distinct from the modem's IMEI, the SIM's ICCID and the device serial number.
Subscription IDIdentifies a subscription within a message type. Omitting it addresses the default subscription, ID 0.
Protocol versionThe version of the outer message encoding, currently V3. It is independent of Message Version and firmware version.
Message VersionSelects or identifies a message-specific payload format where supported. Supported values and defaults are defined by each message.
Firmware versionIdentifies the software running on a device. Its encoding depends on the target and is separate from protocol and message-format versions.

Requests and updates ​

TermDescription
MethodThe requested operation, such as GET, SET, SUBSCRIBE or UNSUBSCRIBE. Supported methods and omission rules depend on the message.
ACK / typed responseAn ACK (MT5) acknowledges another message; a typed response carries the operation's documented reply payload. Neither a reply nor an ACK necessarily means the operation is complete.
Subscription / publicationA subscription requests later updates of a message type. A publication is an update, distinct from the subscription's control reply.
StatusA shared header reporting the reply's outcome or progress. It is separate from any message-specific payload field named Status.
TermDescription
GNSS / GPSGNSS is satellite-based positioning; GPS is one of its satellite constellations.
RTK / correction data / RTCMRTK improves GNSS positioning using correction data, commonly carried in RTCM formats.
ToitA programming language for IoT devices, supported by the Lightbug SDK.
ESP32A microcontroller with WiFi and Bluetooth, used in some Lightbug devices.