MQTT for IoT: From Edge Sensors to Satellite Uplinks
How the lightweight publish-subscribe protocol powers billions of devices—including those beyond cellular reach
A soil moisture sensor in the Sahara. A pipeline monitor in the Arctic. A weather buoy in the Pacific. These devices share one challenge: they must transmit critical data from locations where traditional networks don’t exist. The protocol making this possible? MQTT—and increasingly, it’s doing so through satellite links.
This guide covers MQTT fundamentals, practical implementation patterns, and the emerging frontier of satellite IoT communications.
Why MQTT Dominates IoT
MQTT (Message Queuing Telemetry Transport) was designed in 1999 for monitoring oil pipelines via satellite—making its current resurgence in satellite IoT remarkably fitting. Its design principles remain relevant:
Minimal overhead: 2-byte fixed header vs HTTP’s hundreds of bytes
Publish-subscribe model: Decouples senders from receivers
Quality of Service levels: Guarantees delivery when needed
import paho.mqtt.client as mqtt
import json
import time
# Connect to brokerclient = mqtt.Client(client_id="sensor-001", protocol=mqtt.MQTTv5)
client.connect("broker.example.com", 1883, keepalive=60)
# Publish sensor readingswhileTrue:
payload = {
"temperature": 23.5,
"humidity": 65,
"timestamp": time.time()
}
client.publish(
topic="farm/greenhouse/climate",
payload=json.dumps(payload),
qos=1, # At least once delivery retain=True# Store last message for new subscribers )
time.sleep(60)
# Subscribe to broker system topicsdefmonitor_broker(client):
client.subscribe("$SYS/#")
defon_sys_message(client, userdata, msg):
if"clients/connected"in msg.topic:
print(f"Connected clients: {msg.payload.decode()}")
elif"messages/received"in msg.topic:
print(f"Messages/sec: {msg.payload.decode()}")
Key metrics to track:
Connected clients
Messages per second (in/out)
Subscription count
Retained messages
Packet drop rate
Conclusion
MQTT’s lightweight design makes it ideal for IoT deployments across the connectivity spectrum—from factory floors with reliable WiFi to remote installations dependent on satellite links. The protocol’s publish-subscribe model, combined with edge aggregation techniques like MQTT-MFA, enables efficient data collection even when every byte has significant cost.
Key takeaways:
Choose QoS carefully: Match delivery guarantees to data criticality
Aggregate at the edge: Reduce satellite costs with local buffering
Report by exception: Transmit only meaningful changes
Secure everything: TLS, authentication, and ACLs are non-negotiable
At Sajima Solutions, we design IoT architectures that work from the edge to the cloud—including satellite-connected deployments in the world’s most remote locations. Contact us to discuss your IoT infrastructure needs.